You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/8909.bbc6aa48.async.js

765 lines
2.4 MiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

!(function(){var wa=(xt,Te)=>(Te=Symbol[xt])?Te:Symbol.for("Symbol."+xt),tu=xt=>{throw TypeError(xt)};var iu=function(xt,Te){this[0]=xt,this[1]=Te};var Jo=xt=>{var Te=xt[wa("asyncIterator")],i=!1,h,H={};return Te==null?(Te=xt[wa("iterator")](),h=O=>H[O]=P=>Te[O](P)):(Te=Te.call(xt),h=O=>H[O]=P=>{if(i){if(i=!1,O==="throw")throw P;return P}return i=!0,{done:!1,value:new iu(new Promise(D=>{var G=Te[O](P);G instanceof Object||tu("Object expected"),D(G)}),1)}}),H[wa("iterator")]=()=>H,h("next"),"throw"in Te?h("throw"):H.throw=O=>{throw O},"return"in Te&&h("return"),H};(self.webpackChunk=self.webpackChunk||[]).push([[8909],{10628:function(){"use strict"},51488:function(){"use strict"},86251:function(xt,Te){"use strict";Te.byteLength=I,Te.toByteArray=E,Te.fromByteArray=g;for(var i=[],h=[],H=typeof Uint8Array!="undefined"?Uint8Array:Array,O="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",P=0,D=O.length;P<D;++P)i[P]=O[P],h[O.charCodeAt(P)]=P;h[45]=62,h[95]=63;function G(w){var s=w.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var C=w.indexOf("=");C===-1&&(C=s);var f=C===s?0:4-C%4;return[C,f]}function I(w){var s=G(w),C=s[0],f=s[1];return(C+f)*3/4-f}function y(w,s,C){return(s+C)*3/4-C}function E(w){var s,C=G(w),f=C[0],v=C[1],r=new H(y(w,f,v)),l=0,m=v>0?f-4:f,c;for(c=0;c<m;c+=4)s=h[w.charCodeAt(c)]<<18|h[w.charCodeAt(c+1)]<<12|h[w.charCodeAt(c+2)]<<6|h[w.charCodeAt(c+3)],r[l++]=s>>16&255,r[l++]=s>>8&255,r[l++]=s&255;return v===2&&(s=h[w.charCodeAt(c)]<<2|h[w.charCodeAt(c+1)]>>4,r[l++]=s&255),v===1&&(s=h[w.charCodeAt(c)]<<10|h[w.charCodeAt(c+1)]<<4|h[w.charCodeAt(c+2)]>>2,r[l++]=s>>8&255,r[l++]=s&255),r}function p(w){return i[w>>18&63]+i[w>>12&63]+i[w>>6&63]+i[w&63]}function a(w,s,C){for(var f,v=[],r=s;r<C;r+=3)f=(w[r]<<16&16711680)+(w[r+1]<<8&65280)+(w[r+2]&255),v.push(p(f));return v.join("")}function g(w){for(var s,C=w.length,f=C%3,v=[],r=16383,l=0,m=C-f;l<m;l+=r)v.push(a(w,l,l+r>m?m:l+r));return f===1?(s=w[C-1],v.push(i[s>>2]+i[s<<4&63]+"==")):f===2&&(s=(w[C-2]<<8)+w[C-1],v.push(i[s>>10]+i[s>>4&63]+i[s<<2&63]+"=")),v.join("")}},19208:function(xt,Te,i){"use strict";var h;var H=i(86251),O=i(67467),P=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Te.lW=y,h=l,Te.h2=50;var D=2147483647;h=D,y.TYPED_ARRAY_SUPPORT=G(),!y.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function G(){try{var ne=new Uint8Array(1),W={foo:function(){return 42}};return Object.setPrototypeOf(W,Uint8Array.prototype),Object.setPrototypeOf(ne,W),ne.foo()===42}catch($){return!1}}Object.defineProperty(y.prototype,"parent",{enumerable:!0,get:function(){if(y.isBuffer(this))return this.buffer}}),Object.defineProperty(y.prototype,"offset",{enumerable:!0,get:function(){if(y.isBuffer(this))return this.byteOffset}});function I(ne){if(ne>D)throw new RangeError('The value "'+ne+'" is invalid for option "size"');var W=new Uint8Array(ne);return Object.setPrototypeOf(W,y.prototype),W}function y(ne,W,$){if(typeof ne=="number"){if(typeof W=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return g(ne)}return E(ne,W,$)}y.poolSize=8192;function E(ne,W,$){if(typeof ne=="string")return w(ne,W);if(ArrayBuffer.isView(ne))return C(ne);if(ne==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof ne);if(We(ne,ArrayBuffer)||ne&&We(ne.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(We(ne,SharedArrayBuffer)||ne&&We(ne.buffer,SharedArrayBuffer)))return f(ne,W,$);if(typeof ne=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var ee=ne.valueOf&&ne.valueOf();if(ee!=null&&ee!==ne)return y.from(ee,W,$);var he=v(ne);if(he)return he;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof ne[Symbol.toPrimitive]=="function")return y.from(ne[Symbol.toPrimitive]("string"),W,$);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof ne)}y.from=function(ne,W,$){return E(ne,W,$)},Object.setPrototypeOf(y.prototype,Uint8Array.prototype),Object.setPrototypeOf(y,Uint8Array);function p(ne){if(typeof ne!="number")throw new TypeError('"size" argument must be of type number');if(ne<0)throw new RangeError('The value "'+ne+'" is invalid for option "size"')}function a(ne,W,$){return p(ne),ne<=0?I(ne):W!==void 0?typeof $=="string"?I(ne).fill(W,$):I(ne).fill(W):I(ne)}y.alloc=function(ne,W,$){return a(ne,W,$)};function g(ne){return p(ne),I(ne<0?0:r(ne)|0)}y.allocUnsafe=function(ne){return g(ne)},y.allocUnsafeSlow=function(ne){return g(ne)};function w(ne,W){if((typeof W!="string"||W==="")&&(W="utf8"),!y.isEncoding(W))throw new TypeError("Unknown encoding: "+W);var $=m(ne,W)|0,ee=I($),he=ee.write(ne,W);return he!==$&&(ee=ee.slice(0,he)),ee}function s(ne){for(var W=ne.length<0?0:r(ne.length)|0,$=I(W),ee=0;ee<W;ee+=1)$[ee]=ne[ee]&255;return $}function C(ne){if(We(ne,Uint8Array)){var W=new Uint8Array(ne);return f(W.buffer,W.byteOffset,W.byteLength)}return s(ne)}function f(ne,W,$){if(W<0||ne.byteLength<W)throw new RangeError('"offset" is outside of buffer bounds');if(ne.byteLength<W+($||0))throw new RangeError('"length" is outside of buffer bounds');var ee;return W===void 0&&$===void 0?ee=new Uint8Array(ne):$===void 0?ee=new Uint8Array(ne,W):ee=new Uint8Array(ne,W,$),Object.setPrototypeOf(ee,y.prototype),ee}function v(ne){if(y.isBuffer(ne)){var W=r(ne.length)|0,$=I(W);return $.length===0||ne.copy($,0,0,W),$}if(ne.length!==void 0)return typeof ne.length!="number"||ae(ne.length)?I(0):s(ne);if(ne.type==="Buffer"&&Array.isArray(ne.data))return s(ne.data)}function r(ne){if(ne>=D)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+D.toString(16)+" bytes");return ne|0}function l(ne){return+ne!=ne&&(ne=0),y.alloc(+ne)}y.isBuffer=function(W){return W!=null&&W._isBuffer===!0&&W!==y.prototype},y.compare=function(W,$){if(We(W,Uint8Array)&&(W=y.from(W,W.offset,W.byteLength)),We($,Uint8Array)&&($=y.from($,$.offset,$.byteLength)),!y.isBuffer(W)||!y.isBuffer($))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(W===$)return 0;for(var ee=W.length,he=$.length,Pe=0,Ye=Math.min(ee,he);Pe<Ye;++Pe)if(W[Pe]!==$[Pe]){ee=W[Pe],he=$[Pe];break}return ee<he?-1:he<ee?1:0},y.isEncoding=function(W){switch(String(W).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},y.concat=function(W,$){if(!Array.isArray(W))throw new TypeError('"list" argument must be an Array of Buffers');if(W.length===0)return y.alloc(0);var ee;if($===void 0)for($=0,ee=0;ee<W.length;++ee)$+=W[ee].length;var he=y.allocUnsafe($),Pe=0;for(ee=0;ee<W.length;++ee){var Ye=W[ee];if(We(Ye,Uint8Array))Pe+Ye.length>he.length?y.from(Ye).copy(he,Pe):Uint8Array.prototype.set.call(he,Ye,Pe);else if(y.isBuffer(Ye))Ye.copy(he,Pe);else throw new TypeError('"list" argument must be an Array of Buffers');Pe+=Ye.length}return he};function m(ne,W){if(y.isBuffer(ne))return ne.length;if(ArrayBuffer.isView(ne)||We(ne,ArrayBuffer))return ne.byteLength;if(typeof ne!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof ne);var $=ne.length,ee=arguments.length>2&&arguments[2]===!0;if(!ee&&$===0)return 0;for(var he=!1;;)switch(W){case"ascii":case"latin1":case"binary":return $;case"utf8":case"utf-8":return Fe(ne).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return $*2;case"hex":return $>>>1;case"base64":return ce(ne).length;default:if(he)return ee?-1:Fe(ne).length;W=(""+W).toLowerCase(),he=!0}}y.byteLength=m;function c(ne,W,$){var ee=!1;if((W===void 0||W<0)&&(W=0),W>this.length||(($===void 0||$>this.length)&&($=this.length),$<=0)||($>>>=0,W>>>=0,$<=W))return"";for(ne||(ne="utf8");;)switch(ne){case"hex":return j(this,W,$);case"utf8":case"utf-8":return J(this,W,$);case"ascii":return le(this,W,$);case"latin1":case"binary":return xe(this,W,$);case"base64":return De(this,W,$);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,W,$);default:if(ee)throw new TypeError("Unknown encoding: "+ne);ne=(ne+"").toLowerCase(),ee=!0}}y.prototype._isBuffer=!0;function b(ne,W,$){var ee=ne[W];ne[W]=ne[$],ne[$]=ee}y.prototype.swap16=function(){var W=this.length;if(W%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var $=0;$<W;$+=2)b(this,$,$+1);return this},y.prototype.swap32=function(){var W=this.length;if(W%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var $=0;$<W;$+=4)b(this,$,$+3),b(this,$+1,$+2);return this},y.prototype.swap64=function(){var W=this.length;if(W%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var $=0;$<W;$+=8)b(this,$,$+7),b(this,$+1,$+6),b(this,$+2,$+5),b(this,$+3,$+4);return this},y.prototype.toString=function(){var W=this.length;return W===0?"":arguments.length===0?J(this,0,W):c.apply(this,arguments)},y.prototype.toLocaleString=y.prototype.toString,y.prototype.equals=function(W){if(!y.isBuffer(W))throw new TypeError("Argument must be a Buffer");return this===W?!0:y.compare(this,W)===0},y.prototype.inspect=function(){var W="",$=Te.h2;return W=this.toString("hex",0,$).replace(/(.{2})/g,"$1 ").trim(),this.length>$&&(W+=" ... "),"<Buffer "+W+">"},P&&(y.prototype[P]=y.prototype.inspect),y.prototype.compare=function(W,$,ee,he,Pe){if(We(W,Uint8Array)&&(W=y.from(W,W.offset,W.byteLength)),!y.isBuffer(W))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof W);if($===void 0&&($=0),ee===void 0&&(ee=W?W.length:0),he===void 0&&(he=0),Pe===void 0&&(Pe=this.length),$<0||ee>W.length||he<0||Pe>this.length)throw new RangeError("out of range index");if(he>=Pe&&$>=ee)return 0;if(he>=Pe)return-1;if($>=ee)return 1;if($>>>=0,ee>>>=0,he>>>=0,Pe>>>=0,this===W)return 0;for(var Ye=Pe-he,it=ee-$,rt=Math.min(Ye,it),vt=this.slice(he,Pe),Ft=W.slice($,ee),Ht=0;Ht<rt;++Ht)if(vt[Ht]!==Ft[Ht]){Ye=vt[Ht],it=Ft[Ht];break}return Ye<it?-1:it<Ye?1:0};function L(ne,W,$,ee,he){if(ne.length===0)return-1;if(typeof $=="string"?(ee=$,$=0):$>2147483647?$=2147483647:$<-2147483648&&($=-2147483648),$=+$,ae($)&&($=he?0:ne.length-1),$<0&&($=ne.length+$),$>=ne.length){if(he)return-1;$=ne.length-1}else if($<0)if(he)$=0;else return-1;if(typeof W=="string"&&(W=y.from(W,ee)),y.isBuffer(W))return W.length===0?-1:T(ne,W,$,ee,he);if(typeof W=="number")return W=W&255,typeof Uint8Array.prototype.indexOf=="function"?he?Uint8Array.prototype.indexOf.call(ne,W,$):Uint8Array.prototype.lastIndexOf.call(ne,W,$):T(ne,[W],$,ee,he);throw new TypeError("val must be string, number or Buffer")}function T(ne,W,$,ee,he){var Pe=1,Ye=ne.length,it=W.length;if(ee!==void 0&&(ee=String(ee).toLowerCase(),ee==="ucs2"||ee==="ucs-2"||ee==="utf16le"||ee==="utf-16le")){if(ne.length<2||W.length<2)return-1;Pe=2,Ye/=2,it/=2,$/=2}function rt(Xe,Ze){return Pe===1?Xe[Ze]:Xe.readUInt16BE(Ze*Pe)}var vt;if(he){var Ft=-1;for(vt=$;vt<Ye;vt++)if(rt(ne,vt)===rt(W,Ft===-1?0:vt-Ft)){if(Ft===-1&&(Ft=vt),vt-Ft+1===it)return Ft*Pe}else Ft!==-1&&(vt-=vt-Ft),Ft=-1}else for($+it>Ye&&($=Ye-it),vt=$;vt>=0;vt--){for(var Ht=!0,ze=0;ze<it;ze++)if(rt(ne,vt+ze)!==rt(W,ze)){Ht=!1;break}if(Ht)return vt}return-1}y.prototype.includes=function(W,$,ee){return this.indexOf(W,$,ee)!==-1},y.prototype.indexOf=function(W,$,ee){return L(this,W,$,ee,!0)},y.prototype.lastIndexOf=function(W,$,ee){return L(this,W,$,ee,!1)};function M(ne,W,$,ee){$=Number($)||0;var he=ne.length-$;ee?(ee=Number(ee),ee>he&&(ee=he)):ee=he;var Pe=W.length;ee>Pe/2&&(ee=Pe/2);for(var Ye=0;Ye<ee;++Ye){var it=parseInt(W.substr(Ye*2,2),16);if(ae(it))return Ye;ne[$+Ye]=it}return Ye}function z(ne,W,$,ee){return Ve(Fe(W,ne.length-$),ne,$,ee)}function oe(ne,W,$,ee){return Ve(we(W),ne,$,ee)}function se(ne,W,$,ee){return Ve(ce(W),ne,$,ee)}function re(ne,W,$,ee){return Ve(ue(W,ne.length-$),ne,$,ee)}y.prototype.write=function(W,$,ee,he){if($===void 0)he="utf8",ee=this.length,$=0;else if(ee===void 0&&typeof $=="string")he=$,ee=this.length,$=0;else if(isFinite($))$=$>>>0,isFinite(ee)?(ee=ee>>>0,he===void 0&&(he="utf8")):(he=ee,ee=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var Pe=this.length-$;if((ee===void 0||ee>Pe)&&(ee=Pe),W.length>0&&(ee<0||$<0)||$>this.length)throw new RangeError("Attempt to write outside buffer bounds");he||(he="utf8");for(var Ye=!1;;)switch(he){case"hex":return M(this,W,$,ee);case"utf8":case"utf-8":return z(this,W,$,ee);case"ascii":case"latin1":case"binary":return oe(this,W,$,ee);case"base64":return se(this,W,$,ee);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return re(this,W,$,ee);default:if(Ye)throw new TypeError("Unknown encoding: "+he);he=(""+he).toLowerCase(),Ye=!0}},y.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function De(ne,W,$){return W===0&&$===ne.length?H.fromByteArray(ne):H.fromByteArray(ne.slice(W,$))}function J(ne,W,$){$=Math.min(ne.length,$);for(var ee=[],he=W;he<$;){var Pe=ne[he],Ye=null,it=Pe>239?4:Pe>223?3:Pe>191?2:1;if(he+it<=$){var rt,vt,Ft,Ht;switch(it){case 1:Pe<128&&(Ye=Pe);break;case 2:rt=ne[he+1],(rt&192)===128&&(Ht=(Pe&31)<<6|rt&63,Ht>127&&(Ye=Ht));break;case 3:rt=ne[he+1],vt=ne[he+2],(rt&192)===128&&(vt&192)===128&&(Ht=(Pe&15)<<12|(rt&63)<<6|vt&63,Ht>2047&&(Ht<55296||Ht>57343)&&(Ye=Ht));break;case 4:rt=ne[he+1],vt=ne[he+2],Ft=ne[he+3],(rt&192)===128&&(vt&192)===128&&(Ft&192)===128&&(Ht=(Pe&15)<<18|(rt&63)<<12|(vt&63)<<6|Ft&63,Ht>65535&&Ht<1114112&&(Ye=Ht))}}Ye===null?(Ye=65533,it=1):Ye>65535&&(Ye-=65536,ee.push(Ye>>>10&1023|55296),Ye=56320|Ye&1023),ee.push(Ye),he+=it}return Q(ee)}var Z=4096;function Q(ne){var W=ne.length;if(W<=Z)return String.fromCharCode.apply(String,ne);for(var $="",ee=0;ee<W;)$+=String.fromCharCode.apply(String,ne.slice(ee,ee+=Z));return $}function le(ne,W,$){var ee="";$=Math.min(ne.length,$);for(var he=W;he<$;++he)ee+=String.fromCharCode(ne[he]&127);return ee}function xe(ne,W,$){var ee="";$=Math.min(ne.length,$);for(var he=W;he<$;++he)ee+=String.fromCharCode(ne[he]);return ee}function j(ne,W,$){var ee=ne.length;(!W||W<0)&&(W=0),(!$||$<0||$>ee)&&($=ee);for(var he="",Pe=W;Pe<$;++Pe)he+=fe[ne[Pe]];return he}function R(ne,W,$){for(var ee=ne.slice(W,$),he="",Pe=0;Pe<ee.length-1;Pe+=2)he+=String.fromCharCode(ee[Pe]+ee[Pe+1]*256);return he}y.prototype.slice=function(W,$){var ee=this.length;W=~~W,$=$===void 0?ee:~~$,W<0?(W+=ee,W<0&&(W=0)):W>ee&&(W=ee),$<0?($+=ee,$<0&&($=0)):$>ee&&($=ee),$<W&&($=W);var he=this.subarray(W,$);return Object.setPrototypeOf(he,y.prototype),he};function V(ne,W,$){if(ne%1!==0||ne<0)throw new RangeError("offset is not uint");if(ne+W>$)throw new RangeError("Trying to access beyond buffer length")}y.prototype.readUintLE=y.prototype.readUIntLE=function(W,$,ee){W=W>>>0,$=$>>>0,ee||V(W,$,this.length);for(var he=this[W],Pe=1,Ye=0;++Ye<$&&(Pe*=256);)he+=this[W+Ye]*Pe;return he},y.prototype.readUintBE=y.prototype.readUIntBE=function(W,$,ee){W=W>>>0,$=$>>>0,ee||V(W,$,this.length);for(var he=this[W+--$],Pe=1;$>0&&(Pe*=256);)he+=this[W+--$]*Pe;return he},y.prototype.readUint8=y.prototype.readUInt8=function(W,$){return W=W>>>0,$||V(W,1,this.length),this[W]},y.prototype.readUint16LE=y.prototype.readUInt16LE=function(W,$){return W=W>>>0,$||V(W,2,this.length),this[W]|this[W+1]<<8},y.prototype.readUint16BE=y.prototype.readUInt16BE=function(W,$){return W=W>>>0,$||V(W,2,this.length),this[W]<<8|this[W+1]},y.prototype.readUint32LE=y.prototype.readUInt32LE=function(W,$){return W=W>>>0,$||V(W,4,this.length),(this[W]|this[W+1]<<8|this[W+2]<<16)+this[W+3]*16777216},y.prototype.readUint32BE=y.prototype.readUInt32BE=function(W,$){return W=W>>>0,$||V(W,4,this.length),this[W]*16777216+(this[W+1]<<16|this[W+2]<<8|this[W+3])},y.prototype.readIntLE=function(W,$,ee){W=W>>>0,$=$>>>0,ee||V(W,$,this.length);for(var he=this[W],Pe=1,Ye=0;++Ye<$&&(Pe*=256);)he+=this[W+Ye]*Pe;return Pe*=128,he>=Pe&&(he-=Math.pow(2,8*$)),he},y.prototype.readIntBE=function(W,$,ee){W=W>>>0,$=$>>>0,ee||V(W,$,this.length);for(var he=$,Pe=1,Ye=this[W+--he];he>0&&(Pe*=256);)Ye+=this[W+--he]*Pe;return Pe*=128,Ye>=Pe&&(Ye-=Math.pow(2,8*$)),Ye},y.prototype.readInt8=function(W,$){return W=W>>>0,$||V(W,1,this.length),this[W]&128?(255-this[W]+1)*-1:this[W]},y.prototype.readInt16LE=function(W,$){W=W>>>0,$||V(W,2,this.length);var ee=this[W]|this[W+1]<<8;return ee&32768?ee|4294901760:ee},y.prototype.readInt16BE=function(W,$){W=W>>>0,$||V(W,2,this.length);var ee=this[W+1]|this[W]<<8;return ee&32768?ee|4294901760:ee},y.prototype.readInt32LE=function(W,$){return W=W>>>0,$||V(W,4,this.length),this[W]|this[W+1]<<8|this[W+2]<<16|this[W+3]<<24},y.prototype.readInt32BE=function(W,$){return W=W>>>0,$||V(W,4,this.length),this[W]<<24|this[W+1]<<16|this[W+2]<<8|this[W+3]},y.prototype.readFloatLE=function(W,$){return W=W>>>0,$||V(W,4,this.length),O.read(this,W,!0,23,4)},y.prototype.readFloatBE=function(W,$){return W=W>>>0,$||V(W,4,this.length),O.read(this,W,!1,23,4)},y.prototype.readDoubleLE=function(W,$){return W=W>>>0,$||V(W,8,this.length),O.read(this,W,!0,52,8)},y.prototype.readDoubleBE=function(W,$){return W=W>>>0,$||V(W,8,this.length),O.read(this,W,!1,52,8)};function K(ne,W,$,ee,he,Pe){if(!y.isBuffer(ne))throw new TypeError('"buffer" argument must be a Buffer instance');if(W>he||W<Pe)throw new RangeError('"value" argument is out of bounds');if($+ee>ne.length)throw new RangeError("Index out of range")}y.prototype.writeUintLE=y.prototype.writeUIntLE=function(W,$,ee,he){if(W=+W,$=$>>>0,ee=ee>>>0,!he){var Pe=Math.pow(2,8*ee)-1;K(this,W,$,ee,Pe,0)}var Ye=1,it=0;for(this[$]=W&255;++it<ee&&(Ye*=256);)this[$+it]=W/Ye&255;return $+ee},y.prototype.writeUintBE=y.prototype.writeUIntBE=function(W,$,ee,he){if(W=+W,$=$>>>0,ee=ee>>>0,!he){var Pe=Math.pow(2,8*ee)-1;K(this,W,$,ee,Pe,0)}var Ye=ee-1,it=1;for(this[$+Ye]=W&255;--Ye>=0&&(it*=256);)this[$+Ye]=W/it&255;return $+ee},y.prototype.writeUint8=y.prototype.writeUInt8=function(W,$,ee){return W=+W,$=$>>>0,ee||K(this,W,$,1,255,0),this[$]=W&255,$+1},y.prototype.writeUint16LE=y.prototype.writeUInt16LE=function(W,$,ee){return W=+W,$=$>>>0,ee||K(this,W,$,2,65535,0),this[$]=W&255,this[$+1]=W>>>8,$+2},y.prototype.writeUint16BE=y.prototype.writeUInt16BE=function(W,$,ee){return W=+W,$=$>>>0,ee||K(this,W,$,2,65535,0),this[$]=W>>>8,this[$+1]=W&255,$+2},y.prototype.writeUint32LE=y.prototype.writeUInt32LE=function(W,$,ee){return W=+W,$=$>>>0,ee||K(this,W,$,4,4294967295,0),this[$+3]=W>>>24,this[$+2]=W>>>16,this[$+1]=W>>>8,this[$]=W&255,$+4},y.prototype.writeUint32BE=y.prototype.writeUInt32BE=function(W,$,ee){return W=+W,$=$>>>0,ee||K(this,W,$,4,4294967295,0),this[$]=W>>>24,this[$+1]=W>>>16,this[$+2]=W>>>8,this[$+3]=W&255,$+4},y.prototype.writeIntLE=function(W,$,ee,he){if(W=+W,$=$>>>0,!he){var Pe=Math.pow(2,8*ee-1);K(this,W,$,ee,Pe-1,-Pe)}var Ye=0,it=1,rt=0;for(this[$]=W&255;++Ye<ee&&(it*=256);)W<0&&rt===0&&this[$+Ye-1]!==0&&(rt=1),this[$+Ye]=(W/it>>0)-rt&255;return $+ee},y.prototype.writeIntBE=function(W,$,ee,he){if(W=+W,$=$>>>0,!he){var Pe=Math.pow(2,8*ee-1);K(this,W,$,ee,Pe-1,-Pe)}var Ye=ee-1,it=1,rt=0;for(this[$+Ye]=W&255;--Ye>=0&&(it*=256);)W<0&&rt===0&&this[$+Ye+1]!==0&&(rt=1),this[$+Ye]=(W/it>>0)-rt&255;return $+ee},y.prototype.writeInt8=function(W,$,ee){return W=+W,$=$>>>0,ee||K(this,W,$,1,127,-128),W<0&&(W=255+W+1),this[$]=W&255,$+1},y.prototype.writeInt16LE=function(W,$,ee){return W=+W,$=$>>>0,ee||K(this,W,$,2,32767,-32768),this[$]=W&255,this[$+1]=W>>>8,$+2},y.prototype.writeInt16BE=function(W,$,ee){return W=+W,$=$>>>0,ee||K(this,W,$,2,32767,-32768),this[$]=W>>>8,this[$+1]=W&255,$+2},y.prototype.writeInt32LE=function(W,$,ee){return W=+W,$=$>>>0,ee||K(this,W,$,4,2147483647,-2147483648),this[$]=W&255,this[$+1]=W>>>8,this[$+2]=W>>>16,this[$+3]=W>>>24,$+4},y.prototype.writeInt32BE=function(W,$,ee){return W=+W,$=$>>>0,ee||K(this,W,$,4,2147483647,-2147483648),W<0&&(W=4294967295+W+1),this[$]=W>>>24,this[$+1]=W>>>16,this[$+2]=W>>>8,this[$+3]=W&255,$+4};function ie(ne,W,$,ee,he,Pe){if($+ee>ne.length)throw new RangeError("Index out of range");if($<0)throw new RangeError("Index out of range")}function te(ne,W,$,ee,he){return W=+W,$=$>>>0,he||ie(ne,W,$,4,34028234663852886e22,-34028234663852886e22),O.write(ne,W,$,ee,23,4),$+4}y.prototype.writeFloatLE=function(W,$,ee){return te(this,W,$,!0,ee)},y.prototype.writeFloatBE=function(W,$,ee){return te(this,W,$,!1,ee)};function ge(ne,W,$,ee,he){return W=+W,$=$>>>0,he||ie(ne,W,$,8,17976931348623157e292,-17976931348623157e292),O.write(ne,W,$,ee,52,8),$+8}y.prototype.writeDoubleLE=function(W,$,ee){return ge(this,W,$,!0,ee)},y.prototype.writeDoubleBE=function(W,$,ee){return ge(this,W,$,!1,ee)},y.prototype.copy=function(W,$,ee,he){if(!y.isBuffer(W))throw new TypeError("argument should be a Buffer");if(ee||(ee=0),!he&&he!==0&&(he=this.length),$>=W.length&&($=W.length),$||($=0),he>0&&he<ee&&(he=ee),he===ee||W.length===0||this.length===0)return 0;if($<0)throw new RangeError("targetStart out of bounds");if(ee<0||ee>=this.length)throw new RangeError("Index out of range");if(he<0)throw new RangeError("sourceEnd out of bounds");he>this.length&&(he=this.length),W.length-$<he-ee&&(he=W.length-$+ee);var Pe=he-ee;return this===W&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin($,ee,he):Uint8Array.prototype.set.call(W,this.subarray(ee,he),$),Pe},y.prototype.fill=function(W,$,ee,he){if(typeof W=="string"){if(typeof $=="string"?(he=$,$=0,ee=this.length):typeof ee=="string"&&(he=ee,ee=this.length),he!==void 0&&typeof he!="string")throw new TypeError("encoding must be a string");if(typeof he=="string"&&!y.isEncoding(he))throw new TypeError("Unknown encoding: "+he);if(W.length===1){var Pe=W.charCodeAt(0);(he==="utf8"&&Pe<128||he==="latin1")&&(W=Pe)}}else typeof W=="number"?W=W&255:typeof W=="boolean"&&(W=Number(W));if($<0||this.length<$||this.length<ee)throw new RangeError("Out of range index");if(ee<=$)return this;$=$>>>0,ee=ee===void 0?this.length:ee>>>0,W||(W=0);var Ye;if(typeof W=="number")for(Ye=$;Ye<ee;++Ye)this[Ye]=W;else{var it=y.isBuffer(W)?W:y.from(W,he),rt=it.length;if(rt===0)throw new TypeError('The value "'+W+'" is invalid for argument "value"');for(Ye=0;Ye<ee-$;++Ye)this[Ye+$]=it[Ye%rt]}return this};var ye=/[^+/0-9A-Za-z-_]/g;function ve(ne){if(ne=ne.split("=")[0],ne=ne.trim().replace(ye,""),ne.length<2)return"";for(;ne.length%4!==0;)ne=ne+"=";return ne}function Fe(ne,W){W=W||1/0;for(var $,ee=ne.length,he=null,Pe=[],Ye=0;Ye<ee;++Ye){if($=ne.charCodeAt(Ye),$>55295&&$<57344){if(!he){if($>56319){(W-=3)>-1&&Pe.push(239,191,189);continue}else if(Ye+1===ee){(W-=3)>-1&&Pe.push(239,191,189);continue}he=$;continue}if($<56320){(W-=3)>-1&&Pe.push(239,191,189),he=$;continue}$=(he-55296<<10|$-56320)+65536}else he&&(W-=3)>-1&&Pe.push(239,191,189);if(he=null,$<128){if((W-=1)<0)break;Pe.push($)}else if($<2048){if((W-=2)<0)break;Pe.push($>>6|192,$&63|128)}else if($<65536){if((W-=3)<0)break;Pe.push($>>12|224,$>>6&63|128,$&63|128)}else if($<1114112){if((W-=4)<0)break;Pe.push($>>18|240,$>>12&63|128,$>>6&63|128,$&63|128)}else throw new Error("Invalid code point")}return Pe}function we(ne){for(var W=[],$=0;$<ne.length;++$)W.push(ne.charCodeAt($)&255);return W}function ue(ne,W){for(var $,ee,he,Pe=[],Ye=0;Ye<ne.length&&!((W-=2)<0);++Ye)$=ne.charCodeAt(Ye),ee=$>>8,he=$%256,Pe.push(he),Pe.push(ee);return Pe}function ce(ne){return H.toByteArray(ve(ne))}function Ve(ne,W,$,ee){for(var he=0;he<ee&&!(he+$>=W.length||he>=ne.length);++he)W[he+$]=ne[he];return he}function We(ne,W){return ne instanceof W||ne!=null&&ne.constructor!=null&&ne.constructor.name!=null&&ne.constructor.name===W.name}function ae(ne){return ne!==ne}var fe=function(){for(var ne="0123456789abcdef",W=new Array(256),$=0;$<16;++$)for(var ee=$*16,he=0;he<16;++he)W[ee+he]=ne[$]+ne[he];return W}()},67467:function(xt,Te){Te.read=function(i,h,H,O,P){var D,G,I=P*8-O-1,y=(1<<I)-1,E=y>>1,p=-7,a=H?P-1:0,g=H?-1:1,w=i[h+a];for(a+=g,D=w&(1<<-p)-1,w>>=-p,p+=I;p>0;D=D*256+i[h+a],a+=g,p-=8);for(G=D&(1<<-p)-1,D>>=-p,p+=O;p>0;G=G*256+i[h+a],a+=g,p-=8);if(D===0)D=1-E;else{if(D===y)return G?NaN:(w?-1:1)*(1/0);G=G+Math.pow(2,O),D=D-E}return(w?-1:1)*G*Math.pow(2,D-O)},Te.write=function(i,h,H,O,P,D){var G,I,y,E=D*8-P-1,p=(1<<E)-1,a=p>>1,g=P===23?Math.pow(2,-24)-Math.pow(2,-77):0,w=O?0:D-1,s=O?1:-1,C=h<0||h===0&&1/h<0?1:0;for(h=Math.abs(h),isNaN(h)||h===1/0?(I=isNaN(h)?1:0,G=p):(G=Math.floor(Math.log(h)/Math.LN2),h*(y=Math.pow(2,-G))<1&&(G--,y*=2),G+a>=1?h+=g/y:h+=g*Math.pow(2,1-a),h*y>=2&&(G++,y/=2),G+a>=p?(I=0,G=p):G+a>=1?(I=(h*y-1)*Math.pow(2,P),G=G+a):(I=h*Math.pow(2,a-1)*Math.pow(2,P),G=0));P>=8;i[H+w]=I&255,w+=s,I/=256,P-=8);for(G=G<<P|I,E+=P;E>0;i[H+w]=G&255,w+=s,G/=256,E-=8);i[H+w-s]|=C*128}},2550:function(xt,Te,i){self.MonacoEnvironment=function(h){function H(O){return O.replace(/\/$/,"")}return{globalAPI:!1,getWorkerUrl:function(O,P){var D=i.p,G=(D?H(D)+"/":"")+h[P];if(/^((http:)|(https:)|(file:)|(\/\/))/.test(G)){var I=String(window.location),y=I.substr(0,I.length-window.location.hash.length-window.location.search.length-window.location.pathname.length);if(G.substring(0,y.length)!==y){/^(\/\/)/.test(G)&&(G=window.location.protocol+G);var E="/*"+P+'*/importScripts("'+G+'");',p=new Blob([E],{type:"application/javascript"});return URL.createObjectURL(p)}}return G}}}({editorWorkerService:"editor.worker.js",css:"css.worker.js",html:"html.worker.js",json:"json.worker.js",typescript:"ts.worker.js",javascript:"ts.worker.js",less:"css.worker.js",scss:"css.worker.js",handlebars:"html.worker.js",razor:"html.worker.js"}),i(34076),i(60998),i(32838),i(84826),i(60066),i(54151),i(54807),i(88297),i(46343),i(35366),i(19451),i(52775),i(78013),i(34064),i(85628),i(79711),i(65586),i(17645),i(85211),i(65028),i(26021),i(63478),i(30245),i(26313),i(35274),i(51518),i(31632),i(63435),i(83861),i(34835),i(38762),i(71925),i(19257),i(50714),i(6181),i(6410),i(28630),i(29111),i(63618),i(74916),xt.exports=i(15638),i(11499),i(72773),i(30219),i(10755),i(74121),i(77973),i(27246),i(82961),i(19959),i(23347),i(17323),i(24607),i(90130),i(72185),i(40882),i(14349),i(10715),i(88756),i(67748),i(30141),i(44115),i(65588),i(42716),i(83135),i(91067),i(63886),i(44865),i(41495),i(12076),i(38516),i(18504),i(28593),i(43069),i(50185),i(11745),i(96025),i(85713),i(98836),i(18625),i(25167),i(5512),i(59066),i(73363),i(5769),i(95630),i(12189),i(78605),i(17728),i(94503),i(66857),i(38341),i(61010),i(1099),i(49478),i(32985),i(72088),i(69746),i(94912),i(28464),i(24571),i(55670),i(77777),i(39393),i(81147),i(35550)},87783:function(xt,Te,i){"use strict";i.d(Te,{$W:function(){return C},Dt:function(){return s},G6:function(){return g},MG:function(){return w},Pf:function(){return p},WP:function(){return P},fX:function(){return D},i7:function(){return a},ie:function(){return G},mX:function(){return I},px:function(){return O},vU:function(){return E}});var h=i(4348);class H{constructor(){this._zoomLevel=0,this._lastZoomLevelChangeTime=0,this._onDidChangeZoomLevel=new h.Q5,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this._zoomFactor=1}getZoomLevel(){return this._zoomLevel}getTimeSinceLastZoomLevelChanged(){return Date.now()-this._lastZoomLevelChangeTime}getZoomFactor(){return this._zoomFactor}getPixelRatio(){let v=document.createElement("canvas").getContext("2d"),r=window.devicePixelRatio||1,l=v.webkitBackingStorePixelRatio||v.mozBackingStorePixelRatio||v.msBackingStorePixelRatio||v.oBackingStorePixelRatio||v.backingStorePixelRatio||1;return r/l}}H.INSTANCE=new H;function O(){return H.INSTANCE.getZoomLevel()}function P(){return H.INSTANCE.getTimeSinceLastZoomLevelChanged()}function D(f){return H.INSTANCE.onDidChangeZoomLevel(f)}function G(){return H.INSTANCE.getZoomFactor()}function I(){return H.INSTANCE.getPixelRatio()}const y=navigator.userAgent,E=y.indexOf("Firefox")>=0,p=y.indexOf("AppleWebKit")>=0,a=y.indexOf("Chrome")>=0,g=!a&&y.indexOf("Safari")>=0,w=!a&&!g&&p,s=y.indexOf("Android")>=0,C=window.matchMedia&&window.matchMedia("(display-mode: standalone)").matches},23725:function(xt,Te,i){"use strict";i.d(Te,{D:function(){return O}});var h=i(87783),H=i(23345);const O={clipboard:{writeText:H.tY||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:H.tY||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},keyboard:H.tY||h.$W?0:navigator.keyboard||h.G6?1:2,touch:"ontouchstart"in window||navigator.maxTouchPoints>0,pointerEvents:window.PointerEvent&&("ontouchstart"in window||window.navigator.maxTouchPoints>0||navigator.maxTouchPoints>0)}},84282:function(xt,Te,i){"use strict";i.d(Te,{P$:function(){return P},TN:function(){return O},go:function(){return H}});var h=i(8473);const H={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:h.vW.text,TERMINALS:"Terminals"};class O{constructor(G){this.data=G}update(){}getData(){return this.data}}const P={CurrentDragAndDropData:void 0}},69454:function(xt,Te,i){"use strict";i.d(Te,{$:function(){return Et},$Z:function(){return Wt},Ay:function(){return Ve},Ce:function(){return ze},Cp:function(){return oi},D6:function(){return Q},DI:function(){return K},Dx:function(){return Z},FK:function(){return te},Fx:function(){return Fe},Gw:function(){return r},H$:function(){return ni},If:function(){return ge},Lo:function(){return l},OO:function(){return ce},PO:function(){return a},R3:function(){return Ht},RE:function(){return b},Re:function(){return he},Ro:function(){return xe},Uh:function(){return hi},Uw:function(){return g},V3:function(){return Di},Y_:function(){return J},_0:function(){return rt},_h:function(){return ai},_q:function(){return Pt},dS:function(){return ae},dp:function(){return R},fk:function(){return $},go:function(){return Ft},i:function(){return V},jL:function(){return z},j_:function(){return c},jg:function(){return ve},jt:function(){return Ti},lI:function(){return M},mc:function(){return Xe},mu:function(){return v},nm:function(){return s},qV:function(){return m},tw:function(){return Pe},uB:function(){return Gt},uN:function(){return ee},uU:function(){return we},vL:function(){return it},vY:function(){return We},w:function(){return ie},wY:function(){return Ni},wn:function(){return ye},xQ:function(){return j},zB:function(){return Ye}});var h=i(87783),H=i(23725),O=i(92813),P=i(52390),D=i(50431),G=i(79881),I=i(4348),y=i(69323),E=i(66657),p=i(23345);function a(st){for(;st.firstChild;)st.firstChild.remove()}function g(st){var gt;return(gt=st==null?void 0:st.isConnected)!==null&&gt!==void 0?gt:!1}class w{constructor(gt,ht,Qe,$e){this._node=gt,this._type=ht,this._handler=Qe,this._options=$e||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function s(st,gt,ht,Qe){return new w(st,gt,ht,Qe)}function C(st){return function(gt){return st(new P.n(gt))}}function f(st){return function(gt){return st(new O.y(gt))}}let v=function(gt,ht,Qe,$e){let Ie=Qe;return ht==="click"||ht==="mousedown"?Ie=C(Qe):(ht==="keydown"||ht==="keypress"||ht==="keyup")&&(Ie=f(Qe)),s(gt,ht,Ie,$e)},r=function(gt,ht,Qe){let $e=C(ht);return l(gt,$e,Qe)};function l(st,gt,ht){return s(st,p.gn&&H.D.pointerEvents?Pe.POINTER_DOWN:Pe.MOUSE_DOWN,gt,ht)}function m(st,gt,ht){return s(st,p.gn&&H.D.pointerEvents?Pe.POINTER_UP:Pe.MOUSE_UP,gt,ht)}function c(st,gt){return s(st,"mouseout",ht=>{let Qe=ht.relatedTarget;for(;Qe&&Qe!==st;)Qe=Qe.parentNode;Qe!==st&&gt(ht)})}function b(st,gt){return s(st,"pointerout",ht=>{let Qe=ht.relatedTarget;for(;Qe&&Qe!==st;)Qe=Qe.parentNode;Qe!==st&&gt(ht)})}let L=null;function T(st){if(!L){const gt=ht=>setTimeout(()=>ht(new Date().getTime()),0);L=self.requestAnimationFrame||self.msRequestAnimationFrame||self.webkitRequestAnimationFrame||self.mozRequestAnimationFrame||self.oRequestAnimationFrame||gt}return L.call(self,st)}let M,z;class oe{constructor(gt,ht=0){this._runner=gt,this.priority=ht,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(gt){(0,G.dL)(gt)}}static sort(gt,ht){return ht.priority-gt.priority}}(function(){let st=[],gt=null,ht=!1,Qe=!1,$e=()=>{for(ht=!1,gt=st,st=[],Qe=!0;gt.length>0;)gt.sort(oe.sort),gt.shift().execute();Qe=!1};z=(Ie,Oe=0)=>{let Ke=new oe(Ie,Oe);return st.push(Ke),ht||(ht=!0,T($e)),Ke},M=(Ie,Oe)=>{if(Qe){let Ke=new oe(Ie,Oe);return gt.push(Ke),Ke}else return z(Ie,Oe)}})();const se=8,re=function(st,gt){return gt};class De extends y.JT{constructor(gt,ht,Qe,$e=re,Ie=se){super();let Oe=null,Ke=0,ct=this._register(new D._F),Nt=()=>{Ke=new Date().getTime(),Qe(Oe),Oe=null};this._register(s(gt,ht,$t=>{Oe=$e(Oe,$t);let Xt=new Date().getTime()-Ke;Xt>=Ie?(ct.cancel(),Nt()):ct.setIfNotSet(Nt,Ie-Xt)}))}}function J(st,gt,ht,Qe,$e){return new De(st,gt,ht,Qe,$e)}function Z(st){return document.defaultView.getComputedStyle(st,null)}function Q(st){if(st!==document.body)return new xe(st.clientWidth,st.clientHeight);if(p.gn&&window.visualViewport)return new xe(window.visualViewport.width,window.visualViewport.height);if(window.innerWidth&&window.innerHeight)return new xe(window.innerWidth,window.innerHeight);if(document.body&&document.body.clientWidth&&document.body.clientHeight)return new xe(document.body.clientWidth,document.body.clientHeight);if(document.documentElement&&document.documentElement.clientWidth&&document.documentElement.clientHeight)return new xe(document.documentElement.clientWidth,document.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")}class le{static convertToPixels(gt,ht){return parseFloat(ht)||0}static getDimension(gt,ht,Qe){let $e=Z(gt),Ie="0";return $e&&($e.getPropertyValue?Ie=$e.getPropertyValue(ht):Ie=$e.getAttribute(Qe)),le.convertToPixels(gt,Ie)}static getBorderLeftWidth(gt){return le.getDimension(gt,"border-left-width","borderLeftWidth")}static getBorderRightWidth(gt){return le.getDimension(gt,"border-right-width","borderRightWidth")}static getBorderTopWidth(gt){return le.getDimension(gt,"border-top-width","borderTopWidth")}static getBorderBottomWidth(gt){return le.getDimension(gt,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(gt){return le.getDimension(gt,"padding-left","paddingLeft")}static getPaddingRight(gt){return le.getDimension(gt,"padding-right","paddingRight")}static getPaddingTop(gt){return le.getDimension(gt,"padding-top","paddingTop")}static getPaddingBottom(gt){return le.getDimension(gt,"padding-bottom","paddingBottom")}static getMarginLeft(gt){return le.getDimension(gt,"margin-left","marginLeft")}static getMarginTop(gt){return le.getDimension(gt,"margin-top","marginTop")}static getMarginRight(gt){return le.getDimension(gt,"margin-right","marginRight")}static getMarginBottom(gt){return le.getDimension(gt,"margin-bottom","marginBottom")}}class xe{constructor(gt,ht){this.width=gt,this.height=ht}with(gt=this.width,ht=this.height){return gt!==this.width||ht!==this.height?new xe(gt,ht):this}static is(gt){return typeof gt=="object"&&typeof gt.height=="number"&&typeof gt.width=="number"}static lift(gt){return gt instanceof xe?gt:new xe(gt.width,gt.height)}static equals(gt,ht){return gt===ht?!0:!gt||!ht?!1:gt.width===ht.width&&gt.height===ht.height}}function j(st){let gt=st.offsetParent,ht=st.offsetTop,Qe=st.offsetLeft;for(;(st=st.parentNode)!==null&&st!==document.body&&st!==document.documentElement;){ht-=st.scrollTop;const $e=ue(st)?null:Z(st);$e&&(Qe-=$e.direction!=="rtl"?st.scrollLeft:-st.scrollLeft),st===gt&&(Qe+=le.getBorderLeftWidth(st),ht+=le.getBorderTopWidth(st),ht+=st.offsetTop,Qe+=st.offsetLeft,gt=st.offsetParent)}return{left:Qe,top:ht}}function R(st,gt,ht){typeof gt=="number"&&(st.style.width=`${gt}px`),typeof ht=="number"&&(st.style.height=`${ht}px`)}function V(st){let gt=st.getBoundingClientRect();return{left:gt.left+K.scrollX,top:gt.top+K.scrollY,width:gt.width,height:gt.height}}const K=new class{get scrollX(){return typeof window.scrollX=="number"?window.scrollX:document.body.scrollLeft+document.documentElement.scrollLeft}get scrollY(){return typeof window.scrollY=="number"?window.scrollY:document.body.scrollTop+document.documentElement.scrollTop}};function ie(st){let gt=le.getMarginLeft(st)+le.getMarginRight(st);return st.offsetWidth+gt}function te(st){let gt=le.getBorderLeftWidth(st)+le.getBorderRightWidth(st),ht=le.getPaddingLeft(st)+le.getPaddingRight(st);return st.offsetWidth-gt-ht}function ge(st){let gt=le.getBorderTopWidth(st)+le.getBorderBottomWidth(st),ht=le.getPaddingTop(st)+le.getPaddingBottom(st);return st.offsetHeight-gt-ht}function ye(st){let gt=le.getMarginTop(st)+le.getMarginBottom(st);return st.offsetHeight+gt}function ve(st,gt){for(;st;){if(st===gt)return!0;st=st.parentNode}return!1}function Fe(st,gt,ht){for(;st&&st.nodeType===st.ELEMENT_NODE;){if(st.classList.contains(gt))return st;if(ht){if(typeof ht=="string"){if(st.classList.contains(ht))return null}else if(st===ht)return null}st=st.parentNode}return null}function we(st,gt,ht){return!!Fe(st,gt,ht)}function ue(st){return st&&!!st.host&&!!st.mode}function ce(st){return!!Ve(st)}function Ve(st){for(;st.parentNode;){if(st===document.body)return null;st=st.parentNode}return ue(st)?st:null}function We(){let st=document.activeElement;for(;st!=null&&st.shadowRoot;)st=st.shadowRoot.activeElement;return st}function ae(st=document.getElementsByTagName("head")[0]){let gt=document.createElement("style");return gt.type="text/css",gt.media="screen",st.appendChild(gt),gt}let fe=null;function ne(){return fe||(fe=ae()),fe}function W(st){var gt,ht;return!((gt=st==null?void 0:st.sheet)===null||gt===void 0)&&gt.rules?st.sheet.rules:!((ht=st==null?void 0:st.sheet)===null||ht===void 0)&&ht.cssRules?st.sheet.cssRules:[]}function $(st,gt,ht=ne()){!ht||!gt||ht.sheet.insertRule(st+"{"+gt+"}",0)}function ee(st,gt=ne()){if(!gt)return;let ht=W(gt),Qe=[];for(let $e=0;$e<ht.length;$e++)ht[$e].selectorText.indexOf(st)!==-1&&Qe.push($e);for(let $e=Qe.length-1;$e>=0;$e--)gt.sheet.deleteRule(Qe[$e])}function he(st){return typeof HTMLElement=="object"?st instanceof HTMLElement:st&&typeof st=="object"&&st.nodeType===1&&typeof st.nodeName=="string"}const Pe={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:h.Pf?"webkitAnimationStart":"animationstart",ANIMATION_END:h.Pf?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:h.Pf?"webkitAnimationIteration":"animationiteration"},Ye={stop:function(st,gt){st.preventDefault?st.preventDefault():st.returnValue=!1,gt&&(st.stopPropagation?st.stopPropagation():st.cancelBubble=!0)}};function it(st){let gt=[];for(let ht=0;st&&st.nodeType===st.ELEMENT_NODE;ht++)gt[ht]=st.scrollTop,st=st.parentNode;return gt}function rt(st,gt){for(let ht=0;st&&st.nodeType===st.ELEMENT_NODE;ht++)st.scrollTop!==gt[ht]&&(st.scrollTop=gt[ht]),st=st.parentNode}class vt extends y.JT{constructor(gt){super(),this._onDidFocus=this._register(new I.Q5),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new I.Q5),this.onDidBlur=this._onDidBlur.event;let ht=ve(document.activeElement,gt),Qe=!1;const $e=()=>{Qe=!1,ht||(ht=!0,this._onDidFocus.fire())},Ie=()=>{ht&&(Qe=!0,window.setTimeout(()=>{Qe&&(Qe=!1,ht=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{ve(document.activeElement,gt)!==ht&&(ht?Ie():$e())},this._register(s(gt,Pe.FOCUS,$e,!0)),this._register(s(gt,Pe.BLUR,Ie,!0))}}function Ft(st){return new vt(st)}function Ht(st,...gt){if(st.append(...gt),gt.length===1&&typeof gt[0]!="string")return gt[0]}function ze(st,gt){return st.insertBefore(gt,st.firstChild),gt}function Xe(st,...gt){st.innerText="",Ht(st,...gt)}const Ze=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var Ae;(function(st){st.HTML="http://www.w3.org/1999/xhtml",st.SVG="http://www.w3.org/2000/svg"})(Ae||(Ae={}));function He(st,gt,ht,...Qe){let $e=Ze.exec(gt);if(!$e)throw new Error("Bad use of emmet");ht=Object.assign({},ht||{});let Ie=$e[1]||"div",Oe;return st!==Ae.HTML?Oe=document.createElementNS(st,Ie):Oe=document.createElement(Ie),$e[3]&&(Oe.id=$e[3]),$e[4]&&(Oe.className=$e[4].replace(/\./g," ").trim()),Object.keys(ht).forEach(Ke=>{const ct=ht[Ke];typeof ct!="undefined"&&(/^on\w+$/.test(Ke)?Oe[Ke]=ct:Ke==="selected"?ct&&Oe.setAttribute(Ke,"true"):Oe.setAttribute(Ke,ct))}),Oe.append(...Qe),Oe}function Et(st,gt,...ht){return He(Ae.HTML,st,gt,...ht)}Et.SVG=function(st,gt,...ht){return He(Ae.SVG,st,gt,...ht)};function Wt(...st){for(let gt of st)gt.style.display="",gt.removeAttribute("aria-hidden")}function oi(...st){for(let gt of st)gt.style.display="none",gt.setAttribute("aria-hidden","true")}function ni(st){return Array.prototype.slice.call(document.getElementsByTagName(st),0)}function hi(st){const gt=window.devicePixelRatio*st;return Math.max(1,Math.floor(gt))/window.devicePixelRatio}function Di(st){window.open(st,"_blank","noopener")}function Ti(st){const gt=()=>{st(),ht=z(gt)};let ht=z(gt);return(0,y.OF)(()=>ht.dispose())}E.WX.setPreferredWebSchema(/^https:/.test(window.location.href)?"https":"http");function Ni(st){return st?`url('${E.Gi.asBrowserUri(st).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function ai(st){return`'${st.replace(/'/g,"%27")}'`}class Pt extends I.Q5{constructor(){super(),this._subscriptions=new y.SL,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(s(window,"keydown",gt=>{if(gt.defaultPrevented)return;const ht=new O.y(gt);if(!(ht.keyCode===6&&gt.repeat)){if(gt.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(gt.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(gt.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(gt.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else if(ht.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=gt.altKey,this._keyStatus.ctrlKey=gt.ctrlKey,this._keyStatus.metaKey=gt.metaKey,this._keyStatus.shiftKey=gt.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=gt,this.fire(this._keyStatus))}},!0)),this._subscriptions.add(s(window,"keyup",gt=>{gt.defaultPrevented||(!gt.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!gt.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!gt.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!gt.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=gt.altKey,this._keyStatus.ctrlKey=gt.ctrlKey,this._keyStatus.metaKey=gt.metaKey,this._keyStatus.shiftKey=gt.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=gt,this.fire(this._keyStatus)))},!0)),this._subscriptions.add(s(document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),this._subscriptions.add(s(document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),this._subscriptions.add(s(document.body,"mousemove",gt=>{gt.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),this._subscriptions.add(s(window,"blur",()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return Pt.instance||(Pt.instance=new Pt),Pt.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}function Gt(st,gt){const ht=window.matchMedia(st);typeof ht.addEventListener=="function"?ht.addEventListener("change",gt):ht.addListener(gt)}},8035:function(xt,Te,i){"use strict";i.d(Te,{Y:function(){return H},p:function(){return O}});var h=i(4348);class H{constructor(D,G,I){const y=E=>this.emitter.fire(E);this.emitter=new h.Q5({onFirstListenerAdd:()=>D.addEventListener(G,y,I),onLastListenerRemove:()=>D.removeEventListener(G,y,I)})}get event(){return this.emitter.event}dispose(){this.emitter.dispose()}}function O(P){return P.preventDefault(),P.stopPropagation(),P}},2727:function(xt,Te,i){"use strict";i.d(Te,{X:function(){return H},Z:function(){return h}});class h{constructor(P){this.domNode=P,this._maxWidth=-1,this._width=-1,this._height=-1,this._top=-1,this._left=-1,this._bottom=-1,this._right=-1,this._fontFamily="",this._fontWeight="",this._fontSize=-1,this._fontFeatureSettings="",this._lineHeight=-1,this._letterSpacing=-100,this._className="",this._display="",this._position="",this._visibility="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(P){this._maxWidth!==P&&(this._maxWidth=P,this.domNode.style.maxWidth=this._maxWidth+"px")}setWidth(P){this._width!==P&&(this._width=P,this.domNode.style.width=this._width+"px")}setHeight(P){this._height!==P&&(this._height=P,this.domNode.style.height=this._height+"px")}setTop(P){this._top!==P&&(this._top=P,this.domNode.style.top=this._top+"px")}unsetTop(){this._top!==-1&&(this._top=-1,this.domNode.style.top="")}setLeft(P){this._left!==P&&(this._left=P,this.domNode.style.left=this._left+"px")}setBottom(P){this._bottom!==P&&(this._bottom=P,this.domNode.style.bottom=this._bottom+"px")}setRight(P){this._right!==P&&(this._right=P,this.domNode.style.right=this._right+"px")}setFontFamily(P){this._fontFamily!==P&&(this._fontFamily=P,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(P){this._fontWeight!==P&&(this._fontWeight=P,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(P){this._fontSize!==P&&(this._fontSize=P,this.domNode.style.fontSize=this._fontSize+"px")}setFontFeatureSettings(P){this._fontFeatureSettings!==P&&(this._fontFeatureSettings=P,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setLineHeight(P){this._lineHeight!==P&&(this._lineHeight=P,this.domNode.style.lineHeight=this._lineHeight+"px")}setLetterSpacing(P){this._letterSpacing!==P&&(this._letterSpacing=P,this.domNode.style.letterSpacing=this._letterSpacing+"px")}setClassName(P){this._className!==P&&(this._className=P,this.domNode.className=this._className)}toggleClassName(P,D){this.domNode.classList.toggle(P,D),this._className=this.domNode.className}setDisplay(P){this._display!==P&&(this._display=P,this.domNode.style.display=this._display)}setPosition(P){this._position!==P&&(this._position=P,this.domNode.style.position=this._position)}setVisibility(P){this._visibility!==P&&(this._visibility=P,this.domNode.style.visibility=this._visibility)}setBackgroundColor(P){this._backgroundColor!==P&&(this._backgroundColor=P,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(P){this._layerHint!==P&&(this._layerHint=P,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(P){this._boxShadow!==P&&(this._boxShadow=P,this.domNode.style.boxShadow=P)}setContain(P){this._contain!==P&&(this._contain=P,this.domNode.style.contain=this._contain)}setAttribute(P,D){this.domNode.setAttribute(P,D)}removeAttribute(P){this.domNode.removeAttribute(P)}appendChild(P){this.domNode.appendChild(P.domNode)}removeChild(P){this.domNode.removeChild(P.domNode)}}function H(O){return new h(O)}},40575:function(xt,Te,i){"use strict";i.d(Te,{BO:function(){return O},IY:function(){return H},az:function(){return P}});var h=i(69454);function H(p,a={}){const g=P(a);return g.textContent=p,g}function O(p,a={}){const g=P(a);return G(g,I(p,!!a.renderCodeSegments),a.actionHandler,a.renderCodeSegments),g}function P(p){const a=p.inline?"span":"div",g=document.createElement(a);return p.className&&(g.className=p.className),g}class D{constructor(a){this.source=a,this.index=0}eos(){return this.index>=this.source.length}next(){const a=this.peek();return this.advance(),a}peek(){return this.source[this.index]}advance(){this.index++}}function G(p,a,g,w){let s;if(a.type===2)s=document.createTextNode(a.content||"");else if(a.type===3)s=document.createElement("b");else if(a.type===4)s=document.createElement("i");else if(a.type===7&&w)s=document.createElement("code");else if(a.type===5&&g){const C=document.createElement("a");C.href="#",g.disposables.add(h.mu(C,"click",f=>{g.callback(String(a.index),f)})),s=C}else a.type===8?s=document.createElement("br"):a.type===1&&(s=p);s&&p!==s&&p.appendChild(s),s&&Array.isArray(a.children)&&a.children.forEach(C=>{G(s,C,g,w)})}function I(p,a){const g={type:1,children:[]};let w=0,s=g;const C=[],f=new D(p);for(;!f.eos();){let v=f.next();const r=v==="\\"&&E(f.peek(),a)!==0;if(r&&(v=f.next()),!r&&y(v,a)&&v===f.peek()){f.advance(),s.type===2&&(s=C.pop());const l=E(v,a);if(s.type===l||s.type===5&&l===6)s=C.pop();else{const m={type:l,children:[]};l===5&&(m.index=w,w++),s.children.push(m),C.push(s),s=m}}else if(v===`
`)s.type===2&&(s=C.pop()),s.children.push({type:8});else if(s.type!==2){const l={type:2,content:v};s.children.push(l),C.push(s),s=l}else s.content+=v}return s.type===2&&(s=C.pop()),C.length,g}function y(p,a){return E(p,a)!==0}function E(p,a){switch(p){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return a?7:0;default:return 0}}},2395:function(xt,Te,i){"use strict";i.d(Te,{Z:function(){return I},e:function(){return G}});var h=i(69454),H=i(7122),O=i(52390),P=i(69323),D=i(23345);function G(y,E){let p=new O.n(E);return p.preventDefault(),{leftButton:p.leftButton,buttons:p.buttons,posx:p.posx,posy:p.posy}}class I{constructor(){this._hooks=new P.SL,this._mouseMoveEventMerger=null,this._mouseMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(E,p){if(!this.isMonitoring())return;this._hooks.clear(),this._mouseMoveEventMerger=null,this._mouseMoveCallback=null;const a=this._onStopCallback;this._onStopCallback=null,E&&a&&a(p)}isMonitoring(){return!!this._mouseMoveEventMerger}startMonitoring(E,p,a,g,w){if(this.isMonitoring())return;this._mouseMoveEventMerger=a,this._mouseMoveCallback=g,this._onStopCallback=w;const s=H.E.getSameOriginWindowChain(),C=D.gn?"pointermove":"mousemove",f="mouseup",v=s.map(l=>l.window.document),r=h.Ay(E);r&&v.unshift(r);for(const l of v)this._hooks.add(h.Y_(l,C,m=>{if(m.buttons!==p){this.stopMonitoring(!0);return}this._mouseMoveCallback(m)},(m,c)=>this._mouseMoveEventMerger(m,c))),this._hooks.add(h.nm(l,f,m=>this.stopMonitoring(!0)));if(H.E.hasDifferentOriginAncestor()){let l=s[s.length-1];this._hooks.add(h.nm(l.window.document,"mouseout",m=>{new O.n(m).target.tagName.toLowerCase()==="html"&&this.stopMonitoring(!0)})),this._hooks.add(h.nm(l.window.document,"mouseover",m=>{new O.n(m).target.tagName.toLowerCase()==="html"&&this.stopMonitoring(!0)})),this._hooks.add(h.nm(l.window.document.body,"mouseleave",m=>{this.stopMonitoring(!0)}))}}}},7122:function(xt,Te,i){"use strict";i.d(Te,{E:function(){return P}});let h=!1,H=null;function O(D){if(!D.parent||D.parent===D)return null;try{let G=D.location,I=D.parent.location;if(G.origin!=="null"&&I.origin!=="null"&&G.origin!==I.origin)return h=!0,null}catch(G){return h=!0,null}return D.parent}class P{static getSameOriginWindowChain(){if(!H){H=[];let G=window,I;do I=O(G),I?H.push({window:G,iframeElement:G.frameElement||null}):H.push({window:G,iframeElement:null}),G=I;while(G)}return H.slice(0)}static hasDifferentOriginAncestor(){return H||this.getSameOriginWindowChain(),h}static getPositionOfChildWindowRelativeToAncestorWindow(G,I){if(!I||G===I)return{top:0,left:0};let y=0,E=0,p=this.getSameOriginWindowChain();for(const a of p){if(y+=a.window.scrollY,E+=a.window.scrollX,a.window===I||!a.iframeElement)break;let g=a.iframeElement.getBoundingClientRect();y+=g.top,E+=g.left}return{top:y,left:E}}}},92813:function(xt,Te,i){"use strict";i.d(Te,{y:function(){return p}});var h=i(87783),H=i(52411),O=i(86354),P=i(23345);function D(a){if(a.charCode){let w=String.fromCharCode(a.charCode).toUpperCase();return H.kL.fromString(w)}const g=a.keyCode;if(g===3)return 7;if(h.vU){if(g===59)return 80;if(g===107)return 81;if(g===109)return 83;if(P.dz&&g===224)return 57}else if(h.Pf){if(g===91)return 57;if(P.dz&&g===93)return 57;if(!P.dz&&g===92)return 57}return H.H_[g]||0}const G=P.dz?256:2048,I=512,y=1024,E=P.dz?2048:256;class p{constructor(g){this._standardKeyboardEventBrand=!0;let w=g;this.browserEvent=w,this.target=w.target,this.ctrlKey=w.ctrlKey,this.shiftKey=w.shiftKey,this.altKey=w.altKey,this.metaKey=w.metaKey,this.keyCode=D(w),this.code=w.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asRuntimeKeybinding=this._computeRuntimeKeybinding()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeybinding(){return this._asRuntimeKeybinding}equals(g){return this._asKeybinding===g}_computeKeybinding(){let g=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(g=this.keyCode);let w=0;return this.ctrlKey&&(w|=G),this.altKey&&(w|=I),this.shiftKey&&(w|=y),this.metaKey&&(w|=E),w|=g,w}_computeRuntimeKeybinding(){let g=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(g=this.keyCode),new O.QC(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,g)}}},52390:function(xt,Te,i){"use strict";i.d(Te,{n:function(){return P},q:function(){return D}});var h=i(87783),H=i(7122),O=i(23345);class P{constructor(I){this.timestamp=Date.now(),this.browserEvent=I,this.leftButton=I.button===0,this.middleButton=I.button===1,this.rightButton=I.button===2,this.buttons=I.buttons,this.target=I.target,this.detail=I.detail||1,I.type==="dblclick"&&(this.detail=2),this.ctrlKey=I.ctrlKey,this.shiftKey=I.shiftKey,this.altKey=I.altKey,this.metaKey=I.metaKey,typeof I.pageX=="number"?(this.posx=I.pageX,this.posy=I.pageY):(this.posx=I.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,this.posy=I.clientY+document.body.scrollTop+document.documentElement.scrollTop);let y=H.E.getPositionOfChildWindowRelativeToAncestorWindow(self,I.view);this.posx-=y.left,this.posy-=y.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}class D{constructor(I,y=0,E=0){if(this.browserEvent=I||null,this.target=I?I.target||I.targetNode||I.srcElement:null,this.deltaY=E,this.deltaX=y,I){let p=I,a=I;if(typeof p.wheelDeltaY!="undefined")this.deltaY=p.wheelDeltaY/120;else if(typeof a.VERTICAL_AXIS!="undefined"&&a.axis===a.VERTICAL_AXIS)this.deltaY=-a.detail/3;else if(I.type==="wheel"){const g=I;g.deltaMode===g.DOM_DELTA_LINE?h.vU&&!O.dz?this.deltaY=-I.deltaY/3:this.deltaY=-I.deltaY:this.deltaY=-I.deltaY/40}if(typeof p.wheelDeltaX!="undefined")h.G6&&O.ED?this.deltaX=-(p.wheelDeltaX/120):this.deltaX=p.wheelDeltaX/120;else if(typeof a.HORIZONTAL_AXIS!="undefined"&&a.axis===a.HORIZONTAL_AXIS)this.deltaX=-I.detail/3;else if(I.type==="wheel"){const g=I;g.deltaMode===g.DOM_DELTA_LINE?h.vU&&!O.dz?this.deltaX=-I.deltaX/3:this.deltaX=-I.deltaX:this.deltaX=-I.deltaX/40}this.deltaY===0&&this.deltaX===0&&I.wheelDelta&&(this.deltaY=I.wheelDelta/120)}}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation()}}},60537:function(xt,Te,i){"use strict";i.d(Te,{o:function(){return I},t:function(){return G}});var h=i(69454),H=i(43506),O=i(85402),P=i(69323),D=function(y,E,p,a){var g=arguments.length,w=g<3?E:a===null?a=Object.getOwnPropertyDescriptor(E,p):a,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(y,E,p,a);else for(var C=y.length-1;C>=0;C--)(s=y[C])&&(w=(g<3?s(w):g>3?s(E,p,w):s(E,p))||w);return g>3&&w&&Object.defineProperty(E,p,w),w},G;(function(y){y.Tap="-monaco-gesturetap",y.Change="-monaco-gesturechange",y.Start="-monaco-gesturestart",y.End="-monaco-gesturesend",y.Contextmenu="-monaco-gesturecontextmenu"})(G||(G={}));class I extends P.JT{constructor(){super(),this.dispatched=!1,this.activeTouches={},this.handle=null,this.targets=[],this.ignoreTargets=[],this._lastSetTapCountTime=0,this._register(h.nm(document,"touchstart",E=>this.onTouchStart(E),{passive:!1})),this._register(h.nm(document,"touchend",E=>this.onTouchEnd(E))),this._register(h.nm(document,"touchmove",E=>this.onTouchMove(E),{passive:!1}))}static addTarget(E){return I.isTouchDevice()?(I.INSTANCE||(I.INSTANCE=new I),I.INSTANCE.targets.push(E),{dispose:()=>{I.INSTANCE.targets=I.INSTANCE.targets.filter(p=>p!==E)}}):P.JT.None}static ignoreTarget(E){return I.isTouchDevice()?(I.INSTANCE||(I.INSTANCE=new I),I.INSTANCE.ignoreTargets.push(E),{dispose:()=>{I.INSTANCE.ignoreTargets=I.INSTANCE.ignoreTargets.filter(p=>p!==E)}}):P.JT.None}static isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(E){let p=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let a=0,g=E.targetTouches.length;a<g;a++){let w=E.targetTouches.item(a);this.activeTouches[w.identifier]={id:w.identifier,initialTarget:w.target,initialTimeStamp:p,initialPageX:w.pageX,initialPageY:w.pageY,rollingTimestamps:[p],rollingPageX:[w.pageX],rollingPageY:[w.pageY]};let s=this.newGestureEvent(G.Start,w.target);s.pageX=w.pageX,s.pageY=w.pageY,this.dispatchEvent(s)}this.dispatched&&(E.preventDefault(),E.stopPropagation(),this.dispatched=!1)}onTouchEnd(E){let p=Date.now(),a=Object.keys(this.activeTouches).length;for(let g=0,w=E.changedTouches.length;g<w;g++){let s=E.changedTouches.item(g);if(!this.activeTouches.hasOwnProperty(String(s.identifier))){console.warn("move of an UNKNOWN touch",s);continue}let C=this.activeTouches[s.identifier],f=Date.now()-C.initialTimeStamp;if(f<I.HOLD_DELAY&&Math.abs(C.initialPageX-H.Gb(C.rollingPageX))<30&&Math.abs(C.initialPageY-H.Gb(C.rollingPageY))<30){let v=this.newGestureEvent(G.Tap,C.initialTarget);v.pageX=H.Gb(C.rollingPageX),v.pageY=H.Gb(C.rollingPageY),this.dispatchEvent(v)}else if(f>=I.HOLD_DELAY&&Math.abs(C.initialPageX-H.Gb(C.rollingPageX))<30&&Math.abs(C.initialPageY-H.Gb(C.rollingPageY))<30){let v=this.newGestureEvent(G.Contextmenu,C.initialTarget);v.pageX=H.Gb(C.rollingPageX),v.pageY=H.Gb(C.rollingPageY),this.dispatchEvent(v)}else if(a===1){let v=H.Gb(C.rollingPageX),r=H.Gb(C.rollingPageY),l=H.Gb(C.rollingTimestamps)-C.rollingTimestamps[0],m=v-C.rollingPageX[0],c=r-C.rollingPageY[0];const b=this.targets.filter(L=>C.initialTarget instanceof Node&&L.contains(C.initialTarget));this.inertia(b,p,Math.abs(m)/l,m>0?1:-1,v,Math.abs(c)/l,c>0?1:-1,r)}this.dispatchEvent(this.newGestureEvent(G.End,C.initialTarget)),delete this.activeTouches[s.identifier]}this.dispatched&&(E.preventDefault(),E.stopPropagation(),this.dispatched=!1)}newGestureEvent(E,p){let a=document.createEvent("CustomEvent");return a.initEvent(E,!1,!0),a.initialTarget=p,a.tapCount=0,a}dispatchEvent(E){if(E.type===G.Tap){const p=new Date().getTime();let a=0;p-this._lastSetTapCountTime>I.CLEAR_TAP_COUNT_TIME?a=1:a=2,this._lastSetTapCountTime=p,E.tapCount=a}else(E.type===G.Change||E.type===G.Contextmenu)&&(this._lastSetTapCountTime=0);for(let p=0;p<this.ignoreTargets.length;p++)if(E.initialTarget instanceof Node&&this.ignoreTargets[p].contains(E.initialTarget))return;this.targets.forEach(p=>{E.initialTarget instanceof Node&&p.contains(E.initialTarget)&&(p.dispatchEvent(E),this.dispatched=!0)})}inertia(E,p,a,g,w,s,C,f){this.handle=h.jL(()=>{let v=Date.now(),r=v-p,l=0,m=0,c=!0;a+=I.SCROLL_FRICTION*r,s+=I.SCROLL_FRICTION*r,a>0&&(c=!1,l=g*a*r),s>0&&(c=!1,m=C*s*r);let b=this.newGestureEvent(G.Change);b.translationX=l,b.translationY=m,E.forEach(L=>L.dispatchEvent(b)),c||this.inertia(E,v,a,g,w+l,s,C,f+m)})}onTouchMove(E){let p=Date.now();for(let a=0,g=E.changedTouches.length;a<g;a++){let w=E.changedTouches.item(a);if(!this.activeTouches.hasOwnProperty(String(w.identifier))){console.warn("end of an UNKNOWN touch",w);continue}let s=this.activeTouches[w.identifier],C=this.newGestureEvent(G.Change,s.initialTarget);C.translationX=w.pageX-H.Gb(s.rollingPageX),C.translationY=w.pageY-H.Gb(s.rollingPageY),C.pageX=w.pageX,C.pageY=w.pageY,this.dispatchEvent(C),s.rollingPageX.length>3&&(s.rollingPageX.shift(),s.rollingPageY.shift(),s.rollingTimestamps.shift()),s.rollingPageX.push(w.pageX),s.rollingPageY.push(w.pageY),s.rollingTimestamps.push(p)}this.dispatched&&(E.preventDefault(),E.stopPropagation(),this.dispatched=!1)}}I.SCROLL_FRICTION=-.005,I.HOLD_DELAY=700,I.CLEAR_TAP_COUNT_TIME=400,D([O.H],I,"isTouchDevice",null)},10081:function(xt,Te,i){"use strict";i.d(Te,{Y:function(){return a},g:function(){return g}});var h=i(87783),H=i(84282),O=i(69454),P=i(60537),D=i(75918),G=i(69323),I=i(23345),y=i(72999),E=i(10628),p=i(13268);class a extends G.JT{constructor(s,C,f={}){super(),this.options=f,this._context=s||this,this._action=C,C instanceof D.aU&&this._register(C.onDidChange(v=>{this.element&&this.handleActionChangeEvent(v)}))}handleActionChangeEvent(s){s.enabled!==void 0&&this.updateEnabled(),s.checked!==void 0&&this.updateChecked(),s.class!==void 0&&this.updateClass(),s.label!==void 0&&(this.updateLabel(),this.updateTooltip()),s.tooltip!==void 0&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new D.Wi)),this._actionRunner}set actionRunner(s){this._actionRunner=s}getAction(){return this._action}isEnabled(){return this._action.enabled}setActionContext(s){this._context=s}render(s){const C=this.element=s;this._register(P.o.addTarget(s));const f=this.options&&this.options.draggable;f&&(s.draggable=!0,h.vU&&this._register((0,O.nm)(s,O.tw.DRAG_START,v=>{var r;return(r=v.dataTransfer)===null||r===void 0?void 0:r.setData(H.go.TEXT,this._action.label)}))),this._register((0,O.nm)(C,P.t.Tap,v=>this.onClick(v,!0))),this._register((0,O.nm)(C,O.tw.MOUSE_DOWN,v=>{f||O.zB.stop(v,!0),this._action.enabled&&v.button===0&&C.classList.add("active")})),I.dz&&this._register((0,O.nm)(C,O.tw.CONTEXT_MENU,v=>{v.button===0&&v.ctrlKey===!0&&this.onClick(v)})),this._register((0,O.nm)(C,O.tw.CLICK,v=>{O.zB.stop(v,!0),this.options&&this.options.isMenu||this.onClick(v)})),this._register((0,O.nm)(C,O.tw.DBLCLICK,v=>{O.zB.stop(v,!0)})),[O.tw.MOUSE_UP,O.tw.MOUSE_OUT].forEach(v=>{this._register((0,O.nm)(C,v,r=>{O.zB.stop(r),C.classList.remove("active")}))})}onClick(s,C=!1){var f;O.zB.stop(s,!0);const v=y.Jp(this._context)?!((f=this.options)===null||f===void 0)&&f.useEventAsContext?s:{preserveFocus:C}:this._context;this.actionRunner.run(this._action,v)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(s){this.element&&(this.element.tabIndex=s?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}updateTooltip(){}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),super.dispose()}}class g extends a{constructor(s,C,f={}){super(s,C,f),this.options=f,this.options.icon=f.icon!==void 0?f.icon:!1,this.options.label=f.label!==void 0?f.label:!0,this.cssClass=""}render(s){super.render(s),this.element&&(this.label=(0,O.R3)(this.element,(0,O.$)("a.action-label"))),this.label&&(this._action.id===D.Z0.ID?this.label.setAttribute("role","presentation"):this.options.isMenu?this.label.setAttribute("role","menuitem"):this.label.setAttribute("role","button")),this.options.label&&this.options.keybinding&&this.element&&((0,O.R3)(this.element,(0,O.$)("span.keybinding")).textContent=this.options.keybinding),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(s){this.label&&(this.label.tabIndex=s?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.getAction().label)}updateTooltip(){let s=null;this.getAction().tooltip?s=this.getAction().tooltip:!this.options.label&&this.getAction().label&&this.options.icon&&(s=this.getAction().label,this.options.keybinding&&(s=p.N({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",s,this.options.keybinding))),s&&this.label&&(this.label.title=s)}updateClass(){this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getAction().class,this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):this.label&&this.label.classList.remove("codicon")}updateEnabled(){this.getAction().enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),this.element&&this.element.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),this.element&&this.element.classList.add("disabled"))}updateChecked(){this.label&&(this.getAction().checked?this.label.classList.add("checked"):this.label.classList.remove("checked"))}}},21784:function(xt,Te,i){"use strict";i.d(Te,{o:function(){return p}});var h=i(69454),H=i(92813),O=i(10081),P=i(75918),D=i(4348),G=i(69323),I=i(72999),y=i(10628),E=function(a,g,w,s){function C(f){return f instanceof w?f:new w(function(v){v(f)})}return new(w||(w=Promise))(function(f,v){function r(c){try{m(s.next(c))}catch(b){v(b)}}function l(c){try{m(s.throw(c))}catch(b){v(b)}}function m(c){c.done?f(c.value):C(c.value).then(r,l)}m((s=s.apply(a,g||[])).next())})};class p extends G.JT{constructor(g,w={}){var s,C,f,v,r,l;super(),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new D.Q5),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new D.Q5({onFirstListenerAdd:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new D.Q5),this.onDidRun=this._onDidRun.event,this._onBeforeRun=this._register(new D.Q5),this.onBeforeRun=this._onBeforeRun.event,this.options=w,this._context=(s=w.context)!==null&&s!==void 0?s:null,this._orientation=(C=this.options.orientation)!==null&&C!==void 0?C:0,this._triggerKeys={keyDown:(v=(f=this.options.triggerKeys)===null||f===void 0?void 0:f.keyDown)!==null&&v!==void 0?v:!1,keys:(l=(r=this.options.triggerKeys)===null||r===void 0?void 0:r.keys)!==null&&l!==void 0?l:[3,10]},this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new P.Wi,this._register(this._actionRunner)),this._register(this._actionRunner.onDidRun(b=>this._onDidRun.fire(b))),this._register(this._actionRunner.onBeforeRun(b=>this._onBeforeRun.fire(b))),this._actionIds=[],this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar",w.animated!==!1&&this.domNode.classList.add("animated");let m,c;switch(this._orientation){case 0:m=[15],c=[17];break;case 1:m=[16],c=[18],this.domNode.className+=" vertical";break}this._register(h.nm(this.domNode,h.tw.KEY_DOWN,b=>{const L=new H.y(b);let T=!0;const M=typeof this.focusedItem=="number"?this.viewItems[this.focusedItem]:void 0;m&&(L.equals(m[0])||L.equals(m[1]))?T=this.focusPrevious():c&&(L.equals(c[0])||L.equals(c[1]))?T=this.focusNext():L.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():L.equals(14)?T=this.focusFirst():L.equals(13)?T=this.focusLast():L.equals(2)&&M instanceof O.Y&&M.trapsArrowNavigation?T=this.focusNext():this.isTriggerKeyEvent(L)?this._triggerKeys.keyDown?this.doTrigger(L):this.triggerKeyDown=!0:T=!1,T&&(L.preventDefault(),L.stopPropagation())})),this._register(h.nm(this.domNode,h.tw.KEY_UP,b=>{const L=new H.y(b);this.isTriggerKeyEvent(L)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(L)),L.preventDefault(),L.stopPropagation()):(L.equals(2)||L.equals(1026))&&this.updateFocusedItem()})),this.focusTracker=this._register(h.go(this.domNode)),this._register(this.focusTracker.onDidBlur(()=>{(h.vY()===this.domNode||!h.jg(h.vY(),this.domNode))&&(this._onDidBlur.fire(),this.focusedItem=void 0,this.triggerKeyDown=!1)})),this._register(this.focusTracker.onDidFocus(()=>this.updateFocusedItem())),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.actionsList.setAttribute("role","toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),g.appendChild(this.domNode)}isTriggerKeyEvent(g){let w=!1;return this._triggerKeys.keys.forEach(s=>{w=w||g.equals(s)}),w}updateFocusedItem(){for(let g=0;g<this.actionsList.children.length;g++){const w=this.actionsList.children[g];if(h.jg(h.vY(),w)){this.focusedItem=g;break}}}get context(){return this._context}set context(g){this._context=g,this.viewItems.forEach(w=>w.setActionContext(g))}get actionRunner(){return this._actionRunner}set actionRunner(g){g&&(this._actionRunner=g,this.viewItems.forEach(w=>w.actionRunner=g))}getContainer(){return this.domNode}push(g,w={}){const s=Array.isArray(g)?g:[g];let C=I.hj(w.index)?w.index:null;s.forEach(f=>{const v=document.createElement("li");v.className="action-item",v.setAttribute("role","presentation"),this.options.allowContextMenu||this._register(h.nm(v,h.tw.CONTEXT_MENU,l=>{h.zB.stop(l,!0)}));let r;this.options.actionViewItemProvider&&(r=this.options.actionViewItemProvider(f)),r||(r=new O.g(this.context,f,w)),r.actionRunner=this._actionRunner,r.setActionContext(this.context),r.render(v),this.focusable&&r instanceof O.Y&&this.viewItems.length===0&&r.setFocusable(!0),C===null||C<0||C>=this.actionsList.children.length?(this.actionsList.appendChild(v),this.viewItems.push(r),this._actionIds.push(f.id)):(this.actionsList.insertBefore(v,this.actionsList.children[C]),this.viewItems.splice(C,0,r),this._actionIds.splice(C,0,f.id),C++)}),typeof this.focusedItem=="number"&&this.focus(this.focusedItem)}clear(){(0,G.B9)(this.viewItems),this.viewItems=[],this._actionIds=[],h.PO(this.actionsList)}length(){return this.viewItems.length}focus(g){let w=!1,s;if(g===void 0?w=!0:typeof g=="number"?s=g:typeof g=="boolean"&&(w=g),w&&typeof this.focusedItem=="undefined"){const C=this.viewItems.findIndex(f=>f.isEnabled());this.focusedItem=C===-1?void 0:C,this.updateFocus()}else s!==void 0&&(this.focusedItem=s),this.updateFocus()}focusFirst(){return this.focusedItem=this.length()>1?1:0,this.focusPrevious()}focusLast(){return this.focusedItem=this.length()<2?0:this.length()-2,this.focusNext()}focusNext(){if(typeof this.focusedItem=="undefined")this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const g=this.focusedItem;let w;do{if(this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=g,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,w=this.viewItems[this.focusedItem]}while(this.focusedItem!==g&&this.options.focusOnlyEnabledItems&&!w.isEnabled());return this.updateFocus(),!0}focusPrevious(){if(typeof this.focusedItem=="undefined")this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const g=this.focusedItem;let w;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(this.options.preventLoopNavigation)return this.focusedItem=g,!1;this.focusedItem=this.viewItems.length-1}w=this.viewItems[this.focusedItem]}while(this.focusedItem!==g&&this.options.focusOnlyEnabledItems&&!w.isEnabled());return this.updateFocus(!0),!0}updateFocus(g,w){typeof this.focusedItem=="undefined"&&this.actionsList.focus({preventScroll:w});for(let s=0;s<this.viewItems.length;s++){const C=this.viewItems[s],f=C;if(s===this.focusedItem){let v=!0;I.mf(f.focus)||(v=!1),this.options.focusOnlyEnabledItems&&I.mf(C.isEnabled)&&!C.isEnabled()&&(v=!1),v?f.focus(g):this.actionsList.focus({preventScroll:w})}else I.mf(f.blur)&&f.blur()}}doTrigger(g){if(typeof this.focusedItem=="undefined")return;const w=this.viewItems[this.focusedItem];if(w instanceof O.Y){const s=w._context===null||w._context===void 0?g:w._context;this.run(w._action,s)}}run(g,w){return E(this,void 0,void 0,function*(){yield this._actionRunner.run(g,w)})}dispose(){(0,G.B9)(this.viewItems),this.viewItems=[],this._actionIds=[],this.getContainer().remove(),super.dispose()}}},58941:function(xt,Te,i){"use strict";i.d(Te,{Z9:function(){return p},wW:function(){return E},i7:function(){return a}});var h=i(69454),H=i(23345);const O=2e4;let P,D,G,I,y;function E(w){P=document.createElement("div"),P.className="monaco-aria-container";const s=()=>{const f=document.createElement("div");return f.className="monaco-alert",f.setAttribute("role","alert"),f.setAttribute("aria-atomic","true"),P.appendChild(f),f};D=s(),G=s();const C=()=>{const f=document.createElement("div");return f.className="monaco-status",f.setAttribute("role","complementary"),f.setAttribute("aria-live","polite"),f.setAttribute("aria-atomic","true"),P.appendChild(f),f};I=C(),y=C(),w.appendChild(P)}function p(w){P&&(D.textContent!==w?(h.PO(G),g(D,w)):(h.PO(D),g(G,w)))}function a(w){P&&(H.dz?p(w):I.textContent!==w?(h.PO(y),g(I,w)):(h.PO(I),g(y,w)))}function g(w,s){h.PO(w),s.length>O&&(s=s.substr(0,O)),w.textContent=s,w.style.visibility="hidden",w.style.visibility="visible"}},40745:function(xt,Te,i){"use strict";i.d(Te,{a:function(){return H}});var h=i(52615);function H(O){let P=O.definition;for(;P instanceof h.lA;)P=P.definition;return`.codicon-${O.id}:before { content: '${P.fontCharacter}'; }`}},24597:function(xt,Te,i){"use strict";i.d(Te,{Z:function(){return G}});var h=i(69454),H=i(51737),O=i(80470),P=i(82983);const D={badgeBackground:H.Il.fromHex("#4D4D4D"),badgeForeground:H.Il.fromHex("#FFFFFF")};class G{constructor(y,E){this.count=0,this.options=E||Object.create(null),(0,O.jB)(this.options,D,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=(0,h.R3)(y,(0,h.$)(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(y){this.count=y,this.render()}setTitleFormat(y){this.titleFormat=y,this.render()}render(){this.element.textContent=(0,P.WU)(this.countFormat,this.count),this.element.title=(0,P.WU)(this.titleFormat,this.count),this.applyStyles()}style(y){this.badgeBackground=y.badgeBackground,this.badgeForeground=y.badgeForeground,this.badgeBorder=y.badgeBorder,this.applyStyles()}applyStyles(){if(this.element){const y=this.badgeBackground?this.badgeBackground.toString():"",E=this.badgeForeground?this.badgeForeground.toString():"",p=this.badgeBorder?this.badgeBorder.toString():"";this.element.style.backgroundColor=y,this.element.style.color=E,this.element.style.borderWidth=p?"1px":"",this.element.style.borderStyle=p?"solid":"",this.element.style.borderColor=p}}}},48949:function(xt,Te,i){"use strict";i.d(Te,{q:function(){return P}});var h=i(69454),H=i(67069),O=i(80470);class P{constructor(G,I){this.supportIcons=I,this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.domNode=document.createElement("span"),this.domNode.className="monaco-highlighted-label",G.appendChild(this.domNode)}get element(){return this.domNode}set(G,I=[],y="",E){G||(G=""),E&&(G=P.escapeNewLines(G,I)),!(this.didEverRender&&this.text===G&&this.title===y&&O.fS(this.highlights,I))&&(this.text=G,this.title=y,this.highlights=I,this.render())}render(){const G=[];let I=0;for(const y of this.highlights){if(y.end===y.start)continue;if(I<y.start){const a=this.text.substring(I,y.start);G.push(h.$("span",void 0,...this.supportIcons?(0,H.T)(a):[a])),I=y.end}const E=this.text.substring(y.start,y.end),p=h.$("span.highlight",void 0,...this.supportIcons?(0,H.T)(E):[E]);y.extraClasses&&p.classList.add(y.extraClasses),G.push(p),I=y.end}if(I<this.text.length){const y=this.text.substring(I);G.push(h.$("span",void 0,...this.supportIcons?(0,H.T)(y):[y]))}h.mc(this.domNode,...G),this.title?this.domNode.title=this.title:this.domNode.removeAttribute("title"),this.didEverRender=!0}static escapeNewLines(G,I){let y=0,E=0;return G.replace(/\r\n|\r|\n/g,(p,a)=>{E=p===`\r
`?-1:0,a+=y;for(const g of I)g.end<=a||(g.start>=a&&(g.start+=E),g.end>=a&&(g.end+=E));return y+=E,"\u23CE"})}}},78032:function(xt,Te,i){"use strict";i.d(Te,{g:function(){return f}});var h=i(69454),H=i(48949),O=i(50431),P=i(96283),D=i(94186),G=i(69323),I=i(72999),y=i(13268),E=function(m,c,b,L){function T(M){return M instanceof b?M:new b(function(z){z(M)})}return new(b||(b=Promise))(function(M,z){function oe(De){try{re(L.next(De))}catch(J){z(J)}}function se(De){try{re(L.throw(De))}catch(J){z(J)}}function re(De){De.done?M(De.value):T(De.value).then(oe,se)}re((L=L.apply(m,c||[])).next())})};function p(m,c){(0,I.HD)(c)?m.title=c:c!=null&&c.markdownNotSupportedFallback?m.title=c.markdownNotSupportedFallback:m.removeAttribute("title")}class a{constructor(c,b,L){this.hoverDelegate=c,this.target=b,this.fadeInAnimation=L}update(c,b){var L;return E(this,void 0,void 0,function*(){if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let T;if(c===void 0||(0,I.HD)(c)||c instanceof HTMLElement)T=c;else if(!(0,I.mf)(c.markdown))T=(L=c.markdown)!==null&&L!==void 0?L:c.markdownNotSupportedFallback;else{this._hoverWidget||this.show((0,y.N)("iconLabel.loading","Loading..."),b),this._cancellationTokenSource=new P.A;const M=this._cancellationTokenSource.token;if(T=yield c.markdown(M),this.isDisposed||M.isCancellationRequested)return}this.show(T,b)})}show(c,b){const L=this._hoverWidget;if(this.hasContent(c)){const T={content:c,target:this.target,showPointer:this.hoverDelegate.placement==="element",hoverPosition:2,skipFadeInAnimation:!this.fadeInAnimation||!!L};this._hoverWidget=this.hoverDelegate.showHover(T,b)}L==null||L.dispose()}hasContent(c){return c?(0,D.Fr)(c)?!!c.value:!0:!1}get isDisposed(){var c;return(c=this._hoverWidget)===null||c===void 0?void 0:c.isDisposed}dispose(){var c,b;(c=this._hoverWidget)===null||c===void 0||c.dispose(),(b=this._cancellationTokenSource)===null||b===void 0||b.dispose(!0),this._cancellationTokenSource=void 0}}function g(m,c,b){let L,T;const M=(De,J)=>{var Z;De&&(T==null||T.dispose(),T=void 0),J&&(L==null||L.dispose(),L=void 0),(Z=m.onDidHideHover)===null||Z===void 0||Z.call(m)},z=(De,J,Z)=>new O._F(()=>E(this,void 0,void 0,function*(){(!T||T.isDisposed)&&(T=new a(m,Z||c,De>0),yield T.update(b,J))}),De),oe=()=>{if(L)return;const De=new G.SL,J=le=>M(!1,le.fromElement===c);De.add(h.nm(c,h.tw.MOUSE_LEAVE,J,!0));const Z=()=>M(!0,!0);De.add(h.nm(c,h.tw.MOUSE_DOWN,Z,!0));const Q={targetElements:[c],dispose:()=>{}};if(m.placement===void 0||m.placement==="mouse"){const le=xe=>Q.x=xe.x+10;De.add(h.nm(c,h.tw.MOUSE_MOVE,le,!0))}De.add(z(m.delay,!1,Q)),L=De},se=h.nm(c,h.tw.MOUSE_OVER,oe,!0);return{show:De=>{M(!1,!0),z(0,De)},hide:()=>{M(!0,!0)},update:De=>E(this,void 0,void 0,function*(){b=De,yield T==null?void 0:T.update(b)}),dispose:()=>{se.dispose(),M(!0,!0)}}}var w=i(80470),s=i(17981);class C{constructor(c){this._element=c}get element(){return this._element}set textContent(c){this.disposed||c===this._textContent||(this._textContent=c,this._element.textContent=c)}set className(c){this.disposed||c===this._className||(this._className=c,this._element.className=c)}set empty(c){this.disposed||c===this._empty||(this._empty=c,this._element.style.marginLeft=c?"0":"")}dispose(){this.disposed=!0}}class f extends G.JT{constructor(c,b){super(),this.customHovers=new Map,this.domNode=this._register(new C(h.R3(c,h.$(".monaco-icon-label")))),this.labelContainer=h.R3(this.domNode.element,h.$(".monaco-icon-label-container"));const L=h.R3(this.labelContainer,h.$("span.monaco-icon-name-container"));this.descriptionContainer=this._register(new C(h.R3(this.labelContainer,h.$("span.monaco-icon-description-container")))),b!=null&&b.supportHighlights||b!=null&&b.supportIcons?this.nameNode=new l(L,!!b.supportIcons):this.nameNode=new v(L),b!=null&&b.supportDescriptionHighlights?this.descriptionNodeFactory=()=>new H.q(h.R3(this.descriptionContainer.element,h.$("span.label-description")),!!b.supportIcons):this.descriptionNodeFactory=()=>this._register(new C(h.R3(this.descriptionContainer.element,h.$("span.label-description")))),this.hoverDelegate=b==null?void 0:b.hoverDelegate}get element(){return this.domNode.element}setLabel(c,b,L){const T=["monaco-icon-label"];L&&(L.extraClasses&&T.push(...L.extraClasses),L.italic&&T.push("italic"),L.strikethrough&&T.push("strikethrough")),this.domNode.className=T.join(" "),this.setupHover(L!=null&&L.descriptionTitle?this.labelContainer:this.element,L==null?void 0:L.title),this.nameNode.setLabel(c,L),(b||this.descriptionNode)&&(this.descriptionNode||(this.descriptionNode=this.descriptionNodeFactory()),this.descriptionNode instanceof H.q?(this.descriptionNode.set(b||"",L?L.descriptionMatches:void 0),this.setupHover(this.descriptionNode.element,L==null?void 0:L.descriptionTitle)):(this.descriptionNode.textContent=b||"",this.setupHover(this.descriptionNode.element,(L==null?void 0:L.descriptionTitle)||""),this.descriptionNode.empty=!b))}setupHover(c,b){const L=this.customHovers.get(c);if(L&&(L.dispose(),this.customHovers.delete(c)),!b){c.removeAttribute("title");return}if(!this.hoverDelegate)p(c,b);else{const T=g(this.hoverDelegate,c,b);T&&this.customHovers.set(c,T)}}dispose(){super.dispose();for(const c of this.customHovers.values())c.dispose();this.customHovers.clear()}}class v{constructor(c){this.container=c,this.label=void 0,this.singleLabel=void 0}setLabel(c,b){if(!(this.label===c&&(0,w.fS)(this.options,b)))if(this.label=c,this.options=b,typeof c=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=h.R3(this.container,h.$("a.label-name",{id:b==null?void 0:b.domId}))),this.singleLabel.textContent=c;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let L=0;L<c.length;L++){const T=c[L],M=(b==null?void 0:b.domId)&&`${b==null?void 0:b.domId}_${L}`;h.R3(this.container,h.$("a.label-name",{id:M,"data-icon-label-count":c.length,"data-icon-label-index":L,role:"treeitem"},T)),L<c.length-1&&h.R3(this.container,h.$("span.label-separator",void 0,(b==null?void 0:b.separator)||"/"))}}}}function r(m,c,b){if(!b)return;let L=0;return m.map(T=>{const M={start:L,end:L+T.length},z=b.map(oe=>s.e.intersect(M,oe)).filter(oe=>!s.e.isEmpty(oe)).map(({start:oe,end:se})=>({start:oe-L,end:se-L}));return L=M.end+c.length,z})}class l{constructor(c,b){this.container=c,this.supportIcons=b,this.label=void 0,this.singleLabel=void 0}setLabel(c,b){if(!(this.label===c&&(0,w.fS)(this.options,b)))if(this.label=c,this.options=b,typeof c=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=new H.q(h.R3(this.container,h.$("a.label-name",{id:b==null?void 0:b.domId})),this.supportIcons)),this.singleLabel.set(c,b==null?void 0:b.matches,void 0,b==null?void 0:b.labelEscapeNewLines);else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;const L=(b==null?void 0:b.separator)||"/",T=r(c,L,b==null?void 0:b.matches);for(let M=0;M<c.length;M++){const z=c[M],oe=T?T[M]:void 0,se=(b==null?void 0:b.domId)&&`${b==null?void 0:b.domId}_${M}`,re=h.$("a.label-name",{id:se,"data-icon-label-count":c.length,"data-icon-label-index":M,role:"treeitem"});new H.q(h.R3(this.container,re),this.supportIcons).set(z,oe,void 0,b==null?void 0:b.labelEscapeNewLines),M<c.length-1&&h.R3(re,h.$("span.label-separator",void 0,L))}}}}},67069:function(xt,Te,i){"use strict";i.d(Te,{T:function(){return P}});var h=i(69454),H=i(52615);const O=new RegExp(`(\\\\)?\\$\\((${H.dT.iconNameExpression}(?:${H.dT.iconModifierExpression})?)\\)`,"g");function P(G){const I=new Array;let y,E=0,p=0;for(;(y=O.exec(G))!==null;){p=y.index||0,I.push(G.substring(E,p)),E=(y.index||0)+y[0].length;const[,a,g]=y;I.push(a?`$(${g})`:D({id:g}))}return E<G.length&&I.push(G.substring(E)),I}function D(G){const I=h.$("span");return I.classList.add(...H.dT.asClassNameArray(G)),I}},50700:function(xt,Te,i){"use strict";i.d(Te,{p:function(){return v},W:function(){return f}});var h=i(69454),H=i(8035),O=i(40575),P=i(21784),D=i(58941),G=i(1336),I=i(62758),y=i(51737),E=i(4348);class p{constructor(l,m=0,c=l.length,b=m-1){this.items=l,this.start=m,this.end=c,this.index=b}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class a{constructor(l=[],m=10){this._initialize(l),this._limit=m,this._onChange()}getHistory(){return this._elements}add(l){this._history.delete(l),this._history.add(l),this._onChange()}next(){return this._currentPosition()!==this._elements.length-1?this._navigator.next():null}previous(){return this._currentPosition()!==0?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}has(l){return this._history.has(l)}_onChange(){this._reduceToLimit();const l=this._elements;this._navigator=new p(l,0,l.length,l.length)}_reduceToLimit(){const l=this._elements;l.length>this._limit&&this._initialize(l.slice(l.length-this._limit))}_currentPosition(){const l=this._navigator.current();return l?this._elements.indexOf(l):-1}_initialize(l){this._history=new Set;for(const m of l)this._history.add(m)}get _elements(){const l=[];return this._history.forEach(m=>l.push(m)),l}}var g=i(80470),w=i(13268);const s=h.$,C={inputBackground:y.Il.fromHex("#3C3C3C"),inputForeground:y.Il.fromHex("#CCCCCC"),inputValidationInfoBorder:y.Il.fromHex("#55AAFF"),inputValidationInfoBackground:y.Il.fromHex("#063B49"),inputValidationWarningBorder:y.Il.fromHex("#B89500"),inputValidationWarningBackground:y.Il.fromHex("#352A05"),inputValidationErrorBorder:y.Il.fromHex("#BE1100"),inputValidationErrorBackground:y.Il.fromHex("#5A1D1D")};class f extends I.${constructor(l,m,c){var b;super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new E.Q5),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new E.Q5),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=m,this.options=c||Object.create(null),(0,g.jB)(this.options,C,!1),this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=(b=this.options.tooltip)!==null&&b!==void 0?b:this.placeholder||"",this.ariaLabel=this.options.ariaLabel||"",this.inputBackground=this.options.inputBackground,this.inputForeground=this.options.inputForeground,this.inputBorder=this.options.inputBorder,this.inputValidationInfoBorder=this.options.inputValidationInfoBorder,this.inputValidationInfoBackground=this.options.inputValidationInfoBackground,this.inputValidationInfoForeground=this.options.inputValidationInfoForeground,this.inputValidationWarningBorder=this.options.inputValidationWarningBorder,this.inputValidationWarningBackground=this.options.inputValidationWarningBackground,this.inputValidationWarningForeground=this.options.inputValidationWarningForeground,this.inputValidationErrorBorder=this.options.inputValidationErrorBorder,this.inputValidationErrorBackground=this.options.inputValidationErrorBackground,this.inputValidationErrorForeground=this.options.inputValidationErrorForeground,this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=h.R3(l,s(".monaco-inputbox.idle"));let L=this.options.flexibleHeight?"textarea":"input",T=h.R3(this.element,s(".ibwrapper"));if(this.input=h.R3(T,s(L+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,()=>this.element.classList.add("synthetic-focus")),this.onblur(this.input,()=>this.element.classList.remove("synthetic-focus")),this.options.flexibleHeight){this.maxHeight=typeof this.options.flexibleMaxHeight=="number"?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=h.R3(T,s("div.mirror")),this.mirror.innerText="\xA0",this.scrollableElement=new G.NB(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),h.R3(l,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(oe=>this.input.scrollTop=oe.scrollTop));const M=this._register(new H.Y(document,"selectionchange")),z=E.ju.filter(M.event,()=>{const oe=document.getSelection();return(oe==null?void 0:oe.anchorNode)===T});this._register(z(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this.ignoreGesture(this.input),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new P.o(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(l){this.placeholder=l,this.input.setAttribute("placeholder",l)}setTooltip(l){this.tooltip=l,this.input.title=l}setAriaLabel(l){this.ariaLabel=l,l?this.input.setAttribute("aria-label",this.ariaLabel):this.input.removeAttribute("aria-label")}getAriaLabel(){return this.ariaLabel}get inputElement(){return this.input}get value(){return this.input.value}set value(l){this.input.value!==l&&(this.input.value=l,this.onValueChange())}get height(){return typeof this.cachedHeight=="number"?this.cachedHeight:h.wn(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return document.activeElement===this.input}select(l=null){this.input.select(),l&&(this.input.setSelectionRange(l.start,l.end),l.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}get width(){return h.w(this.input)}set width(l){if(this.options.flexibleHeight&&this.options.flexibleWidth){let m=0;if(this.mirror){const c=parseFloat(this.mirror.style.paddingLeft||"")||0,b=parseFloat(this.mirror.style.paddingRight||"")||0;m=c+b}this.input.style.width=l-m+"px"}else this.input.style.width=l+"px";this.mirror&&(this.mirror.style.width=l+"px")}set paddingRight(l){this.options.flexibleHeight&&this.options.flexibleWidth?this.input.style.width=`calc(100% - ${l}px)`:this.input.style.paddingRight=l+"px",this.mirror&&(this.mirror.style.paddingRight=l+"px")}updateScrollDimensions(){if(typeof this.cachedContentHeight!="number"||typeof this.cachedHeight!="number"||!this.scrollableElement)return;const l=this.cachedContentHeight,m=this.cachedHeight,c=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:l,height:m}),this.scrollableElement.setScrollPosition({scrollTop:c})}showMessage(l,m){this.message=l,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(l.type));const c=this.stylesForType(this.message.type);this.element.style.border=c.border?`1px solid ${c.border}`:"",(this.hasFocus()||m)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let l=null;return this.validation&&(l=this.validation(this.value),l?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(l)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),l==null?void 0:l.type}stylesForType(l){switch(l){case 1:return{border:this.inputValidationInfoBorder,background:this.inputValidationInfoBackground,foreground:this.inputValidationInfoForeground};case 2:return{border:this.inputValidationWarningBorder,background:this.inputValidationWarningBackground,foreground:this.inputValidationWarningForeground};default:return{border:this.inputValidationErrorBorder,background:this.inputValidationErrorBackground,foreground:this.inputValidationErrorForeground}}}classForType(l){switch(l){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let l,m=()=>l.style.width=h.w(this.element)+"px";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:b=>{if(!this.message)return null;l=h.R3(b,s(".monaco-inputbox-container")),m();const L={inline:!0,className:"monaco-inputbox-message"},T=this.message.formatContent?(0,O.BO)(this.message.content,L):(0,O.IY)(this.message.content,L);T.classList.add(this.classForType(this.message.type));const M=this.stylesForType(this.message.type);return T.style.backgroundColor=M.background?M.background.toString():"",T.style.color=M.foreground?M.foreground.toString():"",T.style.border=M.border?`1px solid ${M.border}`:"",h.R3(l,T),null},onHide:()=>{this.state="closed"},layout:m});let c;this.message.type===3?c=w.N("alertErrorMessage","Error: {0}",this.message.content):this.message.type===2?c=w.N("alertWarningMessage","Warning: {0}",this.message.content):c=w.N("alertInfoMessage","Info: {0}",this.message.content),D.Z9(c),this.state="open"}_hideMessage(){this.contextViewProvider&&(this.state==="open"&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),this.state==="open"&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const l=this.value,c=l.charCodeAt(l.length-1)===10?" ":"";(l+c).replace(/\u000c/g,"")?this.mirror.textContent=l+c:this.mirror.innerText="\xA0",this.layout()}style(l){this.inputBackground=l.inputBackground,this.inputForeground=l.inputForeground,this.inputBorder=l.inputBorder,this.inputValidationInfoBackground=l.inputValidationInfoBackground,this.inputValidationInfoForeground=l.inputValidationInfoForeground,this.inputValidationInfoBorder=l.inputValidationInfoBorder,this.inputValidationWarningBackground=l.inputValidationWarningBackground,this.inputValidationWarningForeground=l.inputValidationWarningForeground,this.inputValidationWarningBorder=l.inputValidationWarningBorder,this.inputValidationErrorBackground=l.inputValidationErrorBackground,this.inputValidationErrorForeground=l.inputValidationErrorForeground,this.inputValidationErrorBorder=l.inputValidationErrorBorder,this.applyStyles()}applyStyles(){const l=this.inputBackground?this.inputBackground.toString():"",m=this.inputForeground?this.inputForeground.toString():"",c=this.inputBorder?this.inputBorder.toString():"";this.element.style.backgroundColor=l,this.element.style.color=m,this.input.style.backgroundColor="inherit",this.input.style.color=m,this.element.style.borderWidth=c?"1px":"",this.element.style.borderStyle=c?"solid":"",this.element.style.borderColor=c}layout(){if(!this.mirror)return;const l=this.cachedContentHeight;this.cachedContentHeight=h.wn(this.mirror),l!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(l){const m=this.inputElement,c=m.selectionStart,b=m.selectionEnd,L=m.value;c!==null&&b!==null&&(this.value=L.substr(0,c)+l+L.substr(b),m.setSelectionRange(c+1,c+1),this.layout())}dispose(){this._hideMessage(),this.message=null,this.actionbar&&this.actionbar.dispose(),super.dispose()}}class v extends f{constructor(l,m,c){const b=w.N({key:"history.inputbox.hint",comment:["Text will be prefixed with \u21C5 plus a single space, then used as a hint where input field keeps history"]},"for history"),L=` or \u21C5 ${b}`,T=` (\u21C5 ${b})`;super(l,m,c),this.history=new a(c.history,100);const M=()=>{if(c.showHistoryHint&&c.showHistoryHint()&&!this.placeholder.endsWith(L)&&!this.placeholder.endsWith(T)&&this.history.getHistory().length){const z=this.placeholder.endsWith(")")?L:T,oe=this.placeholder+z;c.showPlaceholderOnFocus&&document.activeElement!==this.input?this.placeholder=oe:this.setPlaceHolder(oe)}};this.observer=new MutationObserver((z,oe)=>{z.forEach(se=>{se.target.textContent||M()})}),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,()=>M()),this.onblur(this.input,()=>{const z=oe=>{if(this.placeholder.endsWith(oe)){const se=this.placeholder.slice(0,this.placeholder.length-oe.length);return c.showPlaceholderOnFocus?this.placeholder=se:this.setPlaceHolder(se),!0}else return!1};z(T)||z(L)})}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(){this.value&&this.value!==this.getCurrentValue()&&this.history.add(this.value)}showNextValue(){this.history.has(this.value)||this.addToHistory();let l=this.getNextValue();l&&(l=l===this.value?this.getNextValue():l),l&&(this.value=l,D.i7(this.value))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let l=this.getPreviousValue();l&&(l=l===this.value?this.getPreviousValue():l),l&&(this.value=l,D.i7(this.value))}getCurrentValue(){let l=this.history.current();return l||(l=this.history.last(),this.history.next()),l}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()||this.history.last()}}},15674:function(xt,Te,i){"use strict";i.d(Te,{kX:function(){return T},Bv:function(){return re}});var h=i(87783),H=i(84282),O=i(69454),P=i(8035),D=i(60537),G=i(1336),I=i(43506),y=i(50431),E=i(85402),p=i(4348),a=i(69323),g=i(80470),w=i(17981),s=i(28962);function C(De,J){const Z=[];for(let Q of J){if(De.start>=Q.range.end)continue;if(De.end<Q.range.start)break;const le=w.e.intersect(De,Q.range);w.e.isEmpty(le)||Z.push({range:le,size:Q.size})}return Z}function f({start:De,end:J},Z){return{start:De+Z,end:J+Z}}function v(De){const J=[];let Z=null;for(let Q of De){const le=Q.range.start,xe=Q.range.end,j=Q.size;if(Z&&j===Z.size){Z.range.end=xe;continue}Z={range:{start:le,end:xe},size:j},J.push(Z)}return J}function r(...De){return v(De.reduce((J,Z)=>J.concat(Z),[]))}class l{constructor(){this.groups=[],this._size=0}splice(J,Z,Q=[]){const le=Q.length-Z,xe=C({start:0,end:J},this.groups),j=C({start:J+Z,end:Number.POSITIVE_INFINITY},this.groups).map(V=>({range:f(V.range,le),size:V.size})),R=Q.map((V,K)=>({range:{start:J+K,end:J+K+1},size:V.size}));this.groups=r(xe,R,j),this._size=this.groups.reduce((V,K)=>V+K.size*(K.range.end-K.range.start),0)}get count(){const J=this.groups.length;return J?this.groups[J-1].range.end:0}get size(){return this._size}indexAt(J){if(J<0)return-1;let Z=0,Q=0;for(let le of this.groups){const xe=le.range.end-le.range.start,j=Q+xe*le.size;if(J<j)return Z+Math.floor((J-Q)/le.size);Z+=xe,Q=j}return Z}indexAfter(J){return Math.min(this.indexAt(J)+1,this.count)}positionAt(J){if(J<0)return-1;let Z=0,Q=0;for(let le of this.groups){const xe=le.range.end-le.range.start,j=Q+xe;if(J<j)return Z+(J-Q)*le.size;Z+=xe*le.size,Q=j}return-1}}function m(De){try{De.parentElement&&De.parentElement.removeChild(De)}catch(J){}}class c{constructor(J){this.renderers=J,this.cache=new Map}alloc(J){let Z=this.getTemplateCache(J).pop();if(!Z){const Q=(0,O.$)(".monaco-list-row"),xe=this.getRenderer(J).renderTemplate(Q);Z={domNode:Q,templateId:J,templateData:xe}}return Z}release(J){J&&this.releaseRow(J)}releaseRow(J){const{domNode:Z,templateId:Q}=J;Z&&(Z.classList.remove("scrolling"),m(Z)),this.getTemplateCache(Q).push(J)}getTemplateCache(J){let Z=this.cache.get(J);return Z||(Z=[],this.cache.set(J,Z)),Z}dispose(){this.cache.forEach((J,Z)=>{for(const Q of J)this.getRenderer(Z).disposeTemplate(Q.templateData),Q.templateData=null}),this.cache.clear()}getRenderer(J){const Z=this.renderers.get(J);if(!Z)throw new Error(`No renderer found for ${J}`);return Z}}var b=function(De,J,Z,Q){var le=arguments.length,xe=le<3?J:Q===null?Q=Object.getOwnPropertyDescriptor(J,Z):Q,j;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")xe=Reflect.decorate(De,J,Z,Q);else for(var R=De.length-1;R>=0;R--)(j=De[R])&&(xe=(le<3?j(xe):le>3?j(J,Z,xe):j(J,Z))||xe);return le>3&&xe&&Object.defineProperty(J,Z,xe),xe};const L={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements(De){return[De]},getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class T{constructor(J){this.elements=J}update(){}getData(){return this.elements}}class M{constructor(J){this.elements=J}update(){}getData(){return this.elements}}class z{constructor(){this.types=[],this.files=[]}update(J){if(J.types&&this.types.splice(0,this.types.length,...J.types),J.files){this.files.splice(0,this.files.length);for(let Z=0;Z<J.files.length;Z++){const Q=J.files.item(Z);Q&&(Q.size||Q.type)&&this.files.push(Q)}}}getData(){return{types:this.types,files:this.files}}}function oe(De,J){return Array.isArray(De)&&Array.isArray(J)?(0,I.fS)(De,J):De===J}class se{constructor(J){J!=null&&J.getSetSize?this.getSetSize=J.getSetSize.bind(J):this.getSetSize=(Z,Q,le)=>le,J!=null&&J.getPosInSet?this.getPosInSet=J.getPosInSet.bind(J):this.getPosInSet=(Z,Q)=>Q+1,J!=null&&J.getRole?this.getRole=J.getRole.bind(J):this.getRole=Z=>"listitem",J!=null&&J.isChecked?this.isChecked=J.isChecked.bind(J):this.isChecked=Z=>{}}}class re{constructor(J,Z,Q,le=L){if(this.virtualDelegate=Z,this.domId=`list_id_${++re.InstanceCount}`,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new y.vp(50),this.splicing=!1,this.dragOverAnimationStopDisposable=a.JT.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=a.JT.None,this.onDragLeaveTimeout=a.JT.None,this.disposables=new a.SL,this._onDidChangeContentHeight=new p.Q5,this._horizontalScrolling=!1,le.horizontalScrolling&&le.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=new l;for(const j of Q)this.renderers.set(j.templateId,j);this.cache=this.disposables.add(new c(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support",typeof le.mouseSupport=="boolean"?le.mouseSupport:!0),this._horizontalScrolling=(0,g.CJ)(le,j=>j.horizontalScrolling,L.horizontalScrolling),this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.additionalScrollHeight=typeof le.additionalScrollHeight=="undefined"?0:le.additionalScrollHeight,this.accessibilityProvider=new se(le.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",(0,g.CJ)(le,j=>j.transformOptimization,L.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)"),this.disposables.add(D.o.addTarget(this.rowsContainer)),this.scrollable=new s.Rm((0,g.CJ)(le,j=>j.smoothScrolling,!1)?125:0,j=>(0,O.jL)(j)),this.scrollableElement=this.disposables.add(new G.$Z(this.rowsContainer,{alwaysConsumeMouseWheel:(0,g.CJ)(le,j=>j.alwaysConsumeMouseWheel,L.alwaysConsumeMouseWheel),horizontal:1,vertical:(0,g.CJ)(le,j=>j.verticalScrollMode,L.verticalScrollMode),useShadows:(0,g.CJ)(le,j=>j.useShadows,L.useShadows),mouseWheelScrollSensitivity:le.mouseWheelScrollSensitivity,fastScrollSensitivity:le.fastScrollSensitivity},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),J.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add((0,O.nm)(this.rowsContainer,D.t.Change,j=>this.onTouchChange(j))),this.disposables.add((0,O.nm)(this.scrollableElement.getDomNode(),"scroll",j=>j.target.scrollTop=0)),this.disposables.add((0,O.nm)(this.domNode,"dragover",j=>this.onDragOver(this.toDragEvent(j)))),this.disposables.add((0,O.nm)(this.domNode,"drop",j=>this.onDrop(this.toDragEvent(j)))),this.disposables.add((0,O.nm)(this.domNode,"dragleave",j=>this.onDragLeave(this.toDragEvent(j)))),this.disposables.add((0,O.nm)(this.domNode,"dragend",j=>this.onDragEnd(j))),this.setRowLineHeight=(0,g.CJ)(le,j=>j.setRowLineHeight,L.setRowLineHeight),this.setRowHeight=(0,g.CJ)(le,j=>j.setRowHeight,L.setRowHeight),this.supportDynamicHeights=(0,g.CJ)(le,j=>j.supportDynamicHeights,L.supportDynamicHeights),this.dnd=(0,g.CJ)(le,j=>j.dnd,L.dnd),this.layout()}get contentHeight(){return this.rangeMap.size}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(J){if(J!==this._horizontalScrolling){if(J&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=J,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const Z of this.items)this.measureItemWidth(Z);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:(0,O.FK)(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}updateOptions(J){J.additionalScrollHeight!==void 0&&(this.additionalScrollHeight=J.additionalScrollHeight,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),J.smoothScrolling!==void 0&&this.scrollable.setSmoothScrollDuration(J.smoothScrolling?125:0),J.horizontalScrolling!==void 0&&(this.horizontalScrolling=J.horizontalScrolling),J.mouseWheelScrollSensitivity!==void 0&&this.scrollableElement.updateOptions({mouseWheelScrollSensitivity:J.mouseWheelScrollSensitivity}),J.fastScrollSensitivity!==void 0&&this.scrollableElement.updateOptions({fastScrollSensitivity:J.fastScrollSensitivity})}splice(J,Z,Q=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(J,Z,Q)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(J,Z,Q=[]){const le=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),xe={start:J,end:J+Z},j=w.e.intersect(le,xe),R=new Map;for(let fe=j.start;fe<j.end;fe++){const ne=this.items[fe];if(ne.dragStartDisposable.dispose(),ne.row){let W=R.get(ne.templateId);W||(W=[],R.set(ne.templateId,W));const $=this.renderers.get(ne.templateId);$&&$.disposeElement&&$.disposeElement(ne.element,fe,ne.row.templateData,ne.size),W.push(ne.row)}ne.row=null}const V={start:J+Z,end:this.items.length},K=w.e.intersect(V,le),ie=w.e.relativeComplement(V,le),te=Q.map(fe=>({id:String(this.itemId++),element:fe,templateId:this.virtualDelegate.getTemplateId(fe),size:this.virtualDelegate.getHeight(fe),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(fe),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:a.JT.None}));let ge;J===0&&Z>=this.items.length?(this.rangeMap=new l,this.rangeMap.splice(0,0,te),ge=this.items,this.items=te):(this.rangeMap.splice(J,Z,te),ge=this.items.splice(J,Z,...te));const ye=Q.length-Z,ve=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),Fe=f(K,ye),we=w.e.intersect(ve,Fe);for(let fe=we.start;fe<we.end;fe++)this.updateItemInDOM(this.items[fe],fe);const ue=w.e.relativeComplement(Fe,ve);for(const fe of ue)for(let ne=fe.start;ne<fe.end;ne++)this.removeItemFromDOM(ne);const ce=ie.map(fe=>f(fe,ye)),We=[{start:J,end:J+Q.length},...ce].map(fe=>w.e.intersect(ve,fe)),ae=this.getNextToLastElement(We);for(const fe of We)for(let ne=fe.start;ne<fe.end;ne++){const W=this.items[ne],$=R.get(W.templateId),ee=$==null?void 0:$.pop();this.insertItemInDOM(ne,ae,ee)}for(const fe of R.values())for(const ne of fe)this.cache.release(ne);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),ge.map(fe=>fe.element)}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=(0,O.jL)(()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null}))}eventuallyUpdateScrollWidth(){if(!this.horizontalScrolling){this.scrollableElementWidthDelayer.cancel();return}this.scrollableElementWidthDelayer.trigger(()=>this.updateScrollWidth())}updateScrollWidth(){if(!this.horizontalScrolling)return;let J=0;for(const Z of this.items)typeof Z.width!="undefined"&&(J=Math.max(J,Z.width));this.scrollWidth=J,this.scrollableElement.setScrollDimensions({scrollWidth:J===0?0:J+10})}rerender(){if(this.supportDynamicHeights){for(const J of this.items)J.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}element(J){return this.items[J].element}domElement(J){const Z=this.items[J].row;return Z&&Z.domNode}elementHeight(J){return this.items[J].size}elementTop(J){return this.rangeMap.positionAt(J)}indexAt(J){return this.rangeMap.indexAt(J)}indexAfter(J){return this.rangeMap.indexAfter(J)}layout(J,Z){let Q={height:typeof J=="number"?J:(0,O.If)(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,Q.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(Q),typeof Z!="undefined"&&(this.renderWidth=Z,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:typeof Z=="number"?Z:(0,O.FK)(this.domNode)})}render(J,Z,Q,le,xe,j=!1){const R=this.getRenderRange(Z,Q),V=w.e.relativeComplement(R,J),K=w.e.relativeComplement(J,R),ie=this.getNextToLastElement(V);if(j){const te=w.e.intersect(J,R);for(let ge=te.start;ge<te.end;ge++)this.updateItemInDOM(this.items[ge],ge)}for(const te of V)for(let ge=te.start;ge<te.end;ge++)this.insertItemInDOM(ge,ie);for(const te of K)for(let ge=te.start;ge<te.end;ge++)this.removeItemFromDOM(ge);le!==void 0&&(this.rowsContainer.style.left=`-${le}px`),this.rowsContainer.style.top=`-${Z}px`,this.horizontalScrolling&&xe!==void 0&&(this.rowsContainer.style.width=`${Math.max(xe,this.renderWidth)}px`),this.lastRenderTop=Z,this.lastRenderHeight=Q}insertItemInDOM(J,Z,Q){const le=this.items[J];le.row||(le.row=Q!=null?Q:this.cache.alloc(le.templateId));const xe=this.accessibilityProvider.getRole(le.element)||"listitem";le.row.domNode.setAttribute("role",xe);const j=this.accessibilityProvider.isChecked(le.element);typeof j!="undefined"&&le.row.domNode.setAttribute("aria-checked",String(!!j)),le.row.domNode.parentElement||(Z?this.rowsContainer.insertBefore(le.row.domNode,Z):this.rowsContainer.appendChild(le.row.domNode)),this.updateItemInDOM(le,J);const R=this.renderers.get(le.templateId);if(!R)throw new Error(`No renderer found for template id ${le.templateId}`);R&&R.renderElement(le.element,J,le.row.templateData,le.size);const V=this.dnd.getDragURI(le.element);le.dragStartDisposable.dispose(),le.row.domNode.draggable=!!V,V&&(le.dragStartDisposable=(0,O.nm)(le.row.domNode,"dragstart",K=>this.onDragStart(le.element,V,K))),this.horizontalScrolling&&(this.measureItemWidth(le),this.eventuallyUpdateScrollWidth())}measureItemWidth(J){if(!J.row||!J.row.domNode)return;J.row.domNode.style.width=h.vU?"-moz-fit-content":"fit-content",J.width=(0,O.FK)(J.row.domNode);const Z=window.getComputedStyle(J.row.domNode);Z.paddingLeft&&(J.width+=parseFloat(Z.paddingLeft)),Z.paddingRight&&(J.width+=parseFloat(Z.paddingRight)),J.row.domNode.style.width=""}updateItemInDOM(J,Z){J.row.domNode.style.top=`${this.elementTop(Z)}px`,this.setRowHeight&&(J.row.domNode.style.height=`${J.size}px`),this.setRowLineHeight&&(J.row.domNode.style.lineHeight=`${J.size}px`),J.row.domNode.setAttribute("data-index",`${Z}`),J.row.domNode.setAttribute("data-last-element",Z===this.length-1?"true":"false"),J.row.domNode.setAttribute("data-parity",Z%2===0?"even":"odd"),J.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(J.element,Z,this.length))),J.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(J.element,Z))),J.row.domNode.setAttribute("id",this.getElementDomId(Z)),J.row.domNode.classList.toggle("drop-target",J.dropTarget)}removeItemFromDOM(J){const Z=this.items[J];if(Z.dragStartDisposable.dispose(),Z.row){const Q=this.renderers.get(Z.templateId);Q&&Q.disposeElement&&Q.disposeElement(Z.element,J,Z.row.templateData,Z.size),this.cache.release(Z.row),Z.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(J,Z){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:J,reuseAnimation:Z})}get scrollTop(){return this.getScrollTop()}set scrollTop(J){this.setScrollTop(J)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.additionalScrollHeight}get onMouseClick(){return p.ju.map(this.disposables.add(new P.Y(this.domNode,"click")).event,J=>this.toMouseEvent(J))}get onMouseDblClick(){return p.ju.map(this.disposables.add(new P.Y(this.domNode,"dblclick")).event,J=>this.toMouseEvent(J))}get onMouseMiddleClick(){return p.ju.filter(p.ju.map(this.disposables.add(new P.Y(this.domNode,"auxclick")).event,J=>this.toMouseEvent(J)),J=>J.browserEvent.button===1)}get onMouseDown(){return p.ju.map(this.disposables.add(new P.Y(this.domNode,"mousedown")).event,J=>this.toMouseEvent(J))}get onContextMenu(){return p.ju.any(p.ju.map(this.disposables.add(new P.Y(this.domNode,"contextmenu")).event,J=>this.toMouseEvent(J)),p.ju.map(this.disposables.add(new P.Y(this.domNode,D.t.Contextmenu)).event,J=>this.toGestureEvent(J)))}get onTouchStart(){return p.ju.map(this.disposables.add(new P.Y(this.domNode,"touchstart")).event,J=>this.toTouchEvent(J))}get onTap(){return p.ju.map(this.disposables.add(new P.Y(this.rowsContainer,D.t.Tap)).event,J=>this.toGestureEvent(J))}toMouseEvent(J){const Z=this.getItemIndexFromEventTarget(J.target||null),Q=typeof Z=="undefined"?void 0:this.items[Z],le=Q&&Q.element;return{browserEvent:J,index:Z,element:le}}toTouchEvent(J){const Z=this.getItemIndexFromEventTarget(J.target||null),Q=typeof Z=="undefined"?void 0:this.items[Z],le=Q&&Q.element;return{browserEvent:J,index:Z,element:le}}toGestureEvent(J){const Z=this.getItemIndexFromEventTarget(J.initialTarget||null),Q=typeof Z=="undefined"?void 0:this.items[Z],le=Q&&Q.element;return{browserEvent:J,index:Z,element:le}}toDragEvent(J){const Z=this.getItemIndexFromEventTarget(J.target||null),Q=typeof Z=="undefined"?void 0:this.items[Z],le=Q&&Q.element;return{browserEvent:J,index:Z,element:le}}onScroll(J){try{const Z=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(Z,J.scrollTop,J.height,J.scrollLeft,J.scrollWidth),this.supportDynamicHeights&&this._rerender(J.scrollTop,J.height,J.inSmoothScrolling)}catch(Z){throw console.error("Got bad scroll event:",J),Z}}onTouchChange(J){J.preventDefault(),J.stopPropagation(),this.scrollTop-=J.translationY}onDragStart(J,Z,Q){if(!Q.dataTransfer)return;const le=this.dnd.getDragElements(J);if(Q.dataTransfer.effectAllowed="copyMove",Q.dataTransfer.setData(H.go.TEXT,Z),Q.dataTransfer.setDragImage){let xe;this.dnd.getDragLabel&&(xe=this.dnd.getDragLabel(le,Q)),typeof xe=="undefined"&&(xe=String(le.length));const j=(0,O.$)(".monaco-drag-image");j.textContent=xe,document.body.appendChild(j),Q.dataTransfer.setDragImage(j,-10,-10),setTimeout(()=>document.body.removeChild(j),0)}this.currentDragData=new T(le),H.P$.CurrentDragAndDropData=new M(le),this.dnd.onDragStart&&this.dnd.onDragStart(this.currentDragData,Q)}onDragOver(J){if(J.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),H.P$.CurrentDragAndDropData&&H.P$.CurrentDragAndDropData.getData()==="vscode-ui"||(this.setupDragAndDropScrollTopAnimation(J.browserEvent),!J.browserEvent.dataTransfer))return!1;if(!this.currentDragData)if(H.P$.CurrentDragAndDropData)this.currentDragData=H.P$.CurrentDragAndDropData;else{if(!J.browserEvent.dataTransfer.types)return!1;this.currentDragData=new z}const Z=this.dnd.onDragOver(this.currentDragData,J.element,J.index,J.browserEvent);if(this.canDrop=typeof Z=="boolean"?Z:Z.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;J.browserEvent.dataTransfer.dropEffect=typeof Z!="boolean"&&Z.effect===0?"copy":"move";let Q;if(typeof Z!="boolean"&&Z.feedback?Q=Z.feedback:typeof J.index=="undefined"?Q=[-1]:Q=[J.index],Q=(0,I.EB)(Q).filter(le=>le>=-1&&le<this.length).sort((le,xe)=>le-xe),Q=Q[0]===-1?[-1]:Q,oe(this.currentDragFeedback,Q))return!0;if(this.currentDragFeedback=Q,this.currentDragFeedbackDisposable.dispose(),Q[0]===-1)this.domNode.classList.add("drop-target"),this.rowsContainer.classList.add("drop-target"),this.currentDragFeedbackDisposable=(0,a.OF)(()=>{this.domNode.classList.remove("drop-target"),this.rowsContainer.classList.remove("drop-target")});else{for(const le of Q){const xe=this.items[le];xe.dropTarget=!0,xe.row&&xe.row.domNode.classList.add("drop-target")}this.currentDragFeedbackDisposable=(0,a.OF)(()=>{for(const le of Q){const xe=this.items[le];xe.dropTarget=!1,xe.row&&xe.row.domNode.classList.remove("drop-target")}})}return!0}onDragLeave(J){var Z,Q;this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=(0,y.Vg)(()=>this.clearDragOverFeedback(),100),this.currentDragData&&((Q=(Z=this.dnd).onDragLeave)===null||Q===void 0||Q.call(Z,this.currentDragData,J.element,J.index,J.browserEvent))}onDrop(J){if(!this.canDrop)return;const Z=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.currentDragData=void 0,H.P$.CurrentDragAndDropData=void 0,!(!Z||!J.browserEvent.dataTransfer)&&(J.browserEvent.preventDefault(),Z.update(J.browserEvent.dataTransfer),this.dnd.drop(Z,J.element,J.index,J.browserEvent))}onDragEnd(J){this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.currentDragData=void 0,H.P$.CurrentDragAndDropData=void 0,this.dnd.onDragEnd&&this.dnd.onDragEnd(J)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=a.JT.None}setupDragAndDropScrollTopAnimation(J){if(!this.dragOverAnimationDisposable){const Z=(0,O.xQ)(this.domNode).top;this.dragOverAnimationDisposable=(0,O.jt)(this.animateDragAndDropScrollTop.bind(this,Z))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=(0,y.Vg)(()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},1e3),this.dragOverMouseY=J.pageY}animateDragAndDropScrollTop(J){if(this.dragOverMouseY===void 0)return;const Z=this.dragOverMouseY-J,Q=this.renderHeight-35;Z<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(Z-35))):Z>Q&&(this.scrollTop+=Math.min(14,Math.floor(.3*(Z-Q))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getItemIndexFromEventTarget(J){const Z=this.scrollableElement.getDomNode();let Q=J;for(;Q instanceof HTMLElement&&Q!==this.rowsContainer&&Z.contains(Q);){const le=Q.getAttribute("data-index");if(le){const xe=Number(le);if(!isNaN(xe))return xe}Q=Q.parentElement}}getRenderRange(J,Z){return{start:this.rangeMap.indexAt(J),end:this.rangeMap.indexAfter(J+Z-1)}}_rerender(J,Z,Q){const le=this.getRenderRange(J,Z);let xe,j;J===this.elementTop(le.start)?(xe=le.start,j=0):le.end-le.start>1&&(xe=le.start+1,j=this.elementTop(xe)-J);let R=0;for(;;){const V=this.getRenderRange(J,Z);let K=!1;for(let ie=V.start;ie<V.end;ie++){const te=this.probeDynamicHeight(ie);te!==0&&this.rangeMap.splice(ie,1,[this.items[ie]]),R+=te,K=K||te!==0}if(!K){R!==0&&this.eventuallyUpdateScrollDimensions();const ie=w.e.relativeComplement(le,V);for(const ge of ie)for(let ye=ge.start;ye<ge.end;ye++)this.items[ye].row&&this.removeItemFromDOM(ye);const te=w.e.relativeComplement(V,le);for(const ge of te)for(let ye=ge.start;ye<ge.end;ye++){const ve=ye+1,Fe=ve<this.items.length?this.items[ve].row:null,we=Fe?Fe.domNode:null;this.insertItemInDOM(ye,we)}for(let ge=V.start;ge<V.end;ge++)this.items[ge].row&&this.updateItemInDOM(this.items[ge],ge);if(typeof xe=="number"){const ge=this.scrollable.getFutureScrollPosition().scrollTop-J,ye=this.elementTop(xe)-j+ge;this.setScrollTop(ye,Q)}this._onDidChangeContentHeight.fire(this.contentHeight);return}}}probeDynamicHeight(J){const Z=this.items[J];if(this.virtualDelegate.getDynamicHeight){const j=this.virtualDelegate.getDynamicHeight(Z.element);if(j!==null){const R=Z.size;return Z.size=j,Z.lastDynamicHeightWidth=this.renderWidth,j-R}}if(!Z.hasDynamicHeight||Z.lastDynamicHeightWidth===this.renderWidth||this.virtualDelegate.hasDynamicHeight&&!this.virtualDelegate.hasDynamicHeight(Z.element))return 0;const Q=Z.size;if(!this.setRowHeight&&Z.row){let j=Z.row.domNode.offsetHeight;return Z.size=j,Z.lastDynamicHeightWidth=this.renderWidth,j-Q}const le=this.cache.alloc(Z.templateId);le.domNode.style.height="",this.rowsContainer.appendChild(le.domNode);const xe=this.renderers.get(Z.templateId);return xe&&(xe.renderElement(Z.element,J,le.templateData,void 0),xe.disposeElement&&xe.disposeElement(Z.element,J,le.templateData,void 0)),Z.size=le.domNode.offsetHeight,this.virtualDelegate.setDynamicHeight&&this.virtualDelegate.setDynamicHeight(Z.element,Z.size),Z.lastDynamicHeightWidth=this.renderWidth,this.rowsContainer.removeChild(le.domNode),this.cache.release(le),Z.size-Q}getNextToLastElement(J){const Z=J[J.length-1];if(!Z)return null;const Q=this.items[Z.end];return!Q||!Q.row?null:Q.row.domNode}getElementDomId(J){return`${this.domId}_${J}`}dispose(){if(this.items){for(const J of this.items)if(J.row){const Z=this.renderers.get(J.row.templateId);Z&&(Z.disposeElement&&Z.disposeElement(J.element,-1,J.row.templateData,void 0),Z.disposeTemplate(J.row.templateData))}this.items=[]}this.domNode&&this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),(0,a.B9)(this.disposables)}}re.InstanceCount=0,b([E.H],re.prototype,"onMouseClick",null),b([E.H],re.prototype,"onMouseDblClick",null),b([E.H],re.prototype,"onMouseMiddleClick",null),b([E.H],re.prototype,"onMouseDown",null),b([E.H],re.prototype,"onContextMenu",null),b([E.H],re.prototype,"onTouchStart",null),b([E.H],re.prototype,"onTap",null)},62685:function(xt,Te,i){"use strict";i.d(Te,{WK:function(){return J},wD:function(){return K},aV:function(){return Ve},sx:function(){return V},cK:function(){return oe},hD:function(){return se},wn:function(){return xe},Zo:function(){return le}});var h=i(69454),H=i(8035),O=i(92813),P=i(60537),D=i(58941);class G{constructor(ae){this.spliceables=ae}splice(ae,fe,ne){this.spliceables.forEach(W=>W.splice(ae,fe,ne))}}var I=i(43506),y=i(50431),E=i(51737),p=i(85402),a=i(4348),g=i(99599),w=i(69323),s=i(56722),C=i(80470),f=i(23345),v=i(72999),r=i(51488);class l extends Error{constructor(ae,fe){super(`ListError [${ae}] ${fe}`)}}var m=i(15674),c=function(We,ae,fe,ne){var W=arguments.length,$=W<3?ae:ne===null?ne=Object.getOwnPropertyDescriptor(ae,fe):ne,ee;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")$=Reflect.decorate(We,ae,fe,ne);else for(var he=We.length-1;he>=0;he--)(ee=We[he])&&($=(W<3?ee($):W>3?ee(ae,fe,$):ee(ae,fe))||$);return W>3&&$&&Object.defineProperty(ae,fe,$),$},b=function(We,ae,fe,ne){function W($){return $ instanceof fe?$:new fe(function(ee){ee($)})}return new(fe||(fe=Promise))(function($,ee){function he(it){try{Ye(ne.next(it))}catch(rt){ee(rt)}}function Pe(it){try{Ye(ne.throw(it))}catch(rt){ee(rt)}}function Ye(it){it.done?$(it.value):W(it.value).then(he,Pe)}Ye((ne=ne.apply(We,ae||[])).next())})};class L{constructor(ae){this.trait=ae,this.renderedElements=[]}get templateId(){return`template:${this.trait.trait}`}renderTemplate(ae){return ae}renderElement(ae,fe,ne){const W=this.renderedElements.findIndex($=>$.templateData===ne);if(W>=0){const $=this.renderedElements[W];this.trait.unrender(ne),$.index=fe}else{const $={index:fe,templateData:ne};this.renderedElements.push($)}this.trait.renderIndex(fe,ne)}splice(ae,fe,ne){const W=[];for(const $ of this.renderedElements)$.index<ae?W.push($):$.index>=ae+fe&&W.push({index:$.index+ne-fe,templateData:$.templateData});this.renderedElements=W}renderIndexes(ae){for(const{index:fe,templateData:ne}of this.renderedElements)ae.indexOf(fe)>-1&&this.trait.renderIndex(fe,ne)}disposeTemplate(ae){const fe=this.renderedElements.findIndex(ne=>ne.templateData===ae);fe<0||this.renderedElements.splice(fe,1)}}class T{constructor(ae){this._trait=ae,this.length=0,this.indexes=[],this.sortedIndexes=[],this._onChange=new a.Q5,this.onChange=this._onChange.event}get trait(){return this._trait}get renderer(){return new L(this)}splice(ae,fe,ne){var W;fe=Math.max(0,Math.min(fe,this.length-ae));const $=ne.length-fe,ee=ae+fe,he=[...this.sortedIndexes.filter(Ye=>Ye<ae),...ne.map((Ye,it)=>Ye?it+ae:-1).filter(Ye=>Ye!==-1),...this.sortedIndexes.filter(Ye=>Ye>=ee).map(Ye=>Ye+$)],Pe=this.length+$;if(this.sortedIndexes.length>0&&he.length===0&&Pe>0){const Ye=(W=this.sortedIndexes.find(it=>it>=ae))!==null&&W!==void 0?W:Pe-1;he.push(Math.min(Ye,Pe-1))}this.renderer.splice(ae,fe,ne.length),this._set(he,he),this.length=Pe}renderIndex(ae,fe){fe.classList.toggle(this._trait,this.contains(ae))}unrender(ae){ae.classList.remove(this._trait)}set(ae,fe){return this._set(ae,[...ae].sort(Fe),fe)}_set(ae,fe,ne){const W=this.indexes,$=this.sortedIndexes;this.indexes=ae,this.sortedIndexes=fe;const ee=ye($,ae);return this.renderer.renderIndexes(ee),this._onChange.fire({indexes:ae,browserEvent:ne}),W}get(){return this.indexes}contains(ae){return(0,I.ry)(this.sortedIndexes,ae,Fe)>=0}dispose(){(0,w.B9)(this._onChange)}}c([p.H],T.prototype,"renderer",null);class M extends T{constructor(ae){super("selected"),this.setAriaSelected=ae}renderIndex(ae,fe){super.renderIndex(ae,fe),this.setAriaSelected&&(this.contains(ae)?fe.setAttribute("aria-selected","true"):fe.setAttribute("aria-selected","false"))}}class z{constructor(ae,fe,ne){this.trait=ae,this.view=fe,this.identityProvider=ne}splice(ae,fe,ne){if(!this.identityProvider)return this.trait.splice(ae,fe,ne.map(()=>!1));const W=this.trait.get().map(ee=>this.identityProvider.getId(this.view.element(ee)).toString()),$=ne.map(ee=>W.indexOf(this.identityProvider.getId(ee).toString())>-1);this.trait.splice(ae,fe,$)}}function oe(We){return We.tagName==="INPUT"||We.tagName==="TEXTAREA"}function se(We){return We.classList.contains("monaco-editor")?!0:We.classList.contains("monaco-list")||!We.parentElement?!1:se(We.parentElement)}class re{constructor(ae,fe,ne){this.list=ae,this.view=fe,this.disposables=new w.SL,this.multipleSelectionDisposables=new w.SL,this.onKeyDown.filter(W=>W.keyCode===3).on(this.onEnter,this,this.disposables),this.onKeyDown.filter(W=>W.keyCode===16).on(this.onUpArrow,this,this.disposables),this.onKeyDown.filter(W=>W.keyCode===18).on(this.onDownArrow,this,this.disposables),this.onKeyDown.filter(W=>W.keyCode===11).on(this.onPageUpArrow,this,this.disposables),this.onKeyDown.filter(W=>W.keyCode===12).on(this.onPageDownArrow,this,this.disposables),this.onKeyDown.filter(W=>W.keyCode===9).on(this.onEscape,this,this.disposables),ne.multipleSelectionSupport!==!1&&this.onKeyDown.filter(W=>(f.dz?W.metaKey:W.ctrlKey)&&W.keyCode===31).on(this.onCtrlA,this,this.multipleSelectionDisposables)}get onKeyDown(){return a.ju.chain(this.disposables.add(new H.Y(this.view.domNode,"keydown")).event).filter(ae=>!oe(ae.target)).map(ae=>new O.y(ae))}updateOptions(ae){ae.multipleSelectionSupport!==void 0&&(this.multipleSelectionDisposables.clear(),ae.multipleSelectionSupport&&this.onKeyDown.filter(fe=>(f.dz?fe.metaKey:fe.ctrlKey)&&fe.keyCode===31).on(this.onCtrlA,this,this.multipleSelectionDisposables))}onEnter(ae){ae.preventDefault(),ae.stopPropagation(),this.list.setSelection(this.list.getFocus(),ae.browserEvent)}onUpArrow(ae){ae.preventDefault(),ae.stopPropagation(),this.list.focusPrevious(1,!1,ae.browserEvent);const fe=this.list.getFocus()[0];this.list.setAnchor(fe),this.list.reveal(fe),this.view.domNode.focus()}onDownArrow(ae){ae.preventDefault(),ae.stopPropagation(),this.list.focusNext(1,!1,ae.browserEvent);const fe=this.list.getFocus()[0];this.list.setAnchor(fe),this.list.reveal(fe),this.view.domNode.focus()}onPageUpArrow(ae){ae.preventDefault(),ae.stopPropagation(),this.list.focusPreviousPage(ae.browserEvent);const fe=this.list.getFocus()[0];this.list.setAnchor(fe),this.list.reveal(fe),this.view.domNode.focus()}onPageDownArrow(ae){ae.preventDefault(),ae.stopPropagation(),this.list.focusNextPage(ae.browserEvent);const fe=this.list.getFocus()[0];this.list.setAnchor(fe),this.list.reveal(fe),this.view.domNode.focus()}onCtrlA(ae){ae.preventDefault(),ae.stopPropagation(),this.list.setSelection((0,I.w6)(this.list.length),ae.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(ae){this.list.getSelection().length&&(ae.preventDefault(),ae.stopPropagation(),this.list.setSelection([],ae.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}c([p.H],re.prototype,"onKeyDown",null);var De;(function(We){We[We.Idle=0]="Idle",We[We.Typing=1]="Typing"})(De||(De={}));const J=new class{mightProducePrintableCharacter(We){return We.ctrlKey||We.metaKey||We.altKey?!1:We.keyCode>=31&&We.keyCode<=56||We.keyCode>=21&&We.keyCode<=30||We.keyCode>=93&&We.keyCode<=102||We.keyCode>=80&&We.keyCode<=90}};class Z{constructor(ae,fe,ne,W){this.list=ae,this.view=fe,this.keyboardNavigationLabelProvider=ne,this.delegate=W,this.enabled=!1,this.state=De.Idle,this.automaticKeyboardNavigation=!0,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new w.SL,this.disposables=new w.SL,this.updateOptions(ae.options)}updateOptions(ae){(typeof ae.enableKeyboardNavigation=="undefined"?!0:!!ae.enableKeyboardNavigation)?this.enable():this.disable(),typeof ae.automaticKeyboardNavigation!="undefined"&&(this.automaticKeyboardNavigation=ae.automaticKeyboardNavigation)}enable(){if(this.enabled)return;const ae=a.ju.chain(this.enabledDisposables.add(new H.Y(this.view.domNode,"keydown")).event).filter(W=>!oe(W.target)).filter(()=>this.automaticKeyboardNavigation||this.triggered).map(W=>new O.y(W)).filter(W=>this.delegate.mightProducePrintableCharacter(W)).forEach(W=>{W.stopPropagation(),W.preventDefault()}).map(W=>W.browserEvent.key).event,fe=a.ju.debounce(ae,()=>null,800);a.ju.reduce(a.ju.any(ae,fe),(W,$)=>$===null?null:(W||"")+$)(this.onInput,this,this.enabledDisposables),fe(this.onClear,this,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){var ae;const fe=this.list.getFocus();if(fe.length>0&&fe[0]===this.previouslyFocused){const ne=(ae=this.list.options.accessibilityProvider)===null||ae===void 0?void 0:ae.getAriaLabel(this.list.element(fe[0]));ne&&(0,D.Z9)(ne)}this.previouslyFocused=-1}onInput(ae){if(!ae){this.state=De.Idle,this.triggered=!1;return}const fe=this.list.getFocus(),ne=fe.length>0?fe[0]:0,W=this.state===De.Idle?1:0;this.state=De.Typing;for(let $=0;$<this.list.length;$++){const ee=(ne+$+W)%this.list.length,he=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(this.view.element(ee)),Pe=he&&he.toString();if(typeof Pe=="undefined"||(0,g.Ji)(ae,Pe)){this.previouslyFocused=ne,this.list.setFocus([ee]),this.list.reveal(ee);return}}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class Q{constructor(ae,fe){this.list=ae,this.view=fe,this.disposables=new w.SL,a.ju.chain(this.disposables.add(new H.Y(fe.domNode,"keydown")).event).filter(W=>!oe(W.target)).map(W=>new O.y(W)).filter(W=>W.keyCode===2&&!W.ctrlKey&&!W.metaKey&&!W.shiftKey&&!W.altKey).on(this.onTab,this,this.disposables)}onTab(ae){if(ae.target!==this.view.domNode)return;const fe=this.list.getFocus();if(fe.length===0)return;const ne=this.view.domElement(fe[0]);if(!ne)return;const W=ne.querySelector("[tabIndex]");if(!W||!(W instanceof HTMLElement)||W.tabIndex===-1)return;const $=window.getComputedStyle(W);$.visibility==="hidden"||$.display==="none"||(ae.preventDefault(),ae.stopPropagation(),W.focus())}dispose(){this.disposables.dispose()}}function le(We){return f.dz?We.browserEvent.metaKey:We.browserEvent.ctrlKey}function xe(We){return We.browserEvent.shiftKey}function j(We){return We instanceof MouseEvent&&We.button===2}const R={isSelectionSingleChangeEvent:le,isSelectionRangeChangeEvent:xe};class V{constructor(ae){this.list=ae,this.disposables=new w.SL,this._onPointer=new a.Q5,this.onPointer=this._onPointer.event,ae.options.multipleSelectionSupport!==!1&&(this.multipleSelectionController=this.list.options.multipleSelectionController||R),this.mouseSupport=typeof ae.options.mouseSupport=="undefined"||!!ae.options.mouseSupport,this.mouseSupport&&(ae.onMouseDown(this.onMouseDown,this,this.disposables),ae.onContextMenu(this.onContextMenu,this,this.disposables),ae.onMouseDblClick(this.onDoubleClick,this,this.disposables),ae.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(P.o.addTarget(ae.getHTMLElement()))),a.ju.any(ae.onMouseClick,ae.onMouseMiddleClick,ae.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(ae){ae.multipleSelectionSupport!==void 0&&(this.multipleSelectionController=void 0,ae.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||R))}isSelectionSingleChangeEvent(ae){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(ae):!1}isSelectionRangeChangeEvent(ae){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(ae):!1}isSelectionChangeEvent(ae){return this.isSelectionSingleChangeEvent(ae)||this.isSelectionRangeChangeEvent(ae)}onMouseDown(ae){se(ae.browserEvent.target)||document.activeElement!==ae.browserEvent.target&&this.list.domFocus()}onContextMenu(ae){if(se(ae.browserEvent.target))return;const fe=typeof ae.index=="undefined"?[]:[ae.index];this.list.setFocus(fe,ae.browserEvent)}onViewPointer(ae){if(!this.mouseSupport||oe(ae.browserEvent.target)||se(ae.browserEvent.target))return;const fe=ae.index;if(typeof fe=="undefined"){this.list.setFocus([],ae.browserEvent),this.list.setSelection([],ae.browserEvent),this.list.setAnchor(void 0);return}if(this.isSelectionRangeChangeEvent(ae))return this.changeSelection(ae);if(this.isSelectionChangeEvent(ae))return this.changeSelection(ae);this.list.setFocus([fe],ae.browserEvent),this.list.setAnchor(fe),j(ae.browserEvent)||this.list.setSelection([fe],ae.browserEvent),this._onPointer.fire(ae)}onDoubleClick(ae){if(oe(ae.browserEvent.target)||se(ae.browserEvent.target)||this.isSelectionChangeEvent(ae))return;const fe=this.list.getFocus();this.list.setSelection(fe,ae.browserEvent)}changeSelection(ae){const fe=ae.index;let ne=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(ae)){if(typeof ne=="undefined"){const it=this.list.getFocus()[0];ne=it!=null?it:fe,this.list.setAnchor(ne)}const W=Math.min(ne,fe),$=Math.max(ne,fe),ee=(0,I.w6)(W,$+1),he=this.list.getSelection(),Pe=ge(ye(he,[ne]),ne);if(Pe.length===0)return;const Ye=ye(ee,ve(he,Pe));this.list.setSelection(Ye,ae.browserEvent),this.list.setFocus([fe],ae.browserEvent)}else if(this.isSelectionSingleChangeEvent(ae)){const W=this.list.getSelection(),$=W.filter(ee=>ee!==fe);this.list.setFocus([fe]),this.list.setAnchor(fe),W.length===$.length?this.list.setSelection([...$,fe],ae.browserEvent):this.list.setSelection($,ae.browserEvent)}}dispose(){this.disposables.dispose()}}class K{constructor(ae,fe){this.styleElement=ae,this.selectorSuffix=fe}style(ae){const fe=this.selectorSuffix&&`.${this.selectorSuffix}`,ne=[];ae.listBackground&&(ae.listBackground.isOpaque()?ne.push(`.monaco-list${fe} .monaco-list-rows { background: ${ae.listBackground}; }`):f.dz||console.warn(`List with id '${this.selectorSuffix}' was styled with a non-opaque background color. This will break sub-pixel antialiasing.`)),ae.listFocusBackground&&(ne.push(`.monaco-list${fe}:focus .monaco-list-row.focused { background-color: ${ae.listFocusBackground}; }`),ne.push(`.monaco-list${fe}:focus .monaco-list-row.focused:hover { background-color: ${ae.listFocusBackground}; }`)),ae.listFocusForeground&&ne.push(`.monaco-list${fe}:focus .monaco-list-row.focused { color: ${ae.listFocusForeground}; }`),ae.listActiveSelectionBackground&&(ne.push(`.monaco-list${fe}:focus .monaco-list-row.selected { background-color: ${ae.listActiveSelectionBackground}; }`),ne.push(`.monaco-list${fe}:focus .monaco-list-row.selected:hover { background-color: ${ae.listActiveSelectionBackground}; }`)),ae.listActiveSelectionForeground&&ne.push(`.monaco-list${fe}:focus .monaco-list-row.selected { color: ${ae.listActiveSelectionForeground}; }`),ae.listActiveSelectionIconForeground&&ne.push(`.monaco-list${fe}:focus .monaco-list-row.selected .codicon { color: ${ae.listActiveSelectionIconForeground}; }`),ae.listFocusAndSelectionBackground&&ne.push(`
.monaco-drag-image,
.monaco-list${fe}:focus .monaco-list-row.selected.focused { background-color: ${ae.listFocusAndSelectionBackground}; }
`),ae.listFocusAndSelectionForeground&&ne.push(`
.monaco-drag-image,
.monaco-list${fe}:focus .monaco-list-row.selected.focused { color: ${ae.listFocusAndSelectionForeground}; }
`),ae.listInactiveFocusForeground&&(ne.push(`.monaco-list${fe} .monaco-list-row.focused { color: ${ae.listInactiveFocusForeground}; }`),ne.push(`.monaco-list${fe} .monaco-list-row.focused:hover { color: ${ae.listInactiveFocusForeground}; }`)),ae.listInactiveSelectionIconForeground&&ne.push(`.monaco-list${fe} .monaco-list-row.focused .codicon { color: ${ae.listInactiveSelectionIconForeground}; }`),ae.listInactiveFocusBackground&&(ne.push(`.monaco-list${fe} .monaco-list-row.focused { background-color: ${ae.listInactiveFocusBackground}; }`),ne.push(`.monaco-list${fe} .monaco-list-row.focused:hover { background-color: ${ae.listInactiveFocusBackground}; }`)),ae.listInactiveSelectionBackground&&(ne.push(`.monaco-list${fe} .monaco-list-row.selected { background-color: ${ae.listInactiveSelectionBackground}; }`),ne.push(`.monaco-list${fe} .monaco-list-row.selected:hover { background-color: ${ae.listInactiveSelectionBackground}; }`)),ae.listInactiveSelectionForeground&&ne.push(`.monaco-list${fe} .monaco-list-row.selected { color: ${ae.listInactiveSelectionForeground}; }`),ae.listHoverBackground&&ne.push(`.monaco-list${fe}:not(.drop-target) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${ae.listHoverBackground}; }`),ae.listHoverForeground&&ne.push(`.monaco-list${fe} .monaco-list-row:hover:not(.selected):not(.focused) { color: ${ae.listHoverForeground}; }`),ae.listSelectionOutline&&ne.push(`.monaco-list${fe} .monaco-list-row.selected { outline: 1px dotted ${ae.listSelectionOutline}; outline-offset: -1px; }`),ae.listFocusOutline&&ne.push(`
.monaco-drag-image,
.monaco-list${fe}:focus .monaco-list-row.focused { outline: 1px solid ${ae.listFocusOutline}; outline-offset: -1px; }
`),ae.listInactiveFocusOutline&&ne.push(`.monaco-list${fe} .monaco-list-row.focused { outline: 1px dotted ${ae.listInactiveFocusOutline}; outline-offset: -1px; }`),ae.listHoverOutline&&ne.push(`.monaco-list${fe} .monaco-list-row:hover { outline: 1px dashed ${ae.listHoverOutline}; outline-offset: -1px; }`),ae.listDropBackground&&ne.push(`
.monaco-list${fe}.drop-target,
.monaco-list${fe} .monaco-list-rows.drop-target,
.monaco-list${fe} .monaco-list-row.drop-target { background-color: ${ae.listDropBackground} !important; color: inherit !important; }
`),ae.listFilterWidgetBackground&&ne.push(`.monaco-list-type-filter { background-color: ${ae.listFilterWidgetBackground} }`),ae.listFilterWidgetOutline&&ne.push(`.monaco-list-type-filter { border: 1px solid ${ae.listFilterWidgetOutline}; }`),ae.listFilterWidgetNoMatchesOutline&&ne.push(`.monaco-list-type-filter.no-matches { border: 1px solid ${ae.listFilterWidgetNoMatchesOutline}; }`),ae.listMatchesShadow&&ne.push(`.monaco-list-type-filter { box-shadow: 1px 1px 1px ${ae.listMatchesShadow}; }`),ae.tableColumnsBorder&&ne.push(`
.monaco-table:hover > .monaco-split-view2,
.monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {
border-color: ${ae.tableColumnsBorder};
}`),this.styleElement.textContent=ne.join(`
`)}}const ie={listFocusBackground:E.Il.fromHex("#7FB0D0"),listActiveSelectionBackground:E.Il.fromHex("#0E639C"),listActiveSelectionForeground:E.Il.fromHex("#FFFFFF"),listActiveSelectionIconForeground:E.Il.fromHex("#FFFFFF"),listFocusAndSelectionBackground:E.Il.fromHex("#094771"),listFocusAndSelectionForeground:E.Il.fromHex("#FFFFFF"),listInactiveSelectionBackground:E.Il.fromHex("#3F3F46"),listInactiveSelectionIconForeground:E.Il.fromHex("#FFFFFF"),listHoverBackground:E.Il.fromHex("#2A2D2E"),listDropBackground:E.Il.fromHex("#383B3D"),treeIndentGuidesStroke:E.Il.fromHex("#a9a9a9"),tableColumnsBorder:E.Il.fromHex("#cccccc").transparent(.2)},te={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){}}};function ge(We,ae){const fe=We.indexOf(ae);if(fe===-1)return[];const ne=[];let W=fe-1;for(;W>=0&&We[W]===ae-(fe-W);)ne.push(We[W--]);for(ne.reverse(),W=fe;W<We.length&&We[W]===ae+(W-fe);)ne.push(We[W++]);return ne}function ye(We,ae){const fe=[];let ne=0,W=0;for(;ne<We.length||W<ae.length;)if(ne>=We.length)fe.push(ae[W++]);else if(W>=ae.length)fe.push(We[ne++]);else if(We[ne]===ae[W]){fe.push(We[ne]),ne++,W++;continue}else We[ne]<ae[W]?fe.push(We[ne++]):fe.push(ae[W++]);return fe}function ve(We,ae){const fe=[];let ne=0,W=0;for(;ne<We.length||W<ae.length;)if(ne>=We.length)fe.push(ae[W++]);else if(W>=ae.length)fe.push(We[ne++]);else if(We[ne]===ae[W]){ne++,W++;continue}else We[ne]<ae[W]?fe.push(We[ne++]):W++;return fe}const Fe=(We,ae)=>We-ae;class we{constructor(ae,fe){this._templateId=ae,this.renderers=fe}get templateId(){return this._templateId}renderTemplate(ae){return this.renderers.map(fe=>fe.renderTemplate(ae))}renderElement(ae,fe,ne,W){let $=0;for(const ee of this.renderers)ee.renderElement(ae,fe,ne[$++],W)}disposeElement(ae,fe,ne,W){let $=0;for(const ee of this.renderers)ee.disposeElement&&ee.disposeElement(ae,fe,ne[$],W),$+=1}disposeTemplate(ae){let fe=0;for(const ne of this.renderers)ne.disposeTemplate(ae[fe++])}}class ue{constructor(ae){this.accessibilityProvider=ae,this.templateId="a18n"}renderTemplate(ae){return ae}renderElement(ae,fe,ne){const W=this.accessibilityProvider.getAriaLabel(ae);W?ne.setAttribute("aria-label",W):ne.removeAttribute("aria-label");const $=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(ae);typeof $=="number"?ne.setAttribute("aria-level",`${$}`):ne.removeAttribute("aria-level")}disposeTemplate(ae){}}class ce{constructor(ae,fe){this.list=ae,this.dnd=fe}getDragElements(ae){const fe=this.list.getSelectedElements();return fe.indexOf(ae)>-1?fe:[ae]}getDragURI(ae){return this.dnd.getDragURI(ae)}getDragLabel(ae,fe){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(ae,fe)}onDragStart(ae,fe){this.dnd.onDragStart&&this.dnd.onDragStart(ae,fe)}onDragOver(ae,fe,ne,W){return this.dnd.onDragOver(ae,fe,ne,W)}onDragLeave(ae,fe,ne,W){var $,ee;(ee=($=this.dnd).onDragLeave)===null||ee===void 0||ee.call($,ae,fe,ne,W)}onDragEnd(ae){this.dnd.onDragEnd&&this.dnd.onDragEnd(ae)}drop(ae,fe,ne,W){this.dnd.drop(ae,fe,ne,W)}}class Ve{constructor(ae,fe,ne,W,$=te){var ee;this.user=ae,this._options=$,this.focus=new T("focused"),this.anchor=new T("anchor"),this.eventBufferer=new a.E7,this._ariaLabel="",this.disposables=new w.SL,this._onDidDispose=new a.Q5,this.onDidDispose=this._onDidDispose.event;const he=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?(ee=this._options.accessibilityProvider)===null||ee===void 0?void 0:ee.getWidgetRole():"list";this.selection=new M(he!=="listbox"),(0,C.jB)($,ie,!1);const Pe=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=$.accessibilityProvider,this.accessibilityProvider&&(Pe.push(new ue(this.accessibilityProvider)),this.accessibilityProvider.onDidChangeActiveDescendant&&this.accessibilityProvider.onDidChangeActiveDescendant(this.onDidChangeActiveDescendant,this,this.disposables)),W=W.map(it=>new we(it.templateId,[...Pe,it]));const Ye=Object.assign(Object.assign({},$),{dnd:$.dnd&&new ce(this,$.dnd)});if(this.view=new m.Bv(fe,ne,W,Ye),this.view.domNode.setAttribute("role",he),$.styleController)this.styleController=$.styleController(this.view.domId);else{const it=(0,h.dS)(this.view.domNode);this.styleController=new K(it,this.view.domId)}if(this.spliceable=new G([new z(this.focus,this.view,$.identityProvider),new z(this.selection,this.view,$.identityProvider),new z(this.anchor,this.view,$.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new Q(this,this.view)),(typeof $.keyboardSupport!="boolean"||$.keyboardSupport)&&(this.keyboardController=new re(this,this.view,$),this.disposables.add(this.keyboardController)),$.keyboardNavigationLabelProvider){const it=$.keyboardNavigationDelegate||J;this.typeLabelController=new Z(this,this.view,$.keyboardNavigationLabelProvider,it),this.disposables.add(this.typeLabelController)}this.mouseController=this.createMouseController($),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),this._options.multipleSelectionSupport!==!1&&this.view.domNode.setAttribute("aria-multiselectable","true")}get onDidChangeFocus(){return a.ju.map(this.eventBufferer.wrapEvent(this.focus.onChange),ae=>this.toListEvent(ae))}get onDidChangeSelection(){return a.ju.map(this.eventBufferer.wrapEvent(this.selection.onChange),ae=>this.toListEvent(ae))}get domId(){return this.view.domId}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let ae=!1;const fe=a.ju.chain(this.disposables.add(new H.Y(this.view.domNode,"keydown")).event).map($=>new O.y($)).filter($=>ae=$.keyCode===58||$.shiftKey&&$.keyCode===68).map(H.p).filter(()=>!1).event,ne=a.ju.chain(this.disposables.add(new H.Y(this.view.domNode,"keyup")).event).forEach(()=>ae=!1).map($=>new O.y($)).filter($=>$.keyCode===58||$.shiftKey&&$.keyCode===68).map(H.p).map(({browserEvent:$})=>{const ee=this.getFocus(),he=ee.length?ee[0]:void 0,Pe=typeof he!="undefined"?this.view.element(he):void 0,Ye=typeof he!="undefined"?this.view.domElement(he):this.view.domNode;return{index:he,element:Pe,anchor:Ye,browserEvent:$}}).event,W=a.ju.chain(this.view.onContextMenu).filter($=>!ae).map(({element:$,index:ee,browserEvent:he})=>({element:$,index:ee,anchor:{x:he.pageX+1,y:he.pageY},browserEvent:he})).event;return a.ju.any(fe,ne,W)}get onKeyDown(){return this.disposables.add(new H.Y(this.view.domNode,"keydown")).event}get onDidFocus(){return a.ju.signal(this.disposables.add(new H.Y(this.view.domNode,"focus",!0)).event)}createMouseController(ae){return new V(this)}updateOptions(ae={}){var fe;this._options=Object.assign(Object.assign({},this._options),ae),this.typeLabelController&&this.typeLabelController.updateOptions(this._options),this._options.multipleSelectionController!==void 0&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(ae),(fe=this.keyboardController)===null||fe===void 0||fe.updateOptions(ae),this.view.updateOptions(ae)}get options(){return this._options}splice(ae,fe,ne=[]){if(ae<0||ae>this.view.length)throw new l(this.user,`Invalid start index: ${ae}`);if(fe<0)throw new l(this.user,`Invalid delete count: ${fe}`);fe===0&&ne.length===0||this.eventBufferer.bufferEvents(()=>this.spliceable.splice(ae,fe,ne))}rerender(){this.view.rerender()}element(ae){return this.view.element(ae)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(ae){this.view.setScrollTop(ae)}get ariaLabel(){return this._ariaLabel}set ariaLabel(ae){this._ariaLabel=ae,this.view.domNode.setAttribute("aria-label",ae)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(ae,fe){this.view.layout(ae,fe)}setSelection(ae,fe){for(const ne of ae)if(ne<0||ne>=this.length)throw new l(this.user,`Invalid index ${ne}`);this.selection.set(ae,fe)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map(ae=>this.view.element(ae))}setAnchor(ae){if(typeof ae=="undefined"){this.anchor.set([]);return}if(ae<0||ae>=this.length)throw new l(this.user,`Invalid index ${ae}`);this.anchor.set([ae])}getAnchor(){return(0,I.Xh)(this.anchor.get(),void 0)}getAnchorElement(){const ae=this.getAnchor();return typeof ae=="undefined"?void 0:this.element(ae)}setFocus(ae,fe){for(const ne of ae)if(ne<0||ne>=this.length)throw new l(this.user,`Invalid index ${ne}`);this.focus.set(ae,fe)}focusNext(ae=1,fe=!1,ne,W){if(this.length===0)return;const $=this.focus.get(),ee=this.findNextIndex($.length>0?$[0]+ae:0,fe,W);ee>-1&&this.setFocus([ee],ne)}focusPrevious(ae=1,fe=!1,ne,W){if(this.length===0)return;const $=this.focus.get(),ee=this.findPreviousIndex($.length>0?$[0]-ae:0,fe,W);ee>-1&&this.setFocus([ee],ne)}focusNextPage(ae,fe){return b(this,void 0,void 0,function*(){let ne=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);ne=ne===0?0:ne-1;const W=this.view.element(ne),$=this.getFocusedElements()[0];if($!==W){const ee=this.findPreviousIndex(ne,!1,fe);ee>-1&&$!==this.view.element(ee)?this.setFocus([ee],ae):this.setFocus([ne],ae)}else{const ee=this.view.getScrollTop();this.view.setScrollTop(ee+this.view.renderHeight-this.view.elementHeight(ne)),this.view.getScrollTop()!==ee&&(this.setFocus([]),yield(0,y.Vs)(0),yield this.focusNextPage(ae,fe))}})}focusPreviousPage(ae,fe){return b(this,void 0,void 0,function*(){let ne;const W=this.view.getScrollTop();W===0?ne=this.view.indexAt(W):ne=this.view.indexAfter(W-1);const $=this.view.element(ne),ee=this.getFocusedElements()[0];if(ee!==$){const he=this.findNextIndex(ne,!1,fe);he>-1&&ee!==this.view.element(he)?this.setFocus([he],ae):this.setFocus([ne],ae)}else{const he=W;this.view.setScrollTop(W-this.view.renderHeight),this.view.getScrollTop()!==he&&(this.setFocus([]),yield(0,y.Vs)(0),yield this.focusPreviousPage(ae,fe))}})}focusLast(ae,fe){if(this.length===0)return;const ne=this.findPreviousIndex(this.length-1,!1,fe);ne>-1&&this.setFocus([ne],ae)}focusFirst(ae,fe){this.focusNth(0,ae,fe)}focusNth(ae,fe,ne){if(this.length===0)return;const W=this.findNextIndex(ae,!1,ne);W>-1&&this.setFocus([W],fe)}findNextIndex(ae,fe=!1,ne){for(let W=0;W<this.length;W++){if(ae>=this.length&&!fe)return-1;if(ae=ae%this.length,!ne||ne(this.element(ae)))return ae;ae++}return-1}findPreviousIndex(ae,fe=!1,ne){for(let W=0;W<this.length;W++){if(ae<0&&!fe)return-1;if(ae=(this.length+ae%this.length)%this.length,!ne||ne(this.element(ae)))return ae;ae--}return-1}getFocus(){return this.focus.get()}getFocusedElements(){return this.getFocus().map(ae=>this.view.element(ae))}reveal(ae,fe){if(ae<0||ae>=this.length)throw new l(this.user,`Invalid index ${ae}`);const ne=this.view.getScrollTop(),W=this.view.elementTop(ae),$=this.view.elementHeight(ae);if((0,v.hj)(fe)){const ee=$-this.view.renderHeight;this.view.setScrollTop(ee*(0,s.u)(fe,0,1)+W)}else{const ee=W+$,he=ne+this.view.renderHeight;W<ne&&ee>=he||(W<ne||ee>=he&&$>=this.view.renderHeight?this.view.setScrollTop(W):ee>=he&&this.view.setScrollTop(ee-this.view.renderHeight))}}getRelativeTop(ae){if(ae<0||ae>=this.length)throw new l(this.user,`Invalid index ${ae}`);const fe=this.view.getScrollTop(),ne=this.view.elementTop(ae),W=this.view.elementHeight(ae);if(ne<fe||ne+W>fe+this.view.renderHeight)return null;const $=W-this.view.renderHeight;return Math.abs((fe-ne)/$)}getHTMLElement(){return this.view.domNode}style(ae){this.styleController.style(ae)}toListEvent({indexes:ae,browserEvent:fe}){return{indexes:ae,elements:ae.map(ne=>this.view.element(ne)),browserEvent:fe}}_onFocusChange(){const ae=this.focus.get();this.view.domNode.classList.toggle("element-focused",ae.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){var ae;const fe=this.focus.get();if(fe.length>0){let ne;!((ae=this.accessibilityProvider)===null||ae===void 0)&&ae.getActiveDescendantId&&(ne=this.accessibilityProvider.getActiveDescendantId(this.view.element(fe[0]))),this.view.domNode.setAttribute("aria-activedescendant",ne||this.view.getElementDomId(fe[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const ae=this.selection.get();this.view.domNode.classList.toggle("selection-none",ae.length===0),this.view.domNode.classList.toggle("selection-single",ae.length===1),this.view.domNode.classList.toggle("selection-multiple",ae.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}c([p.H],Ve.prototype,"onDidChangeFocus",null),c([p.H],Ve.prototype,"onDidChangeSelection",null),c([p.H],Ve.prototype,"onContextMenu",null),c([p.H],Ve.prototype,"onKeyDown",null),c([p.H],Ve.prototype,"onDidFocus",null)},28652:function(xt,Te,i){"use strict";i.d(Te,{S:function(){return h}});const h="monaco-mouse-cursor-text"},39665:function(xt,Te,i){"use strict";i.d(Te,{l:function(){return a},g:function(){return l}});var h=i(69454),H=i(8035),O=i(60537),P=i(50431),D=i(85402),G=i(4348),I=i(69323),y=i(23345),E=function(m,c,b,L){var T=arguments.length,M=T<3?c:L===null?L=Object.getOwnPropertyDescriptor(c,b):L,z;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")M=Reflect.decorate(m,c,b,L);else for(var oe=m.length-1;oe>=0;oe--)(z=m[oe])&&(M=(T<3?z(M):T>3?z(c,b,M):z(c,b))||M);return T>3&&M&&Object.defineProperty(c,b,M),M};let p=!1;var a;(function(m){m.North="north",m.South="south",m.East="east",m.West="west"})(a||(a={}));let g=4;const w=new G.Q5;let s=300;const C=new G.Q5;class f{constructor(){this.disposables=new I.SL}get onPointerMove(){return this.disposables.add(new H.Y(window,"mousemove")).event}get onPointerUp(){return this.disposables.add(new H.Y(window,"mouseup")).event}dispose(){this.disposables.dispose()}}E([D.H],f.prototype,"onPointerMove",null),E([D.H],f.prototype,"onPointerUp",null);class v{constructor(c){this.el=c,this.disposables=new I.SL}get onPointerMove(){return this.disposables.add(new H.Y(this.el,O.t.Change)).event}get onPointerUp(){return this.disposables.add(new H.Y(this.el,O.t.End)).event}dispose(){this.disposables.dispose()}}E([D.H],v.prototype,"onPointerMove",null),E([D.H],v.prototype,"onPointerUp",null);class r{constructor(c){this.factory=c}get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}dispose(){}}E([D.H],r.prototype,"onPointerMove",null),E([D.H],r.prototype,"onPointerUp",null);class l extends I.JT{constructor(c,b,L){super(),this.hoverDelay=s,this.hoverDelayer=this._register(new P.vp(this.hoverDelay)),this._state=3,this._onDidEnablementChange=this._register(new G.Q5),this.onDidEnablementChange=this._onDidEnablementChange.event,this._onDidStart=this._register(new G.Q5),this.onDidStart=this._onDidStart.event,this._onDidChange=this._register(new G.Q5),this.onDidChange=this._onDidChange.event,this._onDidReset=this._register(new G.Q5),this.onDidReset=this._onDidReset.event,this._onDidEnd=this._register(new G.Q5),this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.orthogonalStartSashDisposables=this._register(new I.SL),this.orthogonalStartDragHandleDisposables=this._register(new I.SL),this.orthogonalEndSashDisposables=this._register(new I.SL),this.orthogonalEndDragHandleDisposables=this._register(new I.SL),this.el=(0,h.R3)(c,(0,h.$)(".monaco-sash")),L.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${L.orthogonalEdge}`),y.dz&&this.el.classList.add("mac");const T=this._register(new H.Y(this.el,"mousedown")).event;this._register(T(J=>this.onPointerStart(J,new f),this));const M=this._register(new H.Y(this.el,"dblclick")).event;this._register(M(this.onPointerDoublePress,this));const z=this._register(new H.Y(this.el,"mouseenter")).event;this._register(z(()=>l.onMouseEnter(this)));const oe=this._register(new H.Y(this.el,"mouseleave")).event;this._register(oe(()=>l.onMouseLeave(this))),this._register(O.o.addTarget(this.el));const se=G.ju.map(this._register(new H.Y(this.el,O.t.Start)).event,J=>{var Z;return Object.assign(Object.assign({},J),{target:(Z=J.initialTarget)!==null&&Z!==void 0?Z:null})});this._register(se(J=>this.onPointerStart(J,new v(this.el)),this));const re=this._register(new H.Y(this.el,O.t.Tap)).event,De=G.ju.map(G.ju.filter(G.ju.debounce(re,(J,Z)=>{var Q;return{event:Z,count:((Q=J==null?void 0:J.count)!==null&&Q!==void 0?Q:0)+1}},250),({count:J})=>J===2),({event:J})=>{var Z;return Object.assign(Object.assign({},J),{target:(Z=J.initialTarget)!==null&&Z!==void 0?Z:null})});this._register(De(this.onPointerDoublePress,this)),typeof L.size=="number"?(this.size=L.size,L.orientation===0?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=g,this._register(w.event(J=>{this.size=J,this.layout()}))),this._register(C.event(J=>this.hoverDelay=J)),this.hidden=!1,this.layoutProvider=b,this.orthogonalStartSash=L.orthogonalStartSash,this.orthogonalEndSash=L.orthogonalEndSash,this.orientation=L.orientation||0,this.orientation===1?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",p),this.layout()}get state(){return this._state}set state(c){this._state!==c&&(this.el.classList.toggle("disabled",c===0),this.el.classList.toggle("minimum",c===1),this.el.classList.toggle("maximum",c===2),this._state=c,this._onDidEnablementChange.fire(c))}get orthogonalStartSash(){return this._orthogonalStartSash}set orthogonalStartSash(c){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),c){const b=L=>{this.orthogonalStartDragHandleDisposables.clear(),L!==0&&(this._orthogonalStartDragHandle=(0,h.R3)(this.el,(0,h.$)(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add((0,I.OF)(()=>this._orthogonalStartDragHandle.remove())),this.orthogonalStartDragHandleDisposables.add(new H.Y(this._orthogonalStartDragHandle,"mouseenter")).event(()=>l.onMouseEnter(c),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new H.Y(this._orthogonalStartDragHandle,"mouseleave")).event(()=>l.onMouseLeave(c),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(c.onDidEnablementChange(b,this)),b(c.state)}this._orthogonalStartSash=c}get orthogonalEndSash(){return this._orthogonalEndSash}set orthogonalEndSash(c){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),c){const b=L=>{this.orthogonalEndDragHandleDisposables.clear(),L!==0&&(this._orthogonalEndDragHandle=(0,h.R3)(this.el,(0,h.$)(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add((0,I.OF)(()=>this._orthogonalEndDragHandle.remove())),this.orthogonalEndDragHandleDisposables.add(new H.Y(this._orthogonalEndDragHandle,"mouseenter")).event(()=>l.onMouseEnter(c),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new H.Y(this._orthogonalEndDragHandle,"mouseleave")).event(()=>l.onMouseLeave(c),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(c.onDidEnablementChange(b,this)),b(c.state)}this._orthogonalEndSash=c}onPointerStart(c,b){h.zB.stop(c);let L=!1;if(!c.__orthogonalSashEvent){const le=this.getOrthogonalSash(c);le&&(L=!0,c.__orthogonalSashEvent=!0,le.onPointerStart(c,new r(b)))}if(this.linkedSash&&!c.__linkedSashEvent&&(c.__linkedSashEvent=!0,this.linkedSash.onPointerStart(c,new r(b))),!this.state)return;const T=(0,h.H$)("iframe");for(const le of T)le.style.pointerEvents="none";const M=c.pageX,z=c.pageY,oe=c.altKey,se={startX:M,currentX:M,startY:z,currentY:z,altKey:oe};this.el.classList.add("active"),this._onDidStart.fire(se);const re=(0,h.dS)(this.el),De=()=>{let le="";L?le="all-scroll":this.orientation===1?this.state===1?le="s-resize":this.state===2?le="n-resize":le=y.dz?"row-resize":"ns-resize":this.state===1?le="e-resize":this.state===2?le="w-resize":le=y.dz?"col-resize":"ew-resize",re.textContent=`* { cursor: ${le} !important; }`},J=new I.SL;De(),L||this.onDidEnablementChange(De,null,J);const Z=le=>{h.zB.stop(le,!1);const xe={startX:M,currentX:le.pageX,startY:z,currentY:le.pageY,altKey:oe};this._onDidChange.fire(xe)},Q=le=>{h.zB.stop(le,!1),this.el.removeChild(re),this.el.classList.remove("active"),this._onDidEnd.fire(),J.dispose();for(const xe of T)xe.style.pointerEvents="auto"};b.onPointerMove(Z,null,J),b.onPointerUp(Q,null,J),J.add(b)}onPointerDoublePress(c){const b=this.getOrthogonalSash(c);b&&b._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(c,b=!1){c.el.classList.contains("active")?(c.hoverDelayer.cancel(),c.el.classList.add("hover")):c.hoverDelayer.trigger(()=>c.el.classList.add("hover"),c.hoverDelay).then(void 0,()=>{}),!b&&c.linkedSash&&l.onMouseEnter(c.linkedSash,!0)}static onMouseLeave(c,b=!1){c.hoverDelayer.cancel(),c.el.classList.remove("hover"),!b&&c.linkedSash&&l.onMouseLeave(c.linkedSash,!0)}clearSashHoverState(){l.onMouseLeave(this)}layout(){if(this.orientation===0){const c=this.layoutProvider;this.el.style.left=c.getVerticalSashLeft(this)-this.size/2+"px",c.getVerticalSashTop&&(this.el.style.top=c.getVerticalSashTop(this)+"px"),c.getVerticalSashHeight&&(this.el.style.height=c.getVerticalSashHeight(this)+"px")}else{const c=this.layoutProvider;this.el.style.top=c.getHorizontalSashTop(this)-this.size/2+"px",c.getHorizontalSashLeft&&(this.el.style.left=c.getHorizontalSashLeft(this)+"px"),c.getHorizontalSashWidth&&(this.el.style.width=c.getHorizontalSashWidth(this)+"px")}}hide(){this.hidden=!0,this.el.style.display="none",this.el.setAttribute("aria-hidden","true")}getOrthogonalSash(c){if(!(!c.target||!(c.target instanceof HTMLElement))&&c.target.classList.contains("orthogonal-drag-handle"))return c.target.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash}dispose(){super.dispose(),this.el.remove()}}},1336:function(xt,Te,i){"use strict";i.d(Te,{s$:function(){return le},NB:function(){return Z},$Z:function(){return Q}});var h=i(87783),H=i(69454),O=i(2727),P=i(52390),D=i(2395),G=i(62758),I=i(50431);const y=11;class E extends G.${constructor(R){super(),this._onActivate=R.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=R.bgWidth+"px",this.bgDomNode.style.height=R.bgHeight+"px",typeof R.top!="undefined"&&(this.bgDomNode.style.top="0px"),typeof R.left!="undefined"&&(this.bgDomNode.style.left="0px"),typeof R.bottom!="undefined"&&(this.bgDomNode.style.bottom="0px"),typeof R.right!="undefined"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=R.className,this.domNode.classList.add(...R.icon.classNamesArray),this.domNode.style.position="absolute",this.domNode.style.width=y+"px",this.domNode.style.height=y+"px",typeof R.top!="undefined"&&(this.domNode.style.top=R.top+"px"),typeof R.left!="undefined"&&(this.domNode.style.left=R.left+"px"),typeof R.bottom!="undefined"&&(this.domNode.style.bottom=R.bottom+"px"),typeof R.right!="undefined"&&(this.domNode.style.right=R.right+"px"),this._mouseMoveMonitor=this._register(new D.Z),this.onmousedown(this.bgDomNode,V=>this._arrowMouseDown(V)),this.onmousedown(this.domNode,V=>this._arrowMouseDown(V)),this._mousedownRepeatTimer=this._register(new I.zh),this._mousedownScheduleRepeatTimer=this._register(new I._F)}_arrowMouseDown(R){const V=()=>{this._mousedownRepeatTimer.cancelAndSet(()=>this._onActivate(),41.666666666666664)};this._onActivate(),this._mousedownRepeatTimer.cancel(),this._mousedownScheduleRepeatTimer.cancelAndSet(V,200),this._mouseMoveMonitor.startMonitoring(R.target,R.buttons,D.e,K=>{},()=>{this._mousedownRepeatTimer.cancel(),this._mousedownScheduleRepeatTimer.cancel()}),R.preventDefault()}}var p=i(69323);class a extends p.JT{constructor(R,V,K){super(),this._visibility=R,this._visibleClassName=V,this._invisibleClassName=K,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new I._F)}setVisibility(R){this._visibility!==R&&(this._visibility=R,this._updateShouldBeVisible())}setShouldBeVisible(R){this._rawShouldBeVisible=R,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){const R=this._applyVisibilitySetting();this._shouldBeVisible!==R&&(this._shouldBeVisible=R,this.ensureVisibility())}setIsNeeded(R){this._isNeeded!==R&&(this._isNeeded=R,this.ensureVisibility())}setDomNode(R){this._domNode=R,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode&&this._domNode.setClassName(this._visibleClassName)},0))}_hide(R){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode&&this._domNode.setClassName(this._invisibleClassName+(R?" fade":"")))}}var g=i(23345);const w=140;class s extends G.${constructor(R){super(),this._lazyRender=R.lazyRender,this._host=R.host,this._scrollable=R.scrollable,this._scrollByPage=R.scrollByPage,this._scrollbarState=R.scrollbarState,this._visibilityController=this._register(new a(R.visibility,"visible scrollbar "+R.extraScrollbarClassName,"invisible scrollbar "+R.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._mouseMoveMonitor=this._register(new D.Z),this._shouldRender=!0,this.domNode=(0,O.X)(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this.onmousedown(this.domNode.domNode,V=>this._domNodeMouseDown(V))}_createArrow(R){const V=this._register(new E(R));this.domNode.domNode.appendChild(V.bgDomNode),this.domNode.domNode.appendChild(V.domNode)}_createSlider(R,V,K,ie){this.slider=(0,O.X)(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(R),this.slider.setLeft(V),typeof K=="number"&&this.slider.setWidth(K),typeof ie=="number"&&this.slider.setHeight(ie),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this.onmousedown(this.slider.domNode,te=>{te.leftButton&&(te.preventDefault(),this._sliderMouseDown(te,()=>{}))}),this.onclick(this.slider.domNode,te=>{te.leftButton&&te.stopPropagation()})}_onElementSize(R){return this._scrollbarState.setVisibleSize(R)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(R){return this._scrollbarState.setScrollSize(R)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(R){return this._scrollbarState.setScrollPosition(R)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodeMouseDown(R){R.target===this.domNode.domNode&&this._onMouseDown(R)}delegateMouseDown(R){const V=this.domNode.domNode.getClientRects()[0].top,K=V+this._scrollbarState.getSliderPosition(),ie=V+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),te=this._sliderMousePosition(R);K<=te&&te<=ie?R.leftButton&&(R.preventDefault(),this._sliderMouseDown(R,()=>{})):this._onMouseDown(R)}_onMouseDown(R){let V,K;if(R.target===this.domNode.domNode&&typeof R.browserEvent.offsetX=="number"&&typeof R.browserEvent.offsetY=="number")V=R.browserEvent.offsetX,K=R.browserEvent.offsetY;else{const te=H.i(this.domNode.domNode);V=R.posx-te.left,K=R.posy-te.top}const ie=this._mouseDownRelativePosition(V,K);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(ie):this._scrollbarState.getDesiredScrollPositionFromOffset(ie)),R.leftButton&&(R.preventDefault(),this._sliderMouseDown(R,()=>{}))}_sliderMouseDown(R,V){const K=this._sliderMousePosition(R),ie=this._sliderOrthogonalMousePosition(R),te=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._mouseMoveMonitor.startMonitoring(R.target,R.buttons,D.e,ge=>{const ye=this._sliderOrthogonalMousePosition(ge),ve=Math.abs(ye-ie);if(g.ED&&ve>w){this._setDesiredScrollPositionNow(te.getScrollPosition());return}const we=this._sliderMousePosition(ge)-K;this._setDesiredScrollPositionNow(te.getDesiredScrollPositionFromDelta(we))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd(),V()}),this._host.onDragStart()}_setDesiredScrollPositionNow(R){const V={};this.writeScrollPosition(V,R),this._scrollable.setScrollPositionNow(V)}updateScrollbarSize(R){this._updateScrollbarSize(R),this._scrollbarState.setScrollbarSize(R),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}const C=20;class f{constructor(R,V,K,ie,te,ge){this._scrollbarSize=Math.round(V),this._oppositeScrollbarSize=Math.round(K),this._arrowSize=Math.round(R),this._visibleSize=ie,this._scrollSize=te,this._scrollPosition=ge,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new f(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(R){const V=Math.round(R);return this._visibleSize!==V?(this._visibleSize=V,this._refreshComputedValues(),!0):!1}setScrollSize(R){const V=Math.round(R);return this._scrollSize!==V?(this._scrollSize=V,this._refreshComputedValues(),!0):!1}setScrollPosition(R){const V=Math.round(R);return this._scrollPosition!==V?(this._scrollPosition=V,this._refreshComputedValues(),!0):!1}setScrollbarSize(R){this._scrollbarSize=Math.round(R)}setOppositeScrollbarSize(R){this._oppositeScrollbarSize=Math.round(R)}static _computeValues(R,V,K,ie,te){const ge=Math.max(0,K-R),ye=Math.max(0,ge-2*V),ve=ie>0&&ie>K;if(!ve)return{computedAvailableSize:Math.round(ge),computedIsNeeded:ve,computedSliderSize:Math.round(ye),computedSliderRatio:0,computedSliderPosition:0};const Fe=Math.round(Math.max(C,Math.floor(K*ye/ie))),we=(ye-Fe)/(ie-K),ue=te*we;return{computedAvailableSize:Math.round(ge),computedIsNeeded:ve,computedSliderSize:Math.round(Fe),computedSliderRatio:we,computedSliderPosition:Math.round(ue)}}_refreshComputedValues(){const R=f._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=R.computedAvailableSize,this._computedIsNeeded=R.computedIsNeeded,this._computedSliderSize=R.computedSliderSize,this._computedSliderRatio=R.computedSliderRatio,this._computedSliderPosition=R.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(R){if(!this._computedIsNeeded)return 0;const V=R-this._arrowSize-this._computedSliderSize/2;return Math.round(V/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(R){if(!this._computedIsNeeded)return 0;const V=R-this._arrowSize;let K=this._scrollPosition;return V<this._computedSliderPosition?K-=this._visibleSize:K+=this._visibleSize,K}getDesiredScrollPositionFromDelta(R){if(!this._computedIsNeeded)return 0;const V=this._computedSliderPosition+R;return Math.round(V/this._computedSliderRatio)}}var v=i(52615);const r=(0,v.CM)("scrollbar-button-left",v.lA.triangleLeft),l=(0,v.CM)("scrollbar-button-right",v.lA.triangleRight);class m extends s{constructor(R,V,K){const ie=R.getScrollDimensions(),te=R.getCurrentScrollPosition();if(super({lazyRender:V.lazyRender,host:K,scrollbarState:new f(V.horizontalHasArrows?V.arrowSize:0,V.horizontal===2?0:V.horizontalScrollbarSize,V.vertical===2?0:V.verticalScrollbarSize,ie.width,ie.scrollWidth,te.scrollLeft),visibility:V.horizontal,extraScrollbarClassName:"horizontal",scrollable:R,scrollByPage:V.scrollByPage}),V.horizontalHasArrows){const ge=(V.arrowSize-y)/2,ye=(V.horizontalScrollbarSize-y)/2;this._createArrow({className:"scra",icon:r,top:ye,left:ge,bottom:void 0,right:void 0,bgWidth:V.arrowSize,bgHeight:V.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new P.q(null,1,0))}),this._createArrow({className:"scra",icon:l,top:ye,left:void 0,bottom:void 0,right:ge,bgWidth:V.arrowSize,bgHeight:V.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new P.q(null,-1,0))})}this._createSlider(Math.floor((V.horizontalScrollbarSize-V.horizontalSliderSize)/2),0,void 0,V.horizontalSliderSize)}_updateSlider(R,V){this.slider.setWidth(R),this.slider.setLeft(V)}_renderDomNode(R,V){this.domNode.setWidth(R),this.domNode.setHeight(V),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(R){return this._shouldRender=this._onElementScrollSize(R.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(R.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(R.width)||this._shouldRender,this._shouldRender}_mouseDownRelativePosition(R,V){return R}_sliderMousePosition(R){return R.posx}_sliderOrthogonalMousePosition(R){return R.posy}_updateScrollbarSize(R){this.slider.setHeight(R)}writeScrollPosition(R,V){R.scrollLeft=V}updateOptions(R){this.updateScrollbarSize(R.horizontal===2?0:R.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(R.vertical===2?0:R.verticalScrollbarSize),this._visibilityController.setVisibility(R.horizontal),this._scrollByPage=R.scrollByPage}}const c=(0,v.CM)("scrollbar-button-up",v.lA.triangleUp),b=(0,v.CM)("scrollbar-button-down",v.lA.triangleDown);class L extends s{constructor(R,V,K){const ie=R.getScrollDimensions(),te=R.getCurrentScrollPosition();if(super({lazyRender:V.lazyRender,host:K,scrollbarState:new f(V.verticalHasArrows?V.arrowSize:0,V.vertical===2?0:V.verticalScrollbarSize,0,ie.height,ie.scrollHeight,te.scrollTop),visibility:V.vertical,extraScrollbarClassName:"vertical",scrollable:R,scrollByPage:V.scrollByPage}),V.verticalHasArrows){const ge=(V.arrowSize-y)/2,ye=(V.verticalScrollbarSize-y)/2;this._createArrow({className:"scra",icon:c,top:ge,left:ye,bottom:void 0,right:void 0,bgWidth:V.verticalScrollbarSize,bgHeight:V.arrowSize,onActivate:()=>this._host.onMouseWheel(new P.q(null,0,1))}),this._createArrow({className:"scra",icon:b,top:void 0,left:ye,bottom:ge,right:void 0,bgWidth:V.verticalScrollbarSize,bgHeight:V.arrowSize,onActivate:()=>this._host.onMouseWheel(new P.q(null,0,-1))})}this._createSlider(0,Math.floor((V.verticalScrollbarSize-V.verticalSliderSize)/2),V.verticalSliderSize,void 0)}_updateSlider(R,V){this.slider.setHeight(R),this.slider.setTop(V)}_renderDomNode(R,V){this.domNode.setWidth(V),this.domNode.setHeight(R),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(R){return this._shouldRender=this._onElementScrollSize(R.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(R.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(R.height)||this._shouldRender,this._shouldRender}_mouseDownRelativePosition(R,V){return V}_sliderMousePosition(R){return R.posy}_sliderOrthogonalMousePosition(R){return R.posx}_updateScrollbarSize(R){this.slider.setWidth(R)}writeScrollPosition(R,V){R.scrollTop=V}updateOptions(R){this.updateScrollbarSize(R.vertical===2?0:R.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(R.vertical),this._scrollByPage=R.scrollByPage}}var T=i(4348),M=i(28962);const z=500,oe=50,se=!0;class re{constructor(R,V,K){this.timestamp=R,this.deltaX=V,this.deltaY=K,this.score=0}}class De{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let R=1,V=0,K=1,ie=this._rear;do{const te=ie===this._front?R:Math.pow(2,-K);if(R-=te,V+=this._memory[ie].score*te,ie===this._front)break;ie=(this._capacity+ie-1)%this._capacity,K++}while(!0);return V<=.5}accept(R,V,K){const ie=new re(R,V,K);ie.score=this._computeScore(ie),this._front===-1&&this._rear===-1?(this._memory[0]=ie,this._front=0,this._rear=0):(this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=ie)}_computeScore(R){if(Math.abs(R.deltaX)>0&&Math.abs(R.deltaY)>0)return 1;let V=.5;const K=this._front===-1&&this._rear===-1?null:this._memory[this._rear];return(!this._isAlmostInt(R.deltaX)||!this._isAlmostInt(R.deltaY))&&(V+=.25),Math.min(Math.max(V,0),1)}_isAlmostInt(R){return Math.abs(Math.round(R)-R)<.01}}De.INSTANCE=new De;class J extends G.${constructor(R,V,K){super(),this._onScroll=this._register(new T.Q5),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new T.Q5),R.style.overflow="hidden",this._options=xe(V),this._scrollable=K,this._register(this._scrollable.onScroll(te=>{this._onWillScroll.fire(te),this._onDidScroll(te),this._onScroll.fire(te)}));const ie={onMouseWheel:te=>this._onMouseWheel(te),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new L(this._scrollable,this._options,ie)),this._horizontalScrollbar=this._register(new m(this._scrollable,this._options,ie)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(R),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=(0,O.X)(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=(0,O.X)(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=(0,O.X)(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,te=>this._onMouseOver(te)),this.onnonbubblingmouseout(this._listenOnDomNode,te=>this._onMouseOut(te)),this._hideTimeout=this._register(new I._F),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=(0,p.B9)(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarMouseDown(R){this._verticalScrollbar.delegateMouseDown(R)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(R){this._scrollable.setScrollDimensions(R,!1)}updateClassName(R){this._options.className=R,g.dz&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(R){typeof R.handleMouseWheel!="undefined"&&(this._options.handleMouseWheel=R.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof R.mouseWheelScrollSensitivity!="undefined"&&(this._options.mouseWheelScrollSensitivity=R.mouseWheelScrollSensitivity),typeof R.fastScrollSensitivity!="undefined"&&(this._options.fastScrollSensitivity=R.fastScrollSensitivity),typeof R.scrollPredominantAxis!="undefined"&&(this._options.scrollPredominantAxis=R.scrollPredominantAxis),typeof R.horizontal!="undefined"&&(this._options.horizontal=R.horizontal),typeof R.vertical!="undefined"&&(this._options.vertical=R.vertical),typeof R.horizontalScrollbarSize!="undefined"&&(this._options.horizontalScrollbarSize=R.horizontalScrollbarSize),typeof R.verticalScrollbarSize!="undefined"&&(this._options.verticalScrollbarSize=R.verticalScrollbarSize),typeof R.scrollByPage!="undefined"&&(this._options.scrollByPage=R.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}_setListeningToMouseWheel(R){if(this._mouseWheelToDispose.length>0!==R&&(this._mouseWheelToDispose=(0,p.B9)(this._mouseWheelToDispose),R)){const K=ie=>{this._onMouseWheel(new P.q(ie))};this._mouseWheelToDispose.push(H.nm(this._listenOnDomNode,H.tw.MOUSE_WHEEL,K,{passive:!1}))}}_onMouseWheel(R){const V=De.INSTANCE;if(se){const te=window.devicePixelRatio/(0,h.ie)();g.ED||g.IJ?V.accept(Date.now(),R.deltaX/te,R.deltaY/te):V.accept(Date.now(),R.deltaX,R.deltaY)}let K=!1;if(R.deltaY||R.deltaX){let te=R.deltaY*this._options.mouseWheelScrollSensitivity,ge=R.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(Math.abs(te)>=Math.abs(ge)?ge=0:te=0),this._options.flipAxes&&([te,ge]=[ge,te]);const ye=!g.dz&&R.browserEvent&&R.browserEvent.shiftKey;(this._options.scrollYToX||ye)&&!ge&&(ge=te,te=0),R.browserEvent&&R.browserEvent.altKey&&(ge=ge*this._options.fastScrollSensitivity,te=te*this._options.fastScrollSensitivity);const ve=this._scrollable.getFutureScrollPosition();let Fe={};if(te){const we=oe*te,ue=ve.scrollTop-(we<0?Math.floor(we):Math.ceil(we));this._verticalScrollbar.writeScrollPosition(Fe,ue)}if(ge){const we=oe*ge,ue=ve.scrollLeft-(we<0?Math.floor(we):Math.ceil(we));this._horizontalScrollbar.writeScrollPosition(Fe,ue)}Fe=this._scrollable.validateScrollPosition(Fe),(ve.scrollLeft!==Fe.scrollLeft||ve.scrollTop!==Fe.scrollTop)&&(se&&this._options.mouseWheelSmoothScroll&&V.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(Fe):this._scrollable.setScrollPositionNow(Fe),K=!0)}let ie=K;!ie&&this._options.alwaysConsumeMouseWheel&&(ie=!0),!ie&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(ie=!0),ie&&(R.preventDefault(),R.stopPropagation())}_onDidScroll(R){this._shouldRender=this._horizontalScrollbar.onDidScroll(R)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(R)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const R=this._scrollable.getCurrentScrollPosition(),V=R.scrollTop>0,K=R.scrollLeft>0,ie=K?" left":"",te=V?" top":"",ge=K||V?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${ie}`),this._topShadowDomNode.setClassName(`shadow${te}`),this._topLeftShadowDomNode.setClassName(`shadow${ge}${te}${ie}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseOut(R){this._mouseIsOver=!1,this._hide()}_onMouseOver(R){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),z)}}class Z extends J{constructor(R,V){V=V||{},V.mouseWheelSmoothScroll=!1;const K=new M.Rm(0,ie=>H.jL(ie));super(R,V,K),this._register(K)}setScrollPosition(R){this._scrollable.setScrollPositionNow(R)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class Q extends J{constructor(R,V,K){super(R,V,K)}setScrollPosition(R){R.reuseAnimation?this._scrollable.setScrollPositionSmooth(R,R.reuseAnimation):this._scrollable.setScrollPositionNow(R)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class le extends Z{constructor(R,V){super(R,V),this._element=R,this.onScroll(K=>{K.scrollTopChanged&&(this._element.scrollTop=K.scrollTop),K.scrollLeftChanged&&(this._element.scrollLeft=K.scrollLeft)}),this.scanDomNode()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}function xe(j){const R={lazyRender:typeof j.lazyRender!="undefined"?j.lazyRender:!1,className:typeof j.className!="undefined"?j.className:"",useShadows:typeof j.useShadows!="undefined"?j.useShadows:!0,handleMouseWheel:typeof j.handleMouseWheel!="undefined"?j.handleMouseWheel:!0,flipAxes:typeof j.flipAxes!="undefined"?j.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof j.consumeMouseWheelIfScrollbarIsNeeded!="undefined"?j.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof j.alwaysConsumeMouseWheel!="undefined"?j.alwaysConsumeMouseWheel:!1,scrollYToX:typeof j.scrollYToX!="undefined"?j.scrollYToX:!1,mouseWheelScrollSensitivity:typeof j.mouseWheelScrollSensitivity!="undefined"?j.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof j.fastScrollSensitivity!="undefined"?j.fastScrollSensitivity:5,scrollPredominantAxis:typeof j.scrollPredominantAxis!="undefined"?j.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof j.mouseWheelSmoothScroll!="undefined"?j.mouseWheelSmoothScroll:!0,arrowSize:typeof j.arrowSize!="undefined"?j.arrowSize:11,listenOnDomNode:typeof j.listenOnDomNode!="undefined"?j.listenOnDomNode:null,horizontal:typeof j.horizontal!="undefined"?j.horizontal:1,horizontalScrollbarSize:typeof j.horizontalScrollbarSize!="undefined"?j.horizontalScrollbarSize:10,horizontalSliderSize:typeof j.horizontalSliderSize!="undefined"?j.horizontalSliderSize:0,horizontalHasArrows:typeof j.horizontalHasArrows!="undefined"?j.horizontalHasArrows:!1,vertical:typeof j.vertical!="undefined"?j.vertical:1,verticalScrollbarSize:typeof j.verticalScrollbarSize!="undefined"?j.verticalScrollbarSize:10,verticalHasArrows:typeof j.verticalHasArrows!="undefined"?j.verticalHasArrows:!1,verticalSliderSize:typeof j.verticalSliderSize!="undefined"?j.verticalSliderSize:0,scrollByPage:typeof j.scrollByPage!="undefined"?j.scrollByPage:!1};return R.horizontalSliderSize=typeof j.horizontalSliderSize!="undefined"?j.horizontalSliderSize:R.horizontalScrollbarSize,R.verticalSliderSize=typeof j.verticalSliderSize!="undefined"?j.verticalSliderSize:R.verticalScrollbarSize,g.dz&&(R.className+=" mac"),R}},56586:function(xt,Te,i){"use strict";i.d(Te,{M:function(){return f},z:function(){return v}});var h=i(69454),H=i(39665),O=i(1336),P=i(43506),D=i(51737),G=i(4348),I=i(69323),y=i(56722),E=i(28962),p=i(72999);const a={separatorBorder:D.Il.transparent};class g{constructor(l,m,c,b){this.container=l,this.view=m,this.disposable=b,this._cachedVisibleSize=void 0,typeof c=="number"?(this._size=c,this._cachedVisibleSize=void 0,l.classList.add("visible")):(this._size=0,this._cachedVisibleSize=c.cachedVisibleSize)}set size(l){this._size=l}get size(){return this._size}get visible(){return typeof this._cachedVisibleSize=="undefined"}setVisible(l,m){l!==this.visible&&(l?(this.size=(0,y.u)(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof m=="number"?m:this.size,this.size=0),this.container.classList.toggle("visible",l),this.view.setVisible&&this.view.setVisible(l))}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 snap(){return!!this.view.snap}set enabled(l){this.container.style.pointerEvents=l?"":"none"}layout(l,m){this.layoutContainer(l),this.view.layout(this.size,l,m)}dispose(){return this.disposable.dispose(),this.view}}class w extends g{layoutContainer(l){this.container.style.top=`${l}px`,this.container.style.height=`${this.size}px`}}class s extends g{layoutContainer(l){this.container.style.left=`${l}px`,this.container.style.width=`${this.size}px`}}var C;(function(r){r[r.Idle=0]="Idle",r[r.Busy=1]="Busy"})(C||(C={}));var f;(function(r){r.Distribute={type:"distribute"};function l(c){return{type:"split",index:c}}r.Split=l;function m(c){return{type:"invisible",cachedVisibleSize:c}}r.Invisible=m})(f||(f={}));class v extends I.JT{constructor(l,m={}){var c,b;super(),this.size=0,this.contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=C.Idle,this._onDidSashChange=this._register(new G.Q5),this.onDidSashChange=this._onDidSashChange.event,this._onDidSashReset=this._register(new G.Q5),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.orientation=p.o8(m.orientation)?0:m.orientation,this.inverseAltBehavior=!!m.inverseAltBehavior,this.proportionalLayout=p.o8(m.proportionalLayout)?!0:!!m.proportionalLayout,this.getSashOrthogonalSize=m.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(this.orientation===0?"vertical":"horizontal"),l.appendChild(this.el),this.sashContainer=(0,h.R3)(this.el,(0,h.$)(".sash-container")),this.viewContainer=(0,h.$)(".split-view-container"),this.scrollable=new E.Rm(125,h.jL),this.scrollableElement=this._register(new O.$Z(this.viewContainer,{vertical:this.orientation===0?(c=m.scrollbarVisibility)!==null&&c!==void 0?c:1:2,horizontal:this.orientation===1?(b=m.scrollbarVisibility)!==null&&b!==void 0?b:1:2},this.scrollable)),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll(L=>{this.viewContainer.scrollTop=L.scrollTop,this.viewContainer.scrollLeft=L.scrollLeft})),(0,h.R3)(this.el,this.scrollableElement.getDomNode()),this.style(m.styles||a),m.descriptor&&(this.size=m.descriptor.size,m.descriptor.views.forEach((L,T)=>{const M=p.o8(L.visible)||L.visible?L.size:{type:"invisible",cachedVisibleSize:L.size},z=L.view;this.doAddView(z,M,T,!0)}),this.contentSize=this.viewItems.reduce((L,T)=>L+T.size,0),this.saveProportions())}get orthogonalStartSash(){return this._orthogonalStartSash}set orthogonalStartSash(l){for(const m of this.sashItems)m.sash.orthogonalStartSash=l;this._orthogonalStartSash=l}get orthogonalEndSash(){return this._orthogonalEndSash}set orthogonalEndSash(l){for(const m of this.sashItems)m.sash.orthogonalEndSash=l;this._orthogonalEndSash=l}get startSnappingEnabled(){return this._startSnappingEnabled}set startSnappingEnabled(l){this._startSnappingEnabled!==l&&(this._startSnappingEnabled=l,this.updateSashEnablement())}get endSnappingEnabled(){return this._endSnappingEnabled}set endSnappingEnabled(l){this._endSnappingEnabled!==l&&(this._endSnappingEnabled=l,this.updateSashEnablement())}style(l){l.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",l.separatorBorder.toString()))}addView(l,m,c=this.viewItems.length,b){this.doAddView(l,m,c,b)}layout(l,m){const c=Math.max(this.size,this.contentSize);if(this.size=l,this.layoutContext=m,this.proportions)for(let b=0;b<this.viewItems.length;b++){const L=this.viewItems[b];L.size=(0,y.u)(Math.round(this.proportions[b]*l),L.minimumSize,L.maximumSize)}else{const b=(0,P.w6)(this.viewItems.length),L=b.filter(M=>this.viewItems[M].priority===1),T=b.filter(M=>this.viewItems[M].priority===2);this.resize(this.viewItems.length-1,l-c,void 0,L,T)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this.contentSize>0&&(this.proportions=this.viewItems.map(l=>l.size/this.contentSize))}onSashStart({sash:l,start:m,alt:c}){for(const M of this.viewItems)M.enabled=!1;const b=this.sashItems.findIndex(M=>M.sash===l),L=(0,I.F8)((0,h.nm)(document.body,"keydown",M=>T(this.sashDragState.current,M.altKey)),(0,h.nm)(document.body,"keyup",()=>T(this.sashDragState.current,!1))),T=(M,z)=>{const oe=this.viewItems.map(Z=>Z.size);let se=Number.NEGATIVE_INFINITY,re=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(z=!z),z)if(b===this.sashItems.length-1){const Q=this.viewItems[b];se=(Q.minimumSize-Q.size)/2,re=(Q.maximumSize-Q.size)/2}else{const Q=this.viewItems[b+1];se=(Q.size-Q.maximumSize)/2,re=(Q.size-Q.minimumSize)/2}let De,J;if(!z){const Z=(0,P.w6)(b,-1),Q=(0,P.w6)(b+1,this.viewItems.length),le=Z.reduce((ge,ye)=>ge+(this.viewItems[ye].minimumSize-oe[ye]),0),xe=Z.reduce((ge,ye)=>ge+(this.viewItems[ye].viewMaximumSize-oe[ye]),0),j=Q.length===0?Number.POSITIVE_INFINITY:Q.reduce((ge,ye)=>ge+(oe[ye]-this.viewItems[ye].minimumSize),0),R=Q.length===0?Number.NEGATIVE_INFINITY:Q.reduce((ge,ye)=>ge+(oe[ye]-this.viewItems[ye].viewMaximumSize),0),V=Math.max(le,R),K=Math.min(j,xe),ie=this.findFirstSnapIndex(Z),te=this.findFirstSnapIndex(Q);if(typeof ie=="number"){const ge=this.viewItems[ie],ye=Math.floor(ge.viewMinimumSize/2);De={index:ie,limitDelta:ge.visible?V-ye:V+ye,size:ge.size}}if(typeof te=="number"){const ge=this.viewItems[te],ye=Math.floor(ge.viewMinimumSize/2);J={index:te,limitDelta:ge.visible?K+ye:K-ye,size:ge.size}}}this.sashDragState={start:M,current:M,index:b,sizes:oe,minDelta:se,maxDelta:re,alt:z,snapBefore:De,snapAfter:J,disposable:L}};T(m,c)}onSashChange({current:l}){const{index:m,start:c,sizes:b,alt:L,minDelta:T,maxDelta:M,snapBefore:z,snapAfter:oe}=this.sashDragState;this.sashDragState.current=l;const se=l-c,re=this.resize(m,se,b,void 0,void 0,T,M,z,oe);if(L){const De=m===this.sashItems.length-1,J=this.viewItems.map(R=>R.size),Z=De?m:m+1,Q=this.viewItems[Z],le=Q.size-Q.maximumSize,xe=Q.size-Q.minimumSize,j=De?m-1:m+1;this.resize(j,-re,J,void 0,void 0,le,xe)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(l){this._onDidSashChange.fire(l),this.sashDragState.disposable.dispose(),this.saveProportions();for(const m of this.viewItems)m.enabled=!0}onViewChange(l,m){const c=this.viewItems.indexOf(l);c<0||c>=this.viewItems.length||(m=typeof m=="number"?m:l.size,m=(0,y.u)(m,l.minimumSize,l.maximumSize),this.inverseAltBehavior&&c>0?(this.resize(c-1,Math.floor((l.size-m)/2)),this.distributeEmptySpace(),this.layoutViews()):(l.size=m,this.relayout([c],void 0)))}resizeView(l,m){if(this.state!==C.Idle)throw new Error("Cant modify splitview");if(this.state=C.Busy,l<0||l>=this.viewItems.length)return;const c=(0,P.w6)(this.viewItems.length).filter(M=>M!==l),b=[...c.filter(M=>this.viewItems[M].priority===1),l],L=c.filter(M=>this.viewItems[M].priority===2),T=this.viewItems[l];m=Math.round(m),m=(0,y.u)(m,T.minimumSize,Math.min(T.maximumSize,this.size)),T.size=m,this.relayout(b,L),this.state=C.Idle}distributeViewSizes(){const l=[];let m=0;for(const M of this.viewItems)M.maximumSize-M.minimumSize>0&&(l.push(M),m+=M.size);const c=Math.floor(m/l.length);for(const M of l)M.size=(0,y.u)(c,M.minimumSize,M.maximumSize);const b=(0,P.w6)(this.viewItems.length),L=b.filter(M=>this.viewItems[M].priority===1),T=b.filter(M=>this.viewItems[M].priority===2);this.relayout(L,T)}getViewSize(l){return l<0||l>=this.viewItems.length?-1:this.viewItems[l].size}doAddView(l,m,c=this.viewItems.length,b){if(this.state!==C.Idle)throw new Error("Cant modify splitview");this.state=C.Busy;const L=(0,h.$)(".split-view-view");c===this.viewItems.length?this.viewContainer.appendChild(L):this.viewContainer.insertBefore(L,this.viewContainer.children.item(c));const T=l.onDidChange(De=>this.onViewChange(se,De)),M=(0,I.OF)(()=>this.viewContainer.removeChild(L)),z=(0,I.F8)(T,M);let oe;typeof m=="number"?oe=m:m.type==="split"?oe=this.getViewSize(m.index)/2:m.type==="invisible"?oe={cachedVisibleSize:m.cachedVisibleSize}:oe=l.minimumSize;const se=this.orientation===0?new w(L,l,oe,z):new s(L,l,oe,z);if(this.viewItems.splice(c,0,se),this.viewItems.length>1){let De={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash};const J=this.orientation===0?new H.g(this.sashContainer,{getHorizontalSashTop:ge=>this.getSashPosition(ge),getHorizontalSashWidth:this.getSashOrthogonalSize},Object.assign(Object.assign({},De),{orientation:1})):new H.g(this.sashContainer,{getVerticalSashLeft:ge=>this.getSashPosition(ge),getVerticalSashHeight:this.getSashOrthogonalSize},Object.assign(Object.assign({},De),{orientation:0})),Z=this.orientation===0?ge=>({sash:J,start:ge.startY,current:ge.currentY,alt:ge.altKey}):ge=>({sash:J,start:ge.startX,current:ge.currentX,alt:ge.altKey}),le=G.ju.map(J.onDidStart,Z)(this.onSashStart,this),j=G.ju.map(J.onDidChange,Z)(this.onSashChange,this),V=G.ju.map(J.onDidEnd,()=>this.sashItems.findIndex(ge=>ge.sash===J))(this.onSashEnd,this),K=J.onDidReset(()=>{const ge=this.sashItems.findIndex(ue=>ue.sash===J),ye=(0,P.w6)(ge,-1),ve=(0,P.w6)(ge+1,this.viewItems.length),Fe=this.findFirstSnapIndex(ye),we=this.findFirstSnapIndex(ve);typeof Fe=="number"&&!this.viewItems[Fe].visible||typeof we=="number"&&!this.viewItems[we].visible||this._onDidSashReset.fire(ge)}),ie=(0,I.F8)(le,j,V,K,J),te={sash:J,disposable:ie};this.sashItems.splice(c-1,0,te)}L.appendChild(l.element);let re;typeof m!="number"&&m.type==="split"&&(re=[m.index]),b||this.relayout([c],re),this.state=C.Idle,!b&&typeof m!="number"&&m.type==="distribute"&&this.distributeViewSizes()}relayout(l,m){const c=this.viewItems.reduce((b,L)=>b+L.size,0);this.resize(this.viewItems.length-1,this.size-c,void 0,l,m),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(l,m,c=this.viewItems.map(se=>se.size),b,L,T=Number.NEGATIVE_INFINITY,M=Number.POSITIVE_INFINITY,z,oe){if(l<0||l>=this.viewItems.length)return 0;const se=(0,P.w6)(l,-1),re=(0,P.w6)(l+1,this.viewItems.length);if(L)for(const te of L)(0,P.zI)(se,te),(0,P.zI)(re,te);if(b)for(const te of b)(0,P.al)(se,te),(0,P.al)(re,te);const De=se.map(te=>this.viewItems[te]),J=se.map(te=>c[te]),Z=re.map(te=>this.viewItems[te]),Q=re.map(te=>c[te]),le=se.reduce((te,ge)=>te+(this.viewItems[ge].minimumSize-c[ge]),0),xe=se.reduce((te,ge)=>te+(this.viewItems[ge].maximumSize-c[ge]),0),j=re.length===0?Number.POSITIVE_INFINITY:re.reduce((te,ge)=>te+(c[ge]-this.viewItems[ge].minimumSize),0),R=re.length===0?Number.NEGATIVE_INFINITY:re.reduce((te,ge)=>te+(c[ge]-this.viewItems[ge].maximumSize),0),V=Math.max(le,R,T),K=Math.min(j,xe,M);let ie=!1;if(z){const te=this.viewItems[z.index],ge=m>=z.limitDelta;ie=ge!==te.visible,te.setVisible(ge,z.size)}if(!ie&&oe){const te=this.viewItems[oe.index],ge=m<oe.limitDelta;ie=ge!==te.visible,te.setVisible(ge,oe.size)}if(ie)return this.resize(l,m,c,b,L,T,M);m=(0,y.u)(m,V,K);for(let te=0,ge=m;te<De.length;te++){const ye=De[te],ve=(0,y.u)(J[te]+ge,ye.minimumSize,ye.maximumSize),Fe=ve-J[te];ge-=Fe,ye.size=ve}for(let te=0,ge=m;te<Z.length;te++){const ye=Z[te],ve=(0,y.u)(Q[te]-ge,ye.minimumSize,ye.maximumSize),Fe=ve-Q[te];ge+=Fe,ye.size=ve}return m}distributeEmptySpace(l){const m=this.viewItems.reduce((M,z)=>M+z.size,0);let c=this.size-m;const b=(0,P.w6)(this.viewItems.length-1,-1),L=b.filter(M=>this.viewItems[M].priority===1),T=b.filter(M=>this.viewItems[M].priority===2);for(const M of T)(0,P.zI)(b,M);for(const M of L)(0,P.al)(b,M);typeof l=="number"&&(0,P.al)(b,l);for(let M=0;c!==0&&M<b.length;M++){const z=this.viewItems[b[M]],oe=(0,y.u)(z.size+c,z.minimumSize,z.maximumSize),se=oe-z.size;c-=se,z.size=oe}}layoutViews(){this.contentSize=this.viewItems.reduce((m,c)=>m+c.size,0);let l=0;for(const m of this.viewItems)m.layout(l,this.layoutContext),l+=m.size;this.sashItems.forEach(m=>m.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 l=!1;const m=this.viewItems.map(z=>l=z.size-z.minimumSize>0||l);l=!1;const c=this.viewItems.map(z=>l=z.maximumSize-z.size>0||l),b=[...this.viewItems].reverse();l=!1;const L=b.map(z=>l=z.size-z.minimumSize>0||l).reverse();l=!1;const T=b.map(z=>l=z.maximumSize-z.size>0||l).reverse();let M=0;for(let z=0;z<this.sashItems.length;z++){const{sash:oe}=this.sashItems[z],se=this.viewItems[z];M+=se.size;const re=!(m[z]&&T[z+1]),De=!(c[z]&&L[z+1]);if(re&&De){const J=(0,P.w6)(z,-1),Z=(0,P.w6)(z+1,this.viewItems.length),Q=this.findFirstSnapIndex(J),le=this.findFirstSnapIndex(Z),xe=typeof Q=="number"&&!this.viewItems[Q].visible,j=typeof le=="number"&&!this.viewItems[le].visible;xe&&L[z]&&(M>0||this.startSnappingEnabled)?oe.state=1:j&&m[z]&&(M<this.contentSize||this.endSnappingEnabled)?oe.state=2:oe.state=0}else re&&!De?oe.state=1:!re&&De?oe.state=2:oe.state=3}}getSashPosition(l){let m=0;for(let c=0;c<this.sashItems.length;c++)if(m+=this.viewItems[c].size,this.sashItems[c].sash===l)return m;return 0}findFirstSnapIndex(l){for(const m of l){const c=this.viewItems[m];if(c.visible&&c.snap)return m}for(const m of l){const c=this.viewItems[m];if(c.visible&&c.maximumSize-c.minimumSize>0)return;if(!c.visible&&c.snap)return m}}dispose(){super.dispose(),this.viewItems.forEach(l=>l.dispose()),this.viewItems=[],this.sashItems.forEach(l=>l.disposable.dispose()),this.sashItems=[]}}},62758:function(xt,Te,i){"use strict";i.d(Te,{$:function(){return G}});var h=i(69454),H=i(92813),O=i(52390),P=i(60537),D=i(69323);class G extends D.JT{onclick(y,E){this._register(h.nm(y,h.tw.CLICK,p=>E(new O.n(p))))}onmousedown(y,E){this._register(h.nm(y,h.tw.MOUSE_DOWN,p=>E(new O.n(p))))}onmouseover(y,E){this._register(h.nm(y,h.tw.MOUSE_OVER,p=>E(new O.n(p))))}onnonbubblingmouseout(y,E){this._register(h.j_(y,p=>E(new O.n(p))))}onkeydown(y,E){this._register(h.nm(y,h.tw.KEY_DOWN,p=>E(new H.y(p))))}onkeyup(y,E){this._register(h.nm(y,h.tw.KEY_UP,p=>E(new H.y(p))))}oninput(y,E){this._register(h.nm(y,h.tw.INPUT,E))}onblur(y,E){this._register(h.nm(y,h.tw.BLUR,E))}onfocus(y,E){this._register(h.nm(y,h.tw.FOCUS,E))}ignoreGesture(y){P.o.ignoreTarget(y)}}},43506:function(xt,Te,i){"use strict";i.d(Te,{EB:function(){return a},Gb:function(){return h},H9:function(){return T},HW:function(){return G},JH:function(){return H},Of:function(){return p},XY:function(){return E},Xh:function(){return s},Zv:function(){return v},_2:function(){return m},al:function(){return l},dF:function(){return g},db:function(){return b},fS:function(){return O},kX:function(){return y},lG:function(){return D},ry:function(){return P},vM:function(){return I},w6:function(){return f},xH:function(){return C},zI:function(){return r}});function h(M,z=0){return M[M.length-(1+z)]}function H(M){if(M.length===0)throw new Error("Invalid tail call");return[M.slice(0,M.length-1),M[M.length-1]]}function O(M,z,oe=(se,re)=>se===re){if(M===z)return!0;if(!M||!z||M.length!==z.length)return!1;for(let se=0,re=M.length;se<re;se++)if(!oe(M[se],z[se]))return!1;return!0}function P(M,z,oe){let se=0,re=M.length-1;for(;se<=re;){const De=(se+re)/2|0,J=oe(M[De],z);if(J<0)se=De+1;else if(J>0)re=De-1;else return De}return-(se+1)}function D(M,z){let oe=0,se=M.length;if(se===0)return 0;for(;oe<se;){const re=Math.floor((oe+se)/2);z(M[re])?se=re:oe=re+1}return oe}function G(M,z,oe){if(M=M|0,M>=z.length)throw new TypeError("invalid index");let se=z[Math.floor(z.length*Math.random())],re=[],De=[],J=[];for(let Z of z){const Q=oe(Z,se);Q<0?re.push(Z):Q>0?De.push(Z):J.push(Z)}return M<re.length?G(M,re,oe):M<re.length+J.length?J[0]:G(M-(re.length+J.length),De,oe)}function I(M,z){const oe=[];let se;for(const re of M.slice(0).sort(z))!se||z(se[0],re)!==0?(se=[re],oe.push(se)):se.push(re);return oe}function y(M){return M.filter(z=>!!z)}function E(M){return!Array.isArray(M)||M.length===0}function p(M){return Array.isArray(M)&&M.length>0}function a(M,z=oe=>oe){const oe=new Set;return M.filter(se=>{const re=z(se);return oe.has(re)?!1:(oe.add(re),!0)})}function g(M,z){const oe=w(M,z);if(oe!==-1)return M[oe]}function w(M,z){for(let oe=M.length-1;oe>=0;oe--){const se=M[oe];if(z(se))return oe}return-1}function s(M,z){return M.length>0?M[0]:z}function C(M){return[].concat(...M)}function f(M,z){let oe=typeof z=="number"?M:0;typeof z=="number"?oe=M:(oe=0,z=M);const se=[];if(oe<=z)for(let re=oe;re<z;re++)se.push(re);else for(let re=oe;re>z;re--)se.push(re);return se}function v(M,z,oe){const se=M.slice(0,z),re=M.slice(z);return se.concat(oe,re)}function r(M,z){const oe=M.indexOf(z);oe>-1&&(M.splice(oe,1),M.unshift(z))}function l(M,z){const oe=M.indexOf(z);oe>-1&&(M.splice(oe,1),M.push(z))}function m(M){return Array.isArray(M)?M:[M]}function c(M,z,oe){const se=L(M,z),re=M.length,De=oe.length;M.length=re+De;for(let J=re-1;J>=se;J--)M[J+De]=M[J];for(let J=0;J<De;J++)M[J+se]=oe[J]}function b(M,z,oe,se){const re=L(M,z),De=M.splice(re,oe);return c(M,re,se),De}function L(M,z){return z<0?Math.max(z+M.length,0):Math.min(z,M.length)}class T{constructor(z){this.items=z,this.firstIdx=0,this.lastIdx=this.items.length-1}takeWhile(z){let oe=this.firstIdx;for(;oe<this.items.length&&z(this.items[oe]);)oe++;const se=oe===this.firstIdx?null:this.items.slice(this.firstIdx,oe);return this.firstIdx=oe,se}takeFromEndWhile(z){let oe=this.lastIdx;for(;oe>=0&&z(this.items[oe]);)oe--;const se=oe===this.lastIdx?null:this.items.slice(oe+1,this.lastIdx+1);return this.lastIdx=oe,se}peek(){return this.items[this.firstIdx]}}},50431:function(xt,Te,i){"use strict";i.d(Te,{J8:function(){return D},PG:function(){return G},Ps:function(){return w},To:function(){return v},Ue:function(){return r},Vg:function(){return g},Vs:function(){return a},_F:function(){return s},eP:function(){return I},jT:function(){return l},pY:function(){return f},rH:function(){return p},vp:function(){return E},zh:function(){return C}});var h=i(96283),H=i(79881),O=i(69323),P=function(m,c,b,L){function T(M){return M instanceof b?M:new b(function(z){z(M)})}return new(b||(b=Promise))(function(M,z){function oe(De){try{re(L.next(De))}catch(J){z(J)}}function se(De){try{re(L.throw(De))}catch(J){z(J)}}function re(De){De.done?M(De.value):T(De.value).then(oe,se)}re((L=L.apply(m,c||[])).next())})};function D(m){return!!m&&typeof m.then=="function"}function G(m){const c=new h.A,b=m(c.token),L=new Promise((T,M)=>{const z=c.token.onCancellationRequested(()=>{z.dispose(),c.dispose(),M((0,H.F0)())});Promise.resolve(b).then(oe=>{z.dispose(),c.dispose(),T(oe)},oe=>{z.dispose(),c.dispose(),M(oe)})});return new class{cancel(){c.cancel()}then(T,M){return L.then(T,M)}catch(T){return this.then(void 0,T)}finally(T){return L.finally(T)}}}function I(m,c,b){return Promise.race([m,new Promise(L=>c.onCancellationRequested(()=>L(b)))])}class y{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(c){if(this.activePromise){if(this.queuedPromiseFactory=c,!this.queuedPromise){const b=()=>{this.queuedPromise=null;const L=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,L};this.queuedPromise=new Promise(L=>{this.activePromise.then(b,b).then(L)})}return new Promise((b,L)=>{this.queuedPromise.then(b,L)})}return this.activePromise=c(),new Promise((b,L)=>{this.activePromise.then(T=>{this.activePromise=null,b(T)},T=>{this.activePromise=null,L(T)})})}}class E{constructor(c){this.defaultDelay=c,this.timeout=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(c,b=this.defaultDelay){return this.task=c,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((L,T)=>{this.doResolve=L,this.doReject=T}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const L=this.task;return this.task=null,L()}})),this.timeout=setTimeout(()=>{this.timeout=null,this.doResolve&&this.doResolve(null)},b),this.completionPromise}isTriggered(){return this.timeout!==null}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject&&this.doReject((0,H.F0)()),this.completionPromise=null)}cancelTimeout(){this.timeout!==null&&(clearTimeout(this.timeout),this.timeout=null)}dispose(){this.cancel()}}class p{constructor(c){this.delayer=new E(c),this.throttler=new y}trigger(c,b){return this.delayer.trigger(()=>this.throttler.queue(c),b)}dispose(){this.delayer.dispose()}}function a(m,c){return c?new Promise((b,L)=>{const T=setTimeout(()=>{M.dispose(),b()},m),M=c.onCancellationRequested(()=>{clearTimeout(T),M.dispose(),L((0,H.F0)())})}):G(b=>a(m,b))}function g(m,c=0){const b=setTimeout(m,c);return(0,O.OF)(()=>clearTimeout(b))}function w(m,c=L=>!!L,b=null){let L=0;const T=m.length,M=()=>{if(L>=T)return Promise.resolve(b);const z=m[L++];return Promise.resolve(z()).then(se=>c(se)?Promise.resolve(se):M())};return M()}class s{constructor(c,b){this._token=-1,typeof c=="function"&&typeof b=="number"&&this.setIfNotSet(c,b)}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(c,b){this.cancel(),this._token=setTimeout(()=>{this._token=-1,c()},b)}setIfNotSet(c,b){this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,c()},b))}}class C{constructor(){this._token=-1}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearInterval(this._token),this._token=-1)}cancelAndSet(c,b){this.cancel(),this._token=setInterval(()=>{c()},b)}}class f{constructor(c,b){this.timeoutToken=-1,this.runner=c,this.timeout=b,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(c=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,c)}get delay(){return this.timeout}set delay(c){this.timeout=c}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner&&this.runner()}}let v;(function(){typeof requestIdleCallback!="function"||typeof cancelIdleCallback!="function"?v=m=>{const c=setTimeout(()=>{const L=Date.now()+15;m(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,L-Date.now())}}))});let b=!1;return{dispose(){b||(b=!0,clearTimeout(c))}}}:v=(m,c)=>{const b=requestIdleCallback(m,typeof c=="number"?{timeout:c}:void 0);let L=!1;return{dispose(){L||(L=!0,cancelIdleCallback(b))}}}})();class r{constructor(c){this._didRun=!1,this._executor=()=>{try{this._value=c()}catch(b){this._error=b}finally{this._didRun=!0}},this._handle=v(()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}var l;(function(m){function c(L){return P(this,void 0,void 0,function*(){let T;const M=yield Promise.all(L.map(z=>z.then(oe=>oe,oe=>{T||(T=oe)})));if(typeof T!="undefined")throw T;return M})}m.settled=c;function b(L){return new Promise((T,M)=>P(this,void 0,void 0,function*(){try{yield L(T,M)}catch(z){M(z)}}))}m.withAsyncBody=b})(l||(l={}))},90794:function(xt,Te,i){"use strict";i.d(Te,{Ag:function(){return I},Cg:function(){return p},KN:function(){return P},Q$:function(){return E},T4:function(){return y},mP:function(){return D},oq:function(){return G}});var h=i(19208).lW;const H=typeof h!="undefined";let O;class P{constructor(g){this.buffer=g,this.byteLength=this.buffer.byteLength}static wrap(g){return H&&!h.isBuffer(g)&&(g=h.from(g.buffer,g.byteOffset,g.byteLength)),new P(g)}toString(){return H?this.buffer.toString():(O||(O=new TextDecoder),O.decode(this.buffer))}}function D(a,g){return a[g+0]<<0>>>0|a[g+1]<<8>>>0}function G(a,g,w){a[w+0]=g&255,g=g>>>8,a[w+1]=g&255}function I(a,g){return a[g]*Math.pow(2,24)+a[g+1]*Math.pow(2,16)+a[g+2]*Math.pow(2,8)+a[g+3]}function y(a,g,w){a[w+3]=g,g=g>>>8,a[w+2]=g,g=g>>>8,a[w+1]=g,g=g>>>8,a[w]=g}function E(a,g){return a[g]}function p(a,g,w){a[w]=g}},96283:function(xt,Te,i){"use strict";i.d(Te,{A:function(){return D},T:function(){return O}});var h=i(4348);const H=Object.freeze(function(G,I){const y=setTimeout(G.bind(I),0);return{dispose(){clearTimeout(y)}}});var O;(function(G){function I(y){return y===G.None||y===G.Cancelled||y instanceof P?!0:!y||typeof y!="object"?!1:typeof y.isCancellationRequested=="boolean"&&typeof y.onCancellationRequested=="function"}G.isCancellationToken=I,G.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:h.ju.None}),G.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:H})})(O||(O={}));class P{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?H:(this._emitter||(this._emitter=new h.Q5),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class D{constructor(I){this._token=void 0,this._parentListener=void 0,this._parentListener=I&&I.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new P),this._token}cancel(){this._token?this._token instanceof P&&this._token.cancel():this._token=O.Cancelled}dispose(I=!1){I&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof P&&this._token.dispose():this._token=O.None}}},55237:function(xt,Te,i){"use strict";i.d(Te,{E:function(){return H},r:function(){return O}});const h=Object.prototype.hasOwnProperty;function H(P,D){for(let G in P)if(h.call(P,G)&&D({key:G,value:P[G]},function(){delete P[G]})===!1)return}class O{constructor(){this.map=new Map}add(D,G){let I=this.map.get(D);I||(I=new Set,this.map.set(D,I)),I.add(G)}delete(D,G){const I=this.map.get(D);I&&(I.delete(G),I.size===0&&this.map.delete(D))}forEach(D,G){const I=this.map.get(D);I&&I.forEach(G)}}},51737:function(xt,Te,i){"use strict";i.d(Te,{Il:function(){return D},VS:function(){return H},tx:function(){return P}});function h(G,I){const y=Math.pow(10,I);return Math.round(G*y)/y}class H{constructor(I,y,E,p=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,I))|0,this.g=Math.min(255,Math.max(0,y))|0,this.b=Math.min(255,Math.max(0,E))|0,this.a=h(Math.max(Math.min(1,p),0),3)}static equals(I,y){return I.r===y.r&&I.g===y.g&&I.b===y.b&&I.a===y.a}}class O{constructor(I,y,E,p){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,I),0)|0,this.s=h(Math.max(Math.min(1,y),0),3),this.l=h(Math.max(Math.min(1,E),0),3),this.a=h(Math.max(Math.min(1,p),0),3)}static equals(I,y){return I.h===y.h&&I.s===y.s&&I.l===y.l&&I.a===y.a}static fromRGBA(I){const y=I.r/255,E=I.g/255,p=I.b/255,a=I.a,g=Math.max(y,E,p),w=Math.min(y,E,p);let s=0,C=0;const f=(w+g)/2,v=g-w;if(v>0){switch(C=Math.min(f<=.5?v/(2*f):v/(2-2*f),1),g){case y:s=(E-p)/v+(E<p?6:0);break;case E:s=(p-y)/v+2;break;case p:s=(y-E)/v+4;break}s*=60,s=Math.round(s)}return new O(s,C,f,a)}static _hue2rgb(I,y,E){return E<0&&(E+=1),E>1&&(E-=1),E<1/6?I+(y-I)*6*E:E<1/2?y:E<2/3?I+(y-I)*(2/3-E)*6:I}static toRGBA(I){const y=I.h/360,{s:E,l:p,a}=I;let g,w,s;if(E===0)g=w=s=p;else{const C=p<.5?p*(1+E):p+E-p*E,f=2*p-C;g=O._hue2rgb(f,C,y+1/3),w=O._hue2rgb(f,C,y),s=O._hue2rgb(f,C,y-1/3)}return new H(Math.round(g*255),Math.round(w*255),Math.round(s*255),a)}}class P{constructor(I,y,E,p){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,I),0)|0,this.s=h(Math.max(Math.min(1,y),0),3),this.v=h(Math.max(Math.min(1,E),0),3),this.a=h(Math.max(Math.min(1,p),0),3)}static equals(I,y){return I.h===y.h&&I.s===y.s&&I.v===y.v&&I.a===y.a}static fromRGBA(I){const y=I.r/255,E=I.g/255,p=I.b/255,a=Math.max(y,E,p),g=Math.min(y,E,p),w=a-g,s=a===0?0:w/a;let C;return w===0?C=0:a===y?C=((E-p)/w%6+6)%6:a===E?C=(p-y)/w+2:C=(y-E)/w+4,new P(Math.round(C*60),s,a,I.a)}static toRGBA(I){const{h:y,s:E,v:p,a}=I,g=p*E,w=g*(1-Math.abs(y/60%2-1)),s=p-g;let[C,f,v]=[0,0,0];return y<60?(C=g,f=w):y<120?(C=w,f=g):y<180?(f=g,v=w):y<240?(f=w,v=g):y<300?(C=w,v=g):y<=360&&(C=g,v=w),C=Math.round((C+s)*255),f=Math.round((f+s)*255),v=Math.round((v+s)*255),new H(C,f,v,a)}}class D{constructor(I){if(I)if(I instanceof H)this.rgba=I;else if(I instanceof O)this._hsla=I,this.rgba=O.toRGBA(I);else if(I instanceof P)this._hsva=I,this.rgba=P.toRGBA(I);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}static fromHex(I){return D.Format.CSS.parseHex(I)||D.red}get hsla(){return this._hsla?this._hsla:O.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:P.fromRGBA(this.rgba)}equals(I){return!!I&&H.equals(this.rgba,I.rgba)&&O.equals(this.hsla,I.hsla)&&P.equals(this.hsva,I.hsva)}getRelativeLuminance(){const I=D._relativeLuminanceForComponent(this.rgba.r),y=D._relativeLuminanceForComponent(this.rgba.g),E=D._relativeLuminanceForComponent(this.rgba.b),p=.2126*I+.7152*y+.0722*E;return h(p,4)}static _relativeLuminanceForComponent(I){const y=I/255;return y<=.03928?y/12.92:Math.pow((y+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(I){const y=this.getRelativeLuminance(),E=I.getRelativeLuminance();return y>E}isDarkerThan(I){const y=this.getRelativeLuminance(),E=I.getRelativeLuminance();return y<E}lighten(I){return new D(new O(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*I,this.hsla.a))}darken(I){return new D(new O(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*I,this.hsla.a))}transparent(I){const{r:y,g:E,b:p,a}=this.rgba;return new D(new H(y,E,p,a*I))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new D(new H(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}toString(){return this._toString||(this._toString=D.Format.CSS.format(this)),this._toString}static getLighterColor(I,y,E){if(I.isLighterThan(y))return I;E=E||.5;const p=I.getRelativeLuminance(),a=y.getRelativeLuminance();return E=E*(a-p)/a,I.lighten(E)}static getDarkerColor(I,y,E){if(I.isDarkerThan(y))return I;E=E||.5;const p=I.getRelativeLuminance(),a=y.getRelativeLuminance();return E=E*(p-a)/p,I.darken(E)}}D.white=new D(new H(255,255,255,1)),D.black=new D(new H(0,0,0,1)),D.red=new D(new H(255,0,0,1)),D.blue=new D(new H(0,0,255,1)),D.cyan=new D(new H(0,255,255,1)),D.lightgrey=new D(new H(211,211,211,1)),D.transparent=new D(new H(0,0,0,0)),function(G){let I;(function(y){let E;(function(p){function a(c){return c.rgba.a===1?`rgb(${c.rgba.r}, ${c.rgba.g}, ${c.rgba.b})`:G.Format.CSS.formatRGBA(c)}p.formatRGB=a;function g(c){return`rgba(${c.rgba.r}, ${c.rgba.g}, ${c.rgba.b}, ${+c.rgba.a.toFixed(2)})`}p.formatRGBA=g;function w(c){return c.hsla.a===1?`hsl(${c.hsla.h}, ${(c.hsla.s*100).toFixed(2)}%, ${(c.hsla.l*100).toFixed(2)}%)`:G.Format.CSS.formatHSLA(c)}p.formatHSL=w;function s(c){return`hsla(${c.hsla.h}, ${(c.hsla.s*100).toFixed(2)}%, ${(c.hsla.l*100).toFixed(2)}%, ${c.hsla.a.toFixed(2)})`}p.formatHSLA=s;function C(c){const b=c.toString(16);return b.length!==2?"0"+b:b}function f(c){return`#${C(c.rgba.r)}${C(c.rgba.g)}${C(c.rgba.b)}`}p.formatHex=f;function v(c,b=!1){return b&&c.rgba.a===1?G.Format.CSS.formatHex(c):`#${C(c.rgba.r)}${C(c.rgba.g)}${C(c.rgba.b)}${C(Math.round(c.rgba.a*255))}`}p.formatHexA=v;function r(c){return c.isOpaque()?G.Format.CSS.formatHex(c):G.Format.CSS.formatRGBA(c)}p.format=r;function l(c){const b=c.length;if(b===0||c.charCodeAt(0)!==35)return null;if(b===7){const L=16*m(c.charCodeAt(1))+m(c.charCodeAt(2)),T=16*m(c.charCodeAt(3))+m(c.charCodeAt(4)),M=16*m(c.charCodeAt(5))+m(c.charCodeAt(6));return new G(new H(L,T,M,1))}if(b===9){const L=16*m(c.charCodeAt(1))+m(c.charCodeAt(2)),T=16*m(c.charCodeAt(3))+m(c.charCodeAt(4)),M=16*m(c.charCodeAt(5))+m(c.charCodeAt(6)),z=16*m(c.charCodeAt(7))+m(c.charCodeAt(8));return new G(new H(L,T,M,z/255))}if(b===4){const L=m(c.charCodeAt(1)),T=m(c.charCodeAt(2)),M=m(c.charCodeAt(3));return new G(new H(16*L+L,16*T+T,16*M+M))}if(b===5){const L=m(c.charCodeAt(1)),T=m(c.charCodeAt(2)),M=m(c.charCodeAt(3)),z=m(c.charCodeAt(4));return new G(new H(16*L+L,16*T+T,16*M+M,(16*z+z)/255))}return null}p.parseHex=l;function m(c){switch(c){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:return 10;case 65:return 10;case 98:return 11;case 66:return 11;case 99:return 12;case 67:return 12;case 100:return 13;case 68:return 13;case 101:return 14;case 69:return 14;case 102:return 15;case 70:return 15}return 0}})(E=y.CSS||(y.CSS={}))})(I=G.Format||(G.Format={}))}(D||(D={}))},85402:function(xt,Te,i){"use strict";i.d(Te,{H:function(){return h}});function h(H,O,P){let D=null,G=null;if(typeof P.value=="function"?(D="value",G=P.value,G.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof P.get=="function"&&(D="get",G=P.get),!G)throw new Error("not supported");const I=`$memoize$${O}`;P[D]=function(...y){return this.hasOwnProperty(I)||Object.defineProperty(this,I,{configurable:!1,enumerable:!1,writable:!1,value:G.apply(this,y)}),this[I]}}},23068:function(xt,Te,i){"use strict";i.d(Te,{Hs:function(){return y},a$:function(){return P}});class h{constructor(p,a,g,w){this.originalStart=p,this.originalLength=a,this.modifiedStart=g,this.modifiedLength=w}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}var H=i(44619);class O{constructor(p){this.source=p}getElements(){const p=this.source,a=new Int32Array(p.length);for(let g=0,w=p.length;g<w;g++)a[g]=p.charCodeAt(g);return a}}function P(E,p,a){return new y(new O(E),new O(p)).ComputeDiff(a).changes}class D{static Assert(p,a){if(!p)throw new Error(a)}}class G{static Copy(p,a,g,w,s){for(let C=0;C<s;C++)g[w+C]=p[a+C]}static Copy2(p,a,g,w,s){for(let C=0;C<s;C++)g[w+C]=p[a+C]}}class I{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new h(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(p,a){this.m_originalStart=Math.min(this.m_originalStart,p),this.m_modifiedStart=Math.min(this.m_modifiedStart,a),this.m_originalCount++}AddModifiedElement(p,a){this.m_originalStart=Math.min(this.m_originalStart,p),this.m_modifiedStart=Math.min(this.m_modifiedStart,a),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class y{constructor(p,a,g=null){this.ContinueProcessingPredicate=g,this._originalSequence=p,this._modifiedSequence=a;const[w,s,C]=y._getElements(p),[f,v,r]=y._getElements(a);this._hasStrings=C&&r,this._originalStringElements=w,this._originalElementsOrHash=s,this._modifiedStringElements=f,this._modifiedElementsOrHash=v,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(p){return p.length>0&&typeof p[0]=="string"}static _getElements(p){const a=p.getElements();if(y._isStringArray(a)){const g=new Int32Array(a.length);for(let w=0,s=a.length;w<s;w++)g[w]=(0,H.Cv)(a[w],0);return[a,g,!0]}return a instanceof Int32Array?[[],a,!1]:[[],new Int32Array(a),!1]}ElementsAreEqual(p,a){return this._originalElementsOrHash[p]!==this._modifiedElementsOrHash[a]?!1:this._hasStrings?this._originalStringElements[p]===this._modifiedStringElements[a]:!0}ElementsAreStrictEqual(p,a){if(!this.ElementsAreEqual(p,a))return!1;const g=y._getStrictElement(this._originalSequence,p),w=y._getStrictElement(this._modifiedSequence,a);return g===w}static _getStrictElement(p,a){return typeof p.getStrictElement=="function"?p.getStrictElement(a):null}OriginalElementsAreEqual(p,a){return this._originalElementsOrHash[p]!==this._originalElementsOrHash[a]?!1:this._hasStrings?this._originalStringElements[p]===this._originalStringElements[a]:!0}ModifiedElementsAreEqual(p,a){return this._modifiedElementsOrHash[p]!==this._modifiedElementsOrHash[a]?!1:this._hasStrings?this._modifiedStringElements[p]===this._modifiedStringElements[a]:!0}ComputeDiff(p){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,p)}_ComputeDiff(p,a,g,w,s){const C=[!1];let f=this.ComputeDiffRecursive(p,a,g,w,C);return s&&(f=this.PrettifyChanges(f)),{quitEarly:C[0],changes:f}}ComputeDiffRecursive(p,a,g,w,s){for(s[0]=!1;p<=a&&g<=w&&this.ElementsAreEqual(p,g);)p++,g++;for(;a>=p&&w>=g&&this.ElementsAreEqual(a,w);)a--,w--;if(p>a||g>w){let m;return g<=w?(D.Assert(p===a+1,"originalStart should only be one more than originalEnd"),m=[new h(p,0,g,w-g+1)]):p<=a?(D.Assert(g===w+1,"modifiedStart should only be one more than modifiedEnd"),m=[new h(p,a-p+1,g,0)]):(D.Assert(p===a+1,"originalStart should only be one more than originalEnd"),D.Assert(g===w+1,"modifiedStart should only be one more than modifiedEnd"),m=[]),m}const C=[0],f=[0],v=this.ComputeRecursionPoint(p,a,g,w,C,f,s),r=C[0],l=f[0];if(v!==null)return v;if(!s[0]){const m=this.ComputeDiffRecursive(p,r,g,l,s);let c=[];return s[0]?c=[new h(r+1,a-(r+1)+1,l+1,w-(l+1)+1)]:c=this.ComputeDiffRecursive(r+1,a,l+1,w,s),this.ConcatenateChanges(m,c)}return[new h(p,a-p+1,g,w-g+1)]}WALKTRACE(p,a,g,w,s,C,f,v,r,l,m,c,b,L,T,M,z,oe){let se=null,re=null,De=new I,J=a,Z=g,Q=b[0]-M[0]-w,le=-1073741824,xe=this.m_forwardHistory.length-1;do{const j=Q+p;j===J||j<Z&&r[j-1]<r[j+1]?(m=r[j+1],L=m-Q-w,m<le&&De.MarkNextChange(),le=m,De.AddModifiedElement(m+1,L),Q=j+1-p):(m=r[j-1]+1,L=m-Q-w,m<le&&De.MarkNextChange(),le=m-1,De.AddOriginalElement(m,L+1),Q=j-1-p),xe>=0&&(r=this.m_forwardHistory[xe],p=r[0],J=1,Z=r.length-1)}while(--xe>=-1);if(se=De.getReverseChanges(),oe[0]){let j=b[0]+1,R=M[0]+1;if(se!==null&&se.length>0){const V=se[se.length-1];j=Math.max(j,V.getOriginalEnd()),R=Math.max(R,V.getModifiedEnd())}re=[new h(j,c-j+1,R,T-R+1)]}else{De=new I,J=C,Z=f,Q=b[0]-M[0]-v,le=1073741824,xe=z?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const j=Q+s;j===J||j<Z&&l[j-1]>=l[j+1]?(m=l[j+1]-1,L=m-Q-v,m>le&&De.MarkNextChange(),le=m+1,De.AddOriginalElement(m+1,L+1),Q=j+1-s):(m=l[j-1],L=m-Q-v,m>le&&De.MarkNextChange(),le=m,De.AddModifiedElement(m+1,L+1),Q=j-1-s),xe>=0&&(l=this.m_reverseHistory[xe],s=l[0],J=1,Z=l.length-1)}while(--xe>=-1);re=De.getChanges()}return this.ConcatenateChanges(se,re)}ComputeRecursionPoint(p,a,g,w,s,C,f){let v=0,r=0,l=0,m=0,c=0,b=0;p--,g--,s[0]=0,C[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const L=a-p+(w-g),T=L+1,M=new Int32Array(T),z=new Int32Array(T),oe=w-g,se=a-p,re=p-g,De=a-w,Z=(se-oe)%2===0;M[oe]=p,z[se]=a,f[0]=!1;for(let Q=1;Q<=L/2+1;Q++){let le=0,xe=0;l=this.ClipDiagonalBound(oe-Q,Q,oe,T),m=this.ClipDiagonalBound(oe+Q,Q,oe,T);for(let R=l;R<=m;R+=2){R===l||R<m&&M[R-1]<M[R+1]?v=M[R+1]:v=M[R-1]+1,r=v-(R-oe)-re;const V=v;for(;v<a&&r<w&&this.ElementsAreEqual(v+1,r+1);)v++,r++;if(M[R]=v,v+r>le+xe&&(le=v,xe=r),!Z&&Math.abs(R-se)<=Q-1&&v>=z[R])return s[0]=v,C[0]=r,V<=z[R]&&Q<=1448?this.WALKTRACE(oe,l,m,re,se,c,b,De,M,z,v,a,s,r,w,C,Z,f):null}const j=(le-p+(xe-g)-Q)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(le,j))return f[0]=!0,s[0]=le,C[0]=xe,j>0&&Q<=1448?this.WALKTRACE(oe,l,m,re,se,c,b,De,M,z,v,a,s,r,w,C,Z,f):(p++,g++,[new h(p,a-p+1,g,w-g+1)]);c=this.ClipDiagonalBound(se-Q,Q,se,T),b=this.ClipDiagonalBound(se+Q,Q,se,T);for(let R=c;R<=b;R+=2){R===c||R<b&&z[R-1]>=z[R+1]?v=z[R+1]-1:v=z[R-1],r=v-(R-se)-De;const V=v;for(;v>p&&r>g&&this.ElementsAreEqual(v,r);)v--,r--;if(z[R]=v,Z&&Math.abs(R-oe)<=Q&&v<=M[R])return s[0]=v,C[0]=r,V>=M[R]&&Q<=1448?this.WALKTRACE(oe,l,m,re,se,c,b,De,M,z,v,a,s,r,w,C,Z,f):null}if(Q<=1447){let R=new Int32Array(m-l+2);R[0]=oe-l+1,G.Copy2(M,l,R,1,m-l+1),this.m_forwardHistory.push(R),R=new Int32Array(b-c+2),R[0]=se-c+1,G.Copy2(z,c,R,1,b-c+1),this.m_reverseHistory.push(R)}}return this.WALKTRACE(oe,l,m,re,se,c,b,De,M,z,v,a,s,r,w,C,Z,f)}PrettifyChanges(p){for(let a=0;a<p.length;a++){const g=p[a],w=a<p.length-1?p[a+1].originalStart:this._originalElementsOrHash.length,s=a<p.length-1?p[a+1].modifiedStart:this._modifiedElementsOrHash.length,C=g.originalLength>0,f=g.modifiedLength>0;for(;g.originalStart+g.originalLength<w&&g.modifiedStart+g.modifiedLength<s&&(!C||this.OriginalElementsAreEqual(g.originalStart,g.originalStart+g.originalLength))&&(!f||this.ModifiedElementsAreEqual(g.modifiedStart,g.modifiedStart+g.modifiedLength));){const r=this.ElementsAreStrictEqual(g.originalStart,g.modifiedStart);if(this.ElementsAreStrictEqual(g.originalStart+g.originalLength,g.modifiedStart+g.modifiedLength)&&!r)break;g.originalStart++,g.modifiedStart++}let v=[null];if(a<p.length-1&&this.ChangesOverlap(p[a],p[a+1],v)){p[a]=v[0],p.splice(a+1,1),a--;continue}}for(let a=p.length-1;a>=0;a--){const g=p[a];let w=0,s=0;if(a>0){const m=p[a-1];w=m.originalStart+m.originalLength,s=m.modifiedStart+m.modifiedLength}const C=g.originalLength>0,f=g.modifiedLength>0;let v=0,r=this._boundaryScore(g.originalStart,g.originalLength,g.modifiedStart,g.modifiedLength);for(let m=1;;m++){const c=g.originalStart-m,b=g.modifiedStart-m;if(c<w||b<s||C&&!this.OriginalElementsAreEqual(c,c+g.originalLength)||f&&!this.ModifiedElementsAreEqual(b,b+g.modifiedLength))break;const T=(c===w&&b===s?5:0)+this._boundaryScore(c,g.originalLength,b,g.modifiedLength);T>r&&(r=T,v=m)}g.originalStart-=v,g.modifiedStart-=v;const l=[null];if(a>0&&this.ChangesOverlap(p[a-1],p[a],l)){p[a-1]=l[0],p.splice(a,1),a++;continue}}if(this._hasStrings)for(let a=1,g=p.length;a<g;a++){const w=p[a-1],s=p[a],C=s.originalStart-w.originalStart-w.originalLength,f=w.originalStart,v=s.originalStart+s.originalLength,r=v-f,l=w.modifiedStart,m=s.modifiedStart+s.modifiedLength,c=m-l;if(C<5&&r<20&&c<20){const b=this._findBetterContiguousSequence(f,r,l,c,C);if(b){const[L,T]=b;(L!==w.originalStart+w.originalLength||T!==w.modifiedStart+w.modifiedLength)&&(w.originalLength=L-w.originalStart,w.modifiedLength=T-w.modifiedStart,s.originalStart=L+C,s.modifiedStart=T+C,s.originalLength=v-s.originalStart,s.modifiedLength=m-s.modifiedStart)}}}return p}_findBetterContiguousSequence(p,a,g,w,s){if(a<s||w<s)return null;const C=p+a-s+1,f=g+w-s+1;let v=0,r=0,l=0;for(let m=p;m<C;m++)for(let c=g;c<f;c++){const b=this._contiguousSequenceScore(m,c,s);b>0&&b>v&&(v=b,r=m,l=c)}return v>0?[r,l]:null}_contiguousSequenceScore(p,a,g){let w=0;for(let s=0;s<g;s++){if(!this.ElementsAreEqual(p+s,a+s))return 0;w+=this._originalStringElements[p+s].length}return w}_OriginalIsBoundary(p){return p<=0||p>=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[p])}_OriginalRegionIsBoundary(p,a){if(this._OriginalIsBoundary(p)||this._OriginalIsBoundary(p-1))return!0;if(a>0){const g=p+a;if(this._OriginalIsBoundary(g-1)||this._OriginalIsBoundary(g))return!0}return!1}_ModifiedIsBoundary(p){return p<=0||p>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[p])}_ModifiedRegionIsBoundary(p,a){if(this._ModifiedIsBoundary(p)||this._ModifiedIsBoundary(p-1))return!0;if(a>0){const g=p+a;if(this._ModifiedIsBoundary(g-1)||this._ModifiedIsBoundary(g))return!0}return!1}_boundaryScore(p,a,g,w){const s=this._OriginalRegionIsBoundary(p,a)?1:0,C=this._ModifiedRegionIsBoundary(g,w)?1:0;return s+C}ConcatenateChanges(p,a){let g=[];if(p.length===0||a.length===0)return a.length>0?a:p;if(this.ChangesOverlap(p[p.length-1],a[0],g)){const w=new Array(p.length+a.length-1);return G.Copy(p,0,w,0,p.length-1),w[p.length-1]=g[0],G.Copy(a,1,w,p.length,a.length-1),w}else{const w=new Array(p.length+a.length);return G.Copy(p,0,w,0,p.length),G.Copy(a,0,w,p.length,a.length),w}}ChangesOverlap(p,a,g){if(D.Assert(p.originalStart<=a.originalStart,"Left change is not less than or equal to right change"),D.Assert(p.modifiedStart<=a.modifiedStart,"Left change is not less than or equal to right change"),p.originalStart+p.originalLength>=a.originalStart||p.modifiedStart+p.modifiedLength>=a.modifiedStart){const w=p.originalStart;let s=p.originalLength;const C=p.modifiedStart;let f=p.modifiedLength;return p.originalStart+p.originalLength>=a.originalStart&&(s=a.originalStart+a.originalLength-p.originalStart),p.modifiedStart+p.modifiedLength>=a.modifiedStart&&(f=a.modifiedStart+a.modifiedLength-p.modifiedStart),g[0]=new h(w,s,C,f),!0}else return g[0]=null,!1}ClipDiagonalBound(p,a,g,w){if(p>=0&&p<w)return p;const s=g,C=w-g-1,f=a%2===0;if(p<0){const v=s%2===0;return f===v?0:1}else{const v=C%2===0;return f===v?w-1:w-2}}}},57637:function(xt,Te,i){"use strict";i.d(Te,{KM:function(){return G},fn:function(){return D},oP:function(){return E},vY:function(){return y}});var h=i(86408),H=i(23345),O=i(82983);function P(p){return p.replace(/[\\/]/g,h.KR.sep)}function D(p){return p.indexOf("/")===-1&&(p=P(p)),/^[a-zA-Z]:(\/|$)/.test(p)&&(p="/"+p),p}function G(p,a,g,w=h.ir){if(p===a)return!0;if(!p||!a||a.length>p.length)return!1;if(g){if(!(0,O.ok)(p,a))return!1;if(a.length===p.length)return!0;let C=a.length;return a.charAt(a.length-1)===w&&C--,p.charAt(C)===w}return a.charAt(a.length-1)!==w&&(a+=w),p.indexOf(a)===0}function I(p){return p>=65&&p<=90||p>=97&&p<=122}function y(p){const a=(0,h.Fv)(p);return H.ED?p.length>3?!1:E(a)&&(p.length===2||a.charCodeAt(2)===92):a===h.KR.sep}function E(p){return H.ED?I(p.charCodeAt(0))&&p.charCodeAt(1)===58:!1}},99599:function(xt,Te,i){"use strict";i.d(Te,{CL:function(){return Ve},EW:function(){return We},Ji:function(){return P},KZ:function(){return M},Oh:function(){return J},ir:function(){return G},jB:function(){return Z},l7:function(){return ne},mB:function(){return Q},or:function(){return O}});var h=i(78421),H=i(82983);function O(...ee){return function(he,Pe){for(let Ye=0,it=ee.length;Ye<it;Ye++){const rt=ee[Ye](he,Pe);if(rt)return rt}return null}}const P=D.bind(void 0,!0);function D(ee,he,Pe){if(!Pe||Pe.length<he.length)return null;let Ye;return ee?Ye=H.ok(Pe,he):Ye=Pe.indexOf(he)===0,Ye?he.length>0?[{start:0,end:he.length}]:[]:null}function G(ee,he){const Pe=he.toLowerCase().indexOf(ee.toLowerCase());return Pe===-1?null:[{start:Pe,end:Pe+ee.length}]}function I(ee,he){return y(ee.toLowerCase(),he.toLowerCase(),0,0)}function y(ee,he,Pe,Ye){if(Pe===ee.length)return[];if(Ye===he.length)return null;if(ee[Pe]===he[Ye]){let it=null;return(it=y(ee,he,Pe+1,Ye+1))?v({start:Ye,end:Ye+1},it):null}return y(ee,he,Pe,Ye+1)}function E(ee){return 97<=ee&&ee<=122}function p(ee){return 65<=ee&&ee<=90}function a(ee){return 48<=ee&&ee<=57}function g(ee){return ee===32||ee===9||ee===10||ee===13}const w=new Set;"`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?".split("").forEach(ee=>w.add(ee.charCodeAt(0)));function s(ee){return g(ee)||w.has(ee)}function C(ee,he){return ee===he||s(ee)&&s(he)}function f(ee){return E(ee)||p(ee)||a(ee)}function v(ee,he){return he.length===0?he=[ee]:ee.end===he[0].start?he[0].start=ee.start:he.unshift(ee),he}function r(ee,he){for(let Pe=he;Pe<ee.length;Pe++){const Ye=ee.charCodeAt(Pe);if(p(Ye)||a(Ye)||Pe>0&&!f(ee.charCodeAt(Pe-1)))return Pe}return ee.length}function l(ee,he,Pe,Ye){if(Pe===ee.length)return[];if(Ye===he.length)return null;if(ee[Pe]!==he[Ye].toLowerCase())return null;{let it=null,rt=Ye+1;for(it=l(ee,he,Pe+1,Ye+1);!it&&(rt=r(he,rt))<he.length;)it=l(ee,he,Pe+1,rt),rt++;return it===null?null:v({start:Ye,end:Ye+1},it)}}function m(ee){let he=0,Pe=0,Ye=0,it=0,rt=0;for(let Xe=0;Xe<ee.length;Xe++)rt=ee.charCodeAt(Xe),p(rt)&&he++,E(rt)&&Pe++,f(rt)&&Ye++,a(rt)&&it++;const vt=he/ee.length,Ft=Pe/ee.length,Ht=Ye/ee.length,ze=it/ee.length;return{upperPercent:vt,lowerPercent:Ft,alphaPercent:Ht,numericPercent:ze}}function c(ee){const{upperPercent:he,lowerPercent:Pe}=ee;return Pe===0&&he>.6}function b(ee){const{upperPercent:he,lowerPercent:Pe,alphaPercent:Ye,numericPercent:it}=ee;return Pe>.2&&he<.8&&Ye>.6&&it<.2}function L(ee){let he=0,Pe=0,Ye=0,it=0;for(let rt=0;rt<ee.length;rt++)Ye=ee.charCodeAt(rt),p(Ye)&&he++,E(Ye)&&Pe++,g(Ye)&&it++;return(he===0||Pe===0)&&it===0?ee.length<=30:he<=5}function T(ee,he){if(!he||(he=he.trim(),he.length===0)||!L(ee)||he.length>60)return null;const Pe=m(he);if(!b(Pe)){if(!c(Pe))return null;he=he.toLowerCase()}let Ye=null,it=0;for(ee=ee.toLowerCase();it<he.length&&(Ye=l(ee,he,0,it))===null;)it=r(he,it+1);return Ye}function M(ee,he,Pe=!1){if(!he||he.length===0)return null;let Ye=null,it=0;for(ee=ee.toLowerCase(),he=he.toLowerCase();it<he.length&&(Ye=z(ee,he,0,it,Pe))===null;)it=oe(he,it+1);return Ye}function z(ee,he,Pe,Ye,it){if(Pe===ee.length)return[];if(Ye===he.length)return null;if(C(ee.charCodeAt(Pe),he.charCodeAt(Ye))){let rt=null,vt=Ye+1;if(rt=z(ee,he,Pe+1,Ye+1,it),!it)for(;!rt&&(vt=oe(he,vt))<he.length;)rt=z(ee,he,Pe+1,vt,it),vt++;return rt===null?null:v({start:Ye,end:Ye+1},rt)}else return null}function oe(ee,he){for(let Pe=he;Pe<ee.length;Pe++)if(s(ee.charCodeAt(Pe))||Pe>0&&s(ee.charCodeAt(Pe-1)))return Pe;return ee.length}const se=O(P,T,G),re=O(P,T,I),De=new h.z6(1e4);function J(ee,he,Pe=!1){if(typeof ee!="string"||typeof he!="string")return null;let Ye=De.get(ee);Ye||(Ye=new RegExp(H.un(ee),"i"),De.set(ee,Ye));const it=Ye.exec(he);return it?[{start:it.index,end:it.index+it[0].length}]:Pe?re(ee,he):se(ee,he)}function Z(ee,he,Pe,Ye,it,rt){const vt=Math.min(13,ee.length);for(;Pe<vt;Pe++){const Ft=We(ee,he,Pe,Ye,it,rt,!1);if(Ft)return Ft}return[0,rt]}function Q(ee){if(typeof ee=="undefined")return[];const he=[],Pe=ee[1];for(let Ye=ee.length-1;Ye>1;Ye--){const it=ee[Ye]+Pe,rt=he[he.length-1];rt&&rt.end===it?rt.end=it+1:he.push({start:it,end:it+1})}return he}const le=128;function xe(){const ee=[],he=[];for(let Pe=0;Pe<=le;Pe++)he[Pe]=0;for(let Pe=0;Pe<=le;Pe++)ee.push(he.slice(0));return ee}function j(ee){const he=[];for(let Pe=0;Pe<=ee;Pe++)he[Pe]=0;return he}const R=j(2*le),V=j(2*le),K=xe(),ie=xe(),te=xe(),ge=!1;function ye(ee,he,Pe,Ye,it){function rt(Ft,Ht,ze=" "){for(;Ft.length<Ht;)Ft=ze+Ft;return Ft}let vt=` | |${Ye.split("").map(Ft=>rt(Ft,3)).join("|")}
`;for(let Ft=0;Ft<=Pe;Ft++)Ft===0?vt+=" |":vt+=`${he[Ft-1]}|`,vt+=ee[Ft].slice(0,it+1).map(Ht=>rt(Ht.toString(),3)).join("|")+`
`;return vt}function ve(ee,he,Pe,Ye){ee=ee.substr(he),Pe=Pe.substr(Ye),console.log(ye(ie,ee,ee.length,Pe,Pe.length)),console.log(ye(te,ee,ee.length,Pe,Pe.length)),console.log(ye(K,ee,ee.length,Pe,Pe.length))}function Fe(ee,he){if(he<0||he>=ee.length)return!1;const Pe=ee.codePointAt(he);switch(Pe){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 40:case 91:return!0;case void 0:return!1;default:return!!H.C8(Pe)}}function we(ee,he){if(he<0||he>=ee.length)return!1;switch(ee.charCodeAt(he)){case 32:case 9:return!0;default:return!1}}function ue(ee,he,Pe){return he[ee]!==Pe[ee]}function ce(ee,he,Pe,Ye,it,rt,vt=!1){for(;he<Pe&&it<rt;)ee[he]===Ye[it]&&(vt&&(R[he]=it),he+=1),it+=1;return he===Pe}var Ve;(function(ee){ee.Default=[-100,0];function he(Pe){return!Pe||Pe.length===2&&Pe[0]===-100&&Pe[1]===0}ee.isDefault=he})(Ve||(Ve={}));function We(ee,he,Pe,Ye,it,rt,vt){const Ft=ee.length>le?le:ee.length,Ht=Ye.length>le?le:Ye.length;if(Pe>=Ft||rt>=Ht||Ft-Pe>Ht-rt||!ce(he,Pe,Ft,it,rt,Ht,!0))return;ae(Ft,Ht,Pe,rt,he,it);let ze=1,Xe=1,Ze=Pe,Ae=rt;const He=[!1];for(ze=1,Ze=Pe;Ze<Ft;ze++,Ze++){const hi=R[Ze],Di=V[Ze],Ti=Ze+1<Ft?V[Ze+1]:Ht;for(Xe=hi-rt+1,Ae=hi;Ae<Ti;Xe++,Ae++){let Ni=Number.MIN_SAFE_INTEGER,ai=!1;Ae<=Di&&(Ni=fe(ee,he,Ze,Pe,Ye,it,Ae,Ht,rt,K[ze-1][Xe-1]===0,He));let Pt=0;Ni!==Number.MAX_SAFE_INTEGER&&(ai=!0,Pt=Ni+ie[ze-1][Xe-1]);const Gt=Ae>hi,st=Gt?ie[ze][Xe-1]+(K[ze][Xe-1]>0?-5:0):0,gt=Ae>hi+1&&K[ze][Xe-1]>0,ht=gt?ie[ze][Xe-2]+(K[ze][Xe-2]>0?-5:0):0;if(gt&&(!Gt||ht>=st)&&(!ai||ht>=Pt))ie[ze][Xe]=ht,te[ze][Xe]=3,K[ze][Xe]=0;else if(Gt&&(!ai||st>=Pt))ie[ze][Xe]=st,te[ze][Xe]=2,K[ze][Xe]=0;else if(ai)ie[ze][Xe]=Pt,te[ze][Xe]=1,K[ze][Xe]=K[ze-1][Xe-1]+1;else throw new Error("not possible")}}if(ge&&ve(ee,Pe,Ye,rt),!He[0]&&!vt)return;ze--,Xe--;const Et=[ie[ze][Xe],rt];let Wt=0,oi=0;for(;ze>=1;){let hi=Xe;do{const Di=te[ze][hi];if(Di===3)hi=hi-2;else if(Di===2)hi=hi-1;else break}while(hi>=1);Wt>1&&he[Pe+ze-1]===it[rt+Xe-1]&&!ue(hi+rt-1,Ye,it)&&Wt+1>K[ze][hi]&&(hi=Xe),hi===Xe?Wt++:Wt=1,oi||(oi=hi),ze--,Xe=hi-1,Et.push(Xe)}Ht===Ft&&(Et[0]+=2);const ni=oi-Ft;return Et[0]-=ni,Et}function ae(ee,he,Pe,Ye,it,rt){let vt=ee-1,Ft=he-1;for(;vt>=Pe&&Ft>=Ye;)it[vt]===rt[Ft]&&(V[vt]=Ft,vt--),Ft--}function fe(ee,he,Pe,Ye,it,rt,vt,Ft,Ht,ze,Xe){if(he[Pe]!==rt[vt])return Number.MIN_SAFE_INTEGER;let Ze=1,Ae=!1;return vt===Pe-Ye?Ze=ee[Pe]===it[vt]?7:5:ue(vt,it,rt)&&(vt===0||!ue(vt-1,it,rt))?(Ze=ee[Pe]===it[vt]?7:5,Ae=!0):Fe(rt,vt)&&(vt===0||!Fe(rt,vt-1))?Ze=5:(Fe(rt,vt-1)||we(rt,vt-1))&&(Ze=5,Ae=!0),Ze>1&&Pe===Ye&&(Xe[0]=!0),Ae||(Ae=ue(vt,it,rt)||Fe(rt,vt-1)||we(rt,vt-1)),Pe===Ye?vt>Ht&&(Ze-=Ae?3:5):ze?Ze+=Ae?2:0:Ze+=Ae?0:1,vt+1===Ft&&(Ze-=Ae?3:5),Ze}function ne(ee,he,Pe,Ye,it,rt,vt){return W(ee,he,Pe,Ye,it,rt,!0,vt)}function W(ee,he,Pe,Ye,it,rt,vt,Ft){let Ht=We(ee,he,Pe,Ye,it,rt,Ft);if(Ht&&!vt)return Ht;if(ee.length>=3){const ze=Math.min(7,ee.length-1);for(let Xe=Pe+1;Xe<ze;Xe++){const Ze=$(ee,Xe);if(Ze){const Ae=We(Ze,Ze.toLowerCase(),Pe,Ye,it,rt,Ft);Ae&&(Ae[0]-=3,(!Ht||Ae[0]>Ht[0])&&(Ht=Ae))}}}return Ht}function $(ee,he){if(he+1>=ee.length)return;const Pe=ee[he],Ye=ee[he+1];if(Pe!==Ye)return ee.slice(0,he)+Ye+Pe+ee.slice(he+2)}},63224:function(xt,Te,i){"use strict";i.d(Te,{EQ:function(){return De},Qc:function(){return J}});var h=i(50431),H=i(57637),O=i(78421),P=i(86408),D=i(82983);const G="**",I="/",y="[/\\\\]",E="[^/\\\\]",p=/\//g;function a(j){switch(j){case 0:return"";case 1:return`${E}*?`;default:return`(?:${y}|${E}+${y}|${y}${E}+)*?`}}function g(j,R){if(!j)return[];const V=[];let K=!1,ie=!1,te="";for(const ge of j){switch(ge){case R:if(!K&&!ie){V.push(te),te="";continue}break;case"{":K=!0;break;case"}":K=!1;break;case"[":ie=!0;break;case"]":ie=!1;break}te+=ge}return te&&V.push(te),V}function w(j){if(!j)return"";let R="";const V=g(j,I);if(V.every(K=>K===G))R=".*";else{let K=!1;V.forEach((ie,te)=>{if(ie===G){K||(R+=a(2),K=!0);return}let ge=!1,ye="",ve=!1,Fe="";for(const we of ie){if(we!=="}"&&ge){ye+=we;continue}if(ve&&(we!=="]"||!Fe)){let ue;we==="-"?ue=we:(we==="^"||we==="!")&&!Fe?ue="^":we===I?ue="":ue=D.ec(we),Fe+=ue;continue}switch(we){case"{":ge=!0;continue;case"[":ve=!0;continue;case"}":const ce=`(?:${g(ye,",").map(Ve=>w(Ve)).join("|")})`;R+=ce,ge=!1,ye="";break;case"]":R+="["+Fe+"]",ve=!1,Fe="";break;case"?":R+=E;continue;case"*":R+=a(1);continue;default:R+=D.ec(we)}}te<V.length-1&&(V[te+1]!==G||te+2<V.length)&&(R+=y),K=!1})}return R}const s=/^\*\*\/\*\.[\w\.-]+$/,C=/^\*\*\/([\w\.-]+)\/?$/,f=/^{\*\*\/[\*\.]?[\w\.-]+\/?(,\*\*\/[\*\.]?[\w\.-]+\/?)*}$/,v=/^{\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?(,\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?)*}$/,r=/^\*\*((\/[\w\.-]+)+)\/?$/,l=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,m=new O.z6(1e4),c=function(){return!1},b=function(){return null};function L(j,R){if(!j)return b;let V;typeof j!="string"?V=j.pattern:V=j,V=V.trim();const K=`${V}_${!!R.trimForExclusions}`;let ie=m.get(K);if(ie)return T(ie,j);let te;if(s.test(V)){const ge=V.substr(4);ie=function(ye,ve){return typeof ye=="string"&&ye.endsWith(ge)?V:null}}else(te=C.exec(M(V,R)))?ie=z(te[1],V):(R.trimForExclusions?v:f).test(V)?ie=oe(V,R):(te=r.exec(M(V,R)))?ie=se(te[1].substr(1),V,!0):(te=l.exec(M(V,R)))?ie=se(te[1],V,!1):ie=re(V);return m.set(K,ie),T(ie,j)}function T(j,R){return typeof R=="string"?j:function(V,K){return H.KM(V,R.base)?j(P.Gf(R.base,V),K):null}}function M(j,R){return R.trimForExclusions&&j.endsWith("/**")?j.substr(0,j.length-2):j}function z(j,R){const V=`/${j}`,K=`\\${j}`,ie=function(ge,ye){return typeof ge!="string"?null:ye?ye===j?R:null:ge===j||ge.endsWith(V)||ge.endsWith(K)?R:null},te=[j];return ie.basenames=te,ie.patterns=[R],ie.allBasenames=te,ie}function oe(j,R){const V=xe(j.slice(1,-1).split(",").map(ye=>L(ye,R)).filter(ye=>ye!==b),j),K=V.length;if(!K)return b;if(K===1)return V[0];const ie=function(ye,ve){for(let Fe=0,we=V.length;Fe<we;Fe++)if(V[Fe](ye,ve))return j;return null},te=V.find(ye=>!!ye.allBasenames);te&&(ie.allBasenames=te.allBasenames);const ge=V.reduce((ye,ve)=>ve.allPaths?ye.concat(ve.allPaths):ye,[]);return ge.length&&(ie.allPaths=ge),ie}function se(j,R,V){const K=P.ir===P.KR.sep,ie=K?j:j.replace(p,P.ir),te=P.ir+ie,ge=P.KR.sep+j,ye=V?function(ve,Fe){return typeof ve=="string"&&(ve===ie||ve.endsWith(te)||!K&&(ve===j||ve.endsWith(ge)))?R:null}:function(ve,Fe){return typeof ve=="string"&&(ve===ie||!K&&ve===j)?R:null};return ye.allPaths=[(V?"*/":"./")+j],ye}function re(j){try{const R=new RegExp(`^${w(j)}$`);return function(V){return R.lastIndex=0,typeof V=="string"&&R.test(V)?j:null}}catch(R){return b}}function De(j,R,V){return!j||typeof R!="string"?!1:J(j)(R,void 0,V)}function J(j,R={}){if(!j)return c;if(typeof j=="string"||Z(j)){const V=L(j,R);if(V===b)return c;const K=function(ie,te){return!!V(ie,te)};return V.allBasenames&&(K.allBasenames=V.allBasenames),V.allPaths&&(K.allPaths=V.allPaths),K}return Q(j,R)}function Z(j){const R=j;return R&&typeof R.base=="string"&&typeof R.pattern=="string"}function Q(j,R){const V=xe(Object.getOwnPropertyNames(j).map(ye=>le(ye,j[ye],R)).filter(ye=>ye!==b)),K=V.length;if(!K)return b;if(!V.some(ye=>!!ye.requiresSiblings)){if(K===1)return V[0];const ye=function(we,ue){for(let ce=0,Ve=V.length;ce<Ve;ce++){const We=V[ce](we,ue);if(We)return We}return null},ve=V.find(we=>!!we.allBasenames);ve&&(ye.allBasenames=ve.allBasenames);const Fe=V.reduce((we,ue)=>ue.allPaths?we.concat(ue.allPaths):we,[]);return Fe.length&&(ye.allPaths=Fe),ye}const ie=function(ye,ve,Fe){let we;for(let ue=0,ce=V.length;ue<ce;ue++){const Ve=V[ue];Ve.requiresSiblings&&Fe&&(ve||(ve=P.EZ(ye)),we||(we=ve.substr(0,ve.length-P.DZ(ye).length)));const We=Ve(ye,ve,we,Fe);if(We)return We}return null},te=V.find(ye=>!!ye.allBasenames);te&&(ie.allBasenames=te.allBasenames);const ge=V.reduce((ye,ve)=>ve.allPaths?ye.concat(ve.allPaths):ye,[]);return ge.length&&(ie.allPaths=ge),ie}function le(j,R,V){if(R===!1)return b;const K=L(j,V);if(K===b)return b;if(typeof R=="boolean")return K;if(R){const ie=R.when;if(typeof ie=="string"){const te=(ge,ye,ve,Fe)=>{if(!Fe||!K(ge,ye))return null;const we=ie.replace("$(basename)",ve),ue=Fe(we);return(0,h.J8)(ue)?ue.then(ce=>ce?j:null):ue?j:null};return te.requiresSiblings=!0,te}}return K}function xe(j,R){const V=j.filter(ye=>!!ye.basenames);if(V.length<2)return j;const K=V.reduce((ye,ve)=>{const Fe=ve.basenames;return Fe?ye.concat(Fe):ye},[]);let ie;if(R){ie=[];for(let ye=0,ve=K.length;ye<ve;ye++)ie.push(R)}else ie=V.reduce((ye,ve)=>{const Fe=ve.patterns;return Fe?ye.concat(Fe):ye},[]);const te=function(ye,ve){if(typeof ye!="string")return null;if(!ve){let we;for(we=ye.length;we>0;we--){const ue=ye.charCodeAt(we-1);if(ue===47||ue===92)break}ve=ye.substr(we)}const Fe=K.indexOf(ve);return Fe!==-1?ie[Fe]:null};te.basenames=K,te.patterns=ie,te.allBasenames=K;const ge=j.filter(ye=>!ye.basenames);return ge.push(te),ge}},44619:function(xt,Te,i){"use strict";i.d(Te,{Cv:function(){return G},SP:function(){return O},vp:function(){return H},yP:function(){return w}});var h=i(82983);function H(s){return O(s,0)}function O(s,C){switch(typeof s){case"object":return s===null?P(349,C):Array.isArray(s)?I(s,C):y(s,C);case"string":return G(s,C);case"boolean":return D(s,C);case"number":return P(s,C);case"undefined":return P(937,C);default:return P(617,C)}}function P(s,C){return(C<<5)-C+s|0}function D(s,C){return P(s?433:863,C)}function G(s,C){C=P(149417,C);for(let f=0,v=s.length;f<v;f++)C=P(s.charCodeAt(f),C);return C}function I(s,C){return C=P(104579,C),s.reduce((f,v)=>O(v,f),C)}function y(s,C){return C=P(181387,C),Object.keys(s).sort().reduce((f,v)=>(f=G(v,f),O(s[v],f)),C)}function E(s,C,f=32){const v=f-C,r=~((1<<v)-1);return(s<<C|(r&s)>>>v)>>>0}function p(s,C=0,f=s.byteLength,v=0){for(let r=0;r<f;r++)s[C+r]=v}function a(s,C,f="0"){for(;s.length<C;)s=f+s;return s}function g(s,C=32){return s instanceof ArrayBuffer?Array.from(new Uint8Array(s)).map(f=>f.toString(16).padStart(2,"0")).join(""):a((s>>>0).toString(16),C/4)}class w{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(C){const f=C.length;if(f===0)return;const v=this._buff;let r=this._buffLen,l=this._leftoverHighSurrogate,m,c;for(l!==0?(m=l,c=-1,l=0):(m=C.charCodeAt(0),c=0);;){let b=m;if(h.ZG(m))if(c+1<f){const L=C.charCodeAt(c+1);h.YK(L)?(c++,b=h.rL(m,L)):b=65533}else{l=m;break}else h.YK(m)&&(b=65533);if(r=this._push(v,r,b),c++,c<f)m=C.charCodeAt(c);else break}this._buffLen=r,this._leftoverHighSurrogate=l}_push(C,f,v){return v<128?C[f++]=v:v<2048?(C[f++]=192|(v&1984)>>>6,C[f++]=128|(v&63)>>>0):v<65536?(C[f++]=224|(v&61440)>>>12,C[f++]=128|(v&4032)>>>6,C[f++]=128|(v&63)>>>0):(C[f++]=240|(v&1835008)>>>18,C[f++]=128|(v&258048)>>>12,C[f++]=128|(v&4032)>>>6,C[f++]=128|(v&63)>>>0),f>=64&&(this._step(),f-=64,this._totalLen+=64,C[0]=C[64],C[1]=C[65],C[2]=C[66]),f}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),g(this._h0)+g(this._h1)+g(this._h2)+g(this._h3)+g(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,p(this._buff,this._buffLen),this._buffLen>56&&(this._step(),p(this._buff));const C=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(C/4294967296),!1),this._buffDV.setUint32(60,C%4294967296,!1),this._step()}_step(){const C=w._bigBlock32,f=this._buffDV;for(let M=0;M<64;M+=4)C.setUint32(M,f.getUint32(M,!1),!1);for(let M=64;M<320;M+=4)C.setUint32(M,E(C.getUint32(M-12,!1)^C.getUint32(M-32,!1)^C.getUint32(M-56,!1)^C.getUint32(M-64,!1),1),!1);let v=this._h0,r=this._h1,l=this._h2,m=this._h3,c=this._h4,b,L,T;for(let M=0;M<80;M++)M<20?(b=r&l|~r&m,L=1518500249):M<40?(b=r^l^m,L=1859775393):M<60?(b=r&l|r&m|l&m,L=2400959708):(b=r^l^m,L=3395469782),T=E(v,5)+b+c+L+C.getUint32(M*4,!1)&4294967295,c=m,m=l,l=E(r,30),r=v,v=T;this._h0=this._h0+v&4294967295,this._h1=this._h1+r&4294967295,this._h2=this._h2+l&4294967295,this._h3=this._h3+m&4294967295,this._h4=this._h4+c&4294967295}}w._bigBlock32=new DataView(new ArrayBuffer(320))},94186:function(xt,Te,i){"use strict";i.d(Te,{CP:function(){return P},Fr:function(){return D},W5:function(){return O},oR:function(){return I},v1:function(){return y}});var h=i(79881),H=i(38940);class O{constructor(p="",a=!1){var g,w,s;if(this.value=p,typeof this.value!="string")throw(0,h.b1)("value");typeof a=="boolean"?(this.isTrusted=a,this.supportThemeIcons=!1,this.supportHtml=!1):(this.isTrusted=(g=a.isTrusted)!==null&&g!==void 0?g:void 0,this.supportThemeIcons=(w=a.supportThemeIcons)!==null&&w!==void 0?w:!1,this.supportHtml=(s=a.supportHtml)!==null&&s!==void 0?s:!1)}appendText(p,a=0){return this.value+=G(this.supportThemeIcons?(0,H.Qo)(p):p).replace(/([ \t]+)/g,(g,w)=>"&nbsp;".repeat(w.length)).replace(/\>/gm,"\\>").replace(/\n/g,a===1?`\\
`:`
`),this}appendMarkdown(p){return this.value+=p,this}appendCodeblock(p,a){return this.value+="\n```",this.value+=p,this.value+=`
`,this.value+=a,this.value+="\n```\n",this}}function P(E){return D(E)?!E.value:Array.isArray(E)?E.every(P):!0}function D(E){return E instanceof O?!0:E&&typeof E=="object"?typeof E.value=="string"&&(typeof E.isTrusted=="boolean"||E.isTrusted===void 0)&&(typeof E.supportThemeIcons=="boolean"||E.supportThemeIcons===void 0):!1}function G(E){return E.replace(/[\\`*_{}[\]()#+\-!]/g,"\\$&")}function I(E){return E&&E.replace(/\\([\\`*_{}[\]()#+\-.!])/g,"$1")}function y(E){const p=[],a=E.split("|").map(w=>w.trim());E=a[0];const g=a[1];if(g){const w=/height=(\d+)/.exec(g),s=/width=(\d+)/.exec(g),C=w?w[1]:"",f=s?s[1]:"",v=isFinite(parseInt(f)),r=isFinite(parseInt(C));v&&p.push(`width="${f}"`),r&&p.push(`height="${C}"`)}return{href:E,dimensions:p}}},38940:function(xt,Te,i){"use strict";i.d(Te,{Gt:function(){return s},Ho:function(){return g},Qo:function(){return I},f$:function(){return E},x$:function(){return a}});var h=i(52615),H=i(99599),O=i(82983);const P="$(",D=new RegExp(`\\$\\(${h.dT.iconNameExpression}(?:${h.dT.iconModifierExpression})?\\)`,"g"),G=new RegExp(`(\\\\)?${D.source}`,"g");function I(C){return C.replace(G,(f,v)=>v?f:`\\${f}`)}const y=new RegExp(`\\\\${D.source}`,"g");function E(C){return C.replace(y,f=>`\\${f}`)}const p=new RegExp(`(\\s)?(\\\\)?${D.source}(\\s)?`,"g");function a(C){return C.indexOf(P)===-1?C:C.replace(p,(f,v,r,l)=>r?f:v||l||"")}function g(C){const f=C.indexOf(P);return f===-1?{text:C}:w(C,f)}function w(C,f){const v=[];let r="";function l(oe){if(oe){r+=oe;for(const se of oe)v.push(b)}}let m=-1,c="",b=0,L,T,M=f;const z=C.length;for(l(C.substr(0,f));M<z;){if(L=C[M],T=C[M+1],L===P[0]&&T===P[1])m=M,l(c),c=P,M++;else if(L===")"&&m!==-1){const oe=M-m+1;b+=oe,m=-1,c=""}else m!==-1?/^[a-z0-9\-]$/i.test(L)?c+=L:(l(c),m=-1,c=""):l(L);M++}return l(c),{text:r,iconOffsets:v}}function s(C,f,v=!1){const{text:r,iconOffsets:l}=f;if(!l||l.length===0)return(0,H.Oh)(C,r,v);const m=(0,O.j3)(r," "),c=r.length-m.length,b=(0,H.Oh)(C,m,v);if(b)for(const L of b){const T=l[L.start+c]+c;L.start+=T,L.end+=T}return b}},85035:function(xt,Te,i){"use strict";i.d(Te,{R:function(){return h},a:function(){return H}});class h{constructor(P){this._prefix=P,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}}const H=new h("id#")},52411:function(xt,Te,i){"use strict";i.d(Te,{H_:function(){return D},Vd:function(){return p},gx:function(){return w},kL:function(){return g}});class h{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(C,f){this._keyCodeToStr[C]=f,this._strToKeyCode[f.toLowerCase()]=C}keyCodeToStr(C){return this._keyCodeToStr[C]}strToKeyCode(C){return this._strToKeyCode[C.toLowerCase()]||0}}const H=new h,O=new h,P=new h,D=new Array(230),G={},I=[],y=Object.create(null),E=Object.create(null),p=[],a=[];for(let s=0;s<=193;s++)p[s]=-1;for(let s=0;s<=126;s++)a[s]=-1;(function(){const s="",C=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",s,s],[0,1,1,"Hyper",0,s,0,s,s,s],[0,1,2,"Super",0,s,0,s,s,s],[0,1,3,"Fn",0,s,0,s,s,s],[0,1,4,"FnLock",0,s,0,s,s,s],[0,1,5,"Suspend",0,s,0,s,s,s],[0,1,6,"Resume",0,s,0,s,s,s],[0,1,7,"Turbo",0,s,0,s,s,s],[0,1,8,"Sleep",0,s,0,"VK_SLEEP",s,s],[0,1,9,"WakeUp",0,s,0,s,s,s],[31,0,10,"KeyA",31,"A",65,"VK_A",s,s],[32,0,11,"KeyB",32,"B",66,"VK_B",s,s],[33,0,12,"KeyC",33,"C",67,"VK_C",s,s],[34,0,13,"KeyD",34,"D",68,"VK_D",s,s],[35,0,14,"KeyE",35,"E",69,"VK_E",s,s],[36,0,15,"KeyF",36,"F",70,"VK_F",s,s],[37,0,16,"KeyG",37,"G",71,"VK_G",s,s],[38,0,17,"KeyH",38,"H",72,"VK_H",s,s],[39,0,18,"KeyI",39,"I",73,"VK_I",s,s],[40,0,19,"KeyJ",40,"J",74,"VK_J",s,s],[41,0,20,"KeyK",41,"K",75,"VK_K",s,s],[42,0,21,"KeyL",42,"L",76,"VK_L",s,s],[43,0,22,"KeyM",43,"M",77,"VK_M",s,s],[44,0,23,"KeyN",44,"N",78,"VK_N",s,s],[45,0,24,"KeyO",45,"O",79,"VK_O",s,s],[46,0,25,"KeyP",46,"P",80,"VK_P",s,s],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",s,s],[48,0,27,"KeyR",48,"R",82,"VK_R",s,s],[49,0,28,"KeyS",49,"S",83,"VK_S",s,s],[50,0,29,"KeyT",50,"T",84,"VK_T",s,s],[51,0,30,"KeyU",51,"U",85,"VK_U",s,s],[52,0,31,"KeyV",52,"V",86,"VK_V",s,s],[53,0,32,"KeyW",53,"W",87,"VK_W",s,s],[54,0,33,"KeyX",54,"X",88,"VK_X",s,s],[55,0,34,"KeyY",55,"Y",89,"VK_Y",s,s],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",s,s],[22,0,36,"Digit1",22,"1",49,"VK_1",s,s],[23,0,37,"Digit2",23,"2",50,"VK_2",s,s],[24,0,38,"Digit3",24,"3",51,"VK_3",s,s],[25,0,39,"Digit4",25,"4",52,"VK_4",s,s],[26,0,40,"Digit5",26,"5",53,"VK_5",s,s],[27,0,41,"Digit6",27,"6",54,"VK_6",s,s],[28,0,42,"Digit7",28,"7",55,"VK_7",s,s],[29,0,43,"Digit8",29,"8",56,"VK_8",s,s],[30,0,44,"Digit9",30,"9",57,"VK_9",s,s],[21,0,45,"Digit0",21,"0",48,"VK_0",s,s],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",s,s],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",s,s],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",s,s],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",s,s],[10,1,50,"Space",10,"Space",32,"VK_SPACE",s,s],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,s,0,s,s,s],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",s,s],[59,1,64,"F1",59,"F1",112,"VK_F1",s,s],[60,1,65,"F2",60,"F2",113,"VK_F2",s,s],[61,1,66,"F3",61,"F3",114,"VK_F3",s,s],[62,1,67,"F4",62,"F4",115,"VK_F4",s,s],[63,1,68,"F5",63,"F5",116,"VK_F5",s,s],[64,1,69,"F6",64,"F6",117,"VK_F6",s,s],[65,1,70,"F7",65,"F7",118,"VK_F7",s,s],[66,1,71,"F8",66,"F8",119,"VK_F8",s,s],[67,1,72,"F9",67,"F9",120,"VK_F9",s,s],[68,1,73,"F10",68,"F10",121,"VK_F10",s,s],[69,1,74,"F11",69,"F11",122,"VK_F11",s,s],[70,1,75,"F12",70,"F12",123,"VK_F12",s,s],[0,1,76,"PrintScreen",0,s,0,s,s,s],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",s,s],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",s,s],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",s,s],[14,1,80,"Home",14,"Home",36,"VK_HOME",s,s],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",s,s],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",s,s],[13,1,83,"End",13,"End",35,"VK_END",s,s],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",s,s],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",s],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",s],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",s],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",s],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",s,s],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",s,s],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",s,s],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",s,s],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",s,s],[3,1,94,"NumpadEnter",3,s,0,s,s,s],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",s,s],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",s,s],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",s,s],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",s,s],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",s,s],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",s,s],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",s,s],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",s,s],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",s,s],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",s,s],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",s,s],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",s,s],[58,1,107,"ContextMenu",58,"ContextMenu",93,s,s,s],[0,1,108,"Power",0,s,0,s,s,s],[0,1,109,"NumpadEqual",0,s,0,s,s,s],[71,1,110,"F13",71,"F13",124,"VK_F13",s,s],[72,1,111,"F14",72,"F14",125,"VK_F14",s,s],[73,1,112,"F15",73,"F15",126,"VK_F15",s,s],[74,1,113,"F16",74,"F16",127,"VK_F16",s,s],[75,1,114,"F17",75,"F17",128,"VK_F17",s,s],[76,1,115,"F18",76,"F18",129,"VK_F18",s,s],[77,1,116,"F19",77,"F19",130,"VK_F19",s,s],[0,1,117,"F20",0,s,0,"VK_F20",s,s],[0,1,118,"F21",0,s,0,"VK_F21",s,s],[0,1,119,"F22",0,s,0,"VK_F22",s,s],[0,1,120,"F23",0,s,0,"VK_F23",s,s],[0,1,121,"F24",0,s,0,"VK_F24",s,s],[0,1,122,"Open",0,s,0,s,s,s],[0,1,123,"Help",0,s,0,s,s,s],[0,1,124,"Select",0,s,0,s,s,s],[0,1,125,"Again",0,s,0,s,s,s],[0,1,126,"Undo",0,s,0,s,s,s],[0,1,127,"Cut",0,s,0,s,s,s],[0,1,128,"Copy",0,s,0,s,s,s],[0,1,129,"Paste",0,s,0,s,s,s],[0,1,130,"Find",0,s,0,s,s,s],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",s,s],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",s,s],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",s,s],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",s,s],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",s,s],[0,1,136,"KanaMode",0,s,0,s,s,s],[0,0,137,"IntlYen",0,s,0,s,s,s],[0,1,138,"Convert",0,s,0,s,s,s],[0,1,139,"NonConvert",0,s,0,s,s,s],[0,1,140,"Lang1",0,s,0,s,s,s],[0,1,141,"Lang2",0,s,0,s,s,s],[0,1,142,"Lang3",0,s,0,s,s,s],[0,1,143,"Lang4",0,s,0,s,s,s],[0,1,144,"Lang5",0,s,0,s,s,s],[0,1,145,"Abort",0,s,0,s,s,s],[0,1,146,"Props",0,s,0,s,s,s],[0,1,147,"NumpadParenLeft",0,s,0,s,s,s],[0,1,148,"NumpadParenRight",0,s,0,s,s,s],[0,1,149,"NumpadBackspace",0,s,0,s,s,s],[0,1,150,"NumpadMemoryStore",0,s,0,s,s,s],[0,1,151,"NumpadMemoryRecall",0,s,0,s,s,s],[0,1,152,"NumpadMemoryClear",0,s,0,s,s,s],[0,1,153,"NumpadMemoryAdd",0,s,0,s,s,s],[0,1,154,"NumpadMemorySubtract",0,s,0,s,s,s],[0,1,155,"NumpadClear",0,s,0,s,s,s],[0,1,156,"NumpadClearEntry",0,s,0,s,s,s],[5,1,0,s,5,"Ctrl",17,"VK_CONTROL",s,s],[4,1,0,s,4,"Shift",16,"VK_SHIFT",s,s],[6,1,0,s,6,"Alt",18,"VK_MENU",s,s],[57,1,0,s,57,"Meta",0,"VK_COMMAND",s,s],[5,1,157,"ControlLeft",5,s,0,"VK_LCONTROL",s,s],[4,1,158,"ShiftLeft",4,s,0,"VK_LSHIFT",s,s],[6,1,159,"AltLeft",6,s,0,"VK_LMENU",s,s],[57,1,160,"MetaLeft",57,s,0,"VK_LWIN",s,s],[5,1,161,"ControlRight",5,s,0,"VK_RCONTROL",s,s],[4,1,162,"ShiftRight",4,s,0,"VK_RSHIFT",s,s],[6,1,163,"AltRight",6,s,0,"VK_RMENU",s,s],[57,1,164,"MetaRight",57,s,0,"VK_RWIN",s,s],[0,1,165,"BrightnessUp",0,s,0,s,s,s],[0,1,166,"BrightnessDown",0,s,0,s,s,s],[0,1,167,"MediaPlay",0,s,0,s,s,s],[0,1,168,"MediaRecord",0,s,0,s,s,s],[0,1,169,"MediaFastForward",0,s,0,s,s,s],[0,1,170,"MediaRewind",0,s,0,s,s,s],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",s,s],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",s,s],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",s,s],[0,1,174,"Eject",0,s,0,s,s,s],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",s,s],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",s,s],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",s,s],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",s,s],[0,1,179,"LaunchApp1",0,s,0,"VK_MEDIA_LAUNCH_APP1",s,s],[0,1,180,"SelectTask",0,s,0,s,s,s],[0,1,181,"LaunchScreenSaver",0,s,0,s,s,s],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",s,s],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",s,s],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",s,s],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",s,s],[0,1,186,"BrowserStop",0,s,0,"VK_BROWSER_STOP",s,s],[0,1,187,"BrowserRefresh",0,s,0,"VK_BROWSER_REFRESH",s,s],[0,1,188,"BrowserFavorites",0,s,0,"VK_BROWSER_FAVORITES",s,s],[0,1,189,"ZoomToggle",0,s,0,s,s,s],[0,1,190,"MailReply",0,s,0,s,s,s],[0,1,191,"MailForward",0,s,0,s,s,s],[0,1,192,"MailSend",0,s,0,s,s,s],[109,1,0,s,109,"KeyInComposition",229,s,s,s],[111,1,0,s,111,"ABNT_C2",194,"VK_ABNT_C2",s,s],[91,1,0,s,91,"OEM_8",223,"VK_OEM_8",s,s],[0,1,0,s,0,s,0,"VK_CLEAR",s,s],[0,1,0,s,0,s,0,"VK_KANA",s,s],[0,1,0,s,0,s,0,"VK_HANGUL",s,s],[0,1,0,s,0,s,0,"VK_JUNJA",s,s],[0,1,0,s,0,s,0,"VK_FINAL",s,s],[0,1,0,s,0,s,0,"VK_HANJA",s,s],[0,1,0,s,0,s,0,"VK_KANJI",s,s],[0,1,0,s,0,s,0,"VK_CONVERT",s,s],[0,1,0,s,0,s,0,"VK_NONCONVERT",s,s],[0,1,0,s,0,s,0,"VK_ACCEPT",s,s],[0,1,0,s,0,s,0,"VK_MODECHANGE",s,s],[0,1,0,s,0,s,0,"VK_SELECT",s,s],[0,1,0,s,0,s,0,"VK_PRINT",s,s],[0,1,0,s,0,s,0,"VK_EXECUTE",s,s],[0,1,0,s,0,s,0,"VK_SNAPSHOT",s,s],[0,1,0,s,0,s,0,"VK_HELP",s,s],[0,1,0,s,0,s,0,"VK_APPS",s,s],[0,1,0,s,0,s,0,"VK_PROCESSKEY",s,s],[0,1,0,s,0,s,0,"VK_PACKET",s,s],[0,1,0,s,0,s,0,"VK_DBE_SBCSCHAR",s,s],[0,1,0,s,0,s,0,"VK_DBE_DBCSCHAR",s,s],[0,1,0,s,0,s,0,"VK_ATTN",s,s],[0,1,0,s,0,s,0,"VK_CRSEL",s,s],[0,1,0,s,0,s,0,"VK_EXSEL",s,s],[0,1,0,s,0,s,0,"VK_EREOF",s,s],[0,1,0,s,0,s,0,"VK_PLAY",s,s],[0,1,0,s,0,s,0,"VK_ZOOM",s,s],[0,1,0,s,0,s,0,"VK_NONAME",s,s],[0,1,0,s,0,s,0,"VK_PA1",s,s],[0,1,0,s,0,s,0,"VK_OEM_CLEAR",s,s]];let f=[],v=[];for(const r of C){const[l,m,c,b,L,T,M,z,oe,se]=r;if(v[c]||(v[c]=!0,I[c]=b,y[b]=c,E[b.toLowerCase()]=c,m&&(p[c]=L,L!==0&&L!==3&&L!==5&&L!==4&&L!==6&&L!==57&&(a[L]=c))),!f[L]){if(f[L]=!0,!T)throw new Error(`String representation missing for key code ${L} around scan code ${b}`);H.define(L,T),O.define(L,oe||T),P.define(L,se||oe||T)}M&&(D[M]=L),z&&(G[z]=L)}a[3]=46})();var g;(function(s){function C(c){return H.keyCodeToStr(c)}s.toString=C;function f(c){return H.strToKeyCode(c)}s.fromString=f;function v(c){return O.keyCodeToStr(c)}s.toUserSettingsUS=v;function r(c){return P.keyCodeToStr(c)}s.toUserSettingsGeneral=r;function l(c){return O.strToKeyCode(c)||P.strToKeyCode(c)}s.fromUserSettings=l;function m(c){if(c>=93&&c<=108)return null;switch(c){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return H.keyCodeToStr(c)}s.toElectronAccelerator=m})(g||(g={}));function w(s,C){const f=(C&65535)<<16>>>0;return(s|f)>>>0}},66872:function(xt,Te,i){"use strict";i.d(Te,{X4:function(){return P},jC:function(){return D},xo:function(){return O}});var h=i(13268);class H{constructor(y,E,p=E){this.modifierLabels=[null],this.modifierLabels[2]=y,this.modifierLabels[1]=E,this.modifierLabels[3]=p}toLabel(y,E,p){if(E.length===0)return null;const a=[];for(let g=0,w=E.length;g<w;g++){const s=E[g],C=p(s);if(C===null)return null;a[g]=G(s,C,this.modifierLabels[y])}return a.join(" ")}}const O=new H({ctrlKey:"\u2303",shiftKey:"\u21E7",altKey:"\u2325",metaKey:"\u2318",separator:""},{ctrlKey:h.N({key:"ctrlKey",comment:["This is the short form for the Control key on the keyboard"]},"Ctrl"),shiftKey:h.N({key:"shiftKey",comment:["This is the short form for the Shift key on the keyboard"]},"Shift"),altKey:h.N({key:"altKey",comment:["This is the short form for the Alt key on the keyboard"]},"Alt"),metaKey:h.N({key:"windowsKey",comment:["This is the short form for the Windows key on the keyboard"]},"Windows"),separator:"+"},{ctrlKey:h.N({key:"ctrlKey",comment:["This is the short form for the Control key on the keyboard"]},"Ctrl"),shiftKey:h.N({key:"shiftKey",comment:["This is the short form for the Shift key on the keyboard"]},"Shift"),altKey:h.N({key:"altKey",comment:["This is the short form for the Alt key on the keyboard"]},"Alt"),metaKey:h.N({key:"superKey",comment:["This is the short form for the Super key on the keyboard"]},"Super"),separator:"+"}),P=new H({ctrlKey:h.N({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:h.N({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:h.N({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:h.N({key:"cmdKey.long",comment:["This is the long form for the Command key on the keyboard"]},"Command"),separator:"+"},{ctrlKey:h.N({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:h.N({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:h.N({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:h.N({key:"windowsKey.long",comment:["This is the long form for the Windows key on the keyboard"]},"Windows"),separator:"+"},{ctrlKey:h.N({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:h.N({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:h.N({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:h.N({key:"superKey.long",comment:["This is the long form for the Super key on the keyboard"]},"Super"),separator:"+"}),D=new H({ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Cmd",separator:"+"},{ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Super",separator:"+"});function G(I,y,E){if(y===null)return"";const p=[];return I.ctrlKey&&p.push(E.ctrlKey),I.shiftKey&&p.push(E.shiftKey),I.altKey&&p.push(E.altKey),I.metaKey&&p.push(E.metaKey),y!==""&&p.push(y),p.join(E.separator)}},86354:function(xt,Te,i){"use strict";i.d(Te,{BQ:function(){return I},QC:function(){return P},X_:function(){return D},f1:function(){return y},gm:function(){return H}});var h=i(79881);function H(E,p){if(E===0)return null;const a=(E&65535)>>>0,g=(E&4294901760)>>>16;return g!==0?new D([O(a,p),O(g,p)]):new D([O(a,p)])}function O(E,p){const a=!!(E&2048),g=!!(E&256),w=p===2?g:a,s=!!(E&1024),C=!!(E&512),f=p===2?a:g,v=E&255;return new P(w,s,C,f,v)}class P{constructor(p,a,g,w,s){this.ctrlKey=p,this.shiftKey=a,this.altKey=g,this.metaKey=w,this.keyCode=s}equals(p){return this.ctrlKey===p.ctrlKey&&this.shiftKey===p.shiftKey&&this.altKey===p.altKey&&this.metaKey===p.metaKey&&this.keyCode===p.keyCode}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toChord(){return new D([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}}class D{constructor(p){if(p.length===0)throw(0,h.b1)("parts");this.parts=p}}class G{constructor(p,a,g,w,s){this.ctrlKey=p,this.shiftKey=a,this.altKey=g,this.metaKey=w,this.scanCode=s}isDuplicateModifierCase(){return this.ctrlKey&&(this.scanCode===157||this.scanCode===161)||this.shiftKey&&(this.scanCode===158||this.scanCode===162)||this.altKey&&(this.scanCode===159||this.scanCode===163)||this.metaKey&&(this.scanCode===160||this.scanCode===164)}}class I{constructor(p,a,g,w,s,C){this.ctrlKey=p,this.shiftKey=a,this.altKey=g,this.metaKey=w,this.keyLabel=s,this.keyAriaLabel=C}}class y{}},51983:function(xt,Te,i){"use strict";i.d(Te,{D:function(){return I},p:function(){return G}});var h=i(57637),H=i(66657),O=i(23345),P=i(9365),D=i(4968);function G(y){if(!y)return;typeof y=="string"&&(y=D.o.file(y));const E=(0,P.EZ)(y)||(y.scheme===H.lg.file?y.fsPath:y.path);return O.ED&&(0,h.vY)(E)?I(E):E}function I(y){return(0,h.oP)(y)?y.charAt(0).toUpperCase()+y.slice(1):y}},78421:function(xt,Te,i){"use strict";i.d(Te,{Id:function(){return E},Y9:function(){return a},z6:function(){return w}});var h=i(82983),H,O;class P{constructor(){this._value="",this._pos=0}reset(C){return this._value=C,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos<this._value.length-1}cmp(C){const f=C.charCodeAt(0),v=this._value.charCodeAt(this._pos);return f-v}value(){return this._value[this._pos]}}class D{constructor(C=!0){this._caseSensitive=C}reset(C){return this._value=C,this._from=0,this._to=0,this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let C=!0;for(;this._to<this._value.length;this._to++)if(this._value.charCodeAt(this._to)===46)if(C)this._from++;else break;else C=!1;return this}cmp(C){return this._caseSensitive?(0,h.TT)(C,this._value,0,C.length,this._from,this._to):(0,h.j_)(C,this._value,0,C.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}}class G{constructor(C=!0,f=!0){this._splitOnBackslash=C,this._caseSensitive=f}reset(C){return this._value=C.replace(/\\$|\/$/,""),this._from=0,this._to=0,this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let C=!0;for(;this._to<this._value.length;this._to++){const f=this._value.charCodeAt(this._to);if(f===47||this._splitOnBackslash&&f===92)if(C)this._from++;else break;else C=!1}return this}cmp(C){return this._caseSensitive?(0,h.TT)(C,this._value,0,C.length,this._from,this._to):(0,h.j_)(C,this._value,0,C.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}}class I{constructor(C){this._ignorePathCasing=C,this._states=[],this._stateIdx=0}reset(C){return this._value=C,this._states=[],this._value.scheme&&this._states.push(1),this._value.authority&&this._states.push(2),this._value.path&&(this._pathIterator=new G(!1,!this._ignorePathCasing(C)),this._pathIterator.reset(C.path),this._pathIterator.value()&&this._states.push(3)),this._value.query&&this._states.push(4),this._value.fragment&&this._states.push(5),this._stateIdx=0,this}next(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()?this._pathIterator.next():this._stateIdx+=1,this}hasNext(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()||this._stateIdx<this._states.length-1}cmp(C){if(this._states[this._stateIdx]===1)return(0,h.zY)(C,this._value.scheme);if(this._states[this._stateIdx]===2)return(0,h.zY)(C,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(C);if(this._states[this._stateIdx]===4)return(0,h.qu)(C,this._value.query);if(this._states[this._stateIdx]===5)return(0,h.qu)(C,this._value.fragment);throw new Error}value(){if(this._states[this._stateIdx]===1)return this._value.scheme;if(this._states[this._stateIdx]===2)return this._value.authority;if(this._states[this._stateIdx]===3)return this._pathIterator.value();if(this._states[this._stateIdx]===4)return this._value.query;if(this._states[this._stateIdx]===5)return this._value.fragment;throw new Error}}class y{constructor(){this.height=1}rotateLeft(){const C=this.right;return this.right=C.left,C.left=this,this.updateHeight(),C.updateHeight(),C}rotateRight(){const C=this.left;return this.left=C.right,C.right=this,this.updateHeight(),C.updateHeight(),C}updateHeight(){this.height=1+Math.max(this.heightLeft,this.heightRight)}balanceFactor(){return this.heightRight-this.heightLeft}get heightLeft(){var C,f;return(f=(C=this.left)===null||C===void 0?void 0:C.height)!==null&&f!==void 0?f:0}get heightRight(){var C,f;return(f=(C=this.right)===null||C===void 0?void 0:C.height)!==null&&f!==void 0?f:0}}class E{constructor(C){this._iter=C}static forUris(C=()=>!1){return new E(new I(C))}static forStrings(){return new E(new P)}static forConfigKeys(){return new E(new D)}clear(){this._root=void 0}set(C,f){const v=this._iter.reset(C);let r;this._root||(this._root=new y,this._root.segment=v.value());const l=[];for(r=this._root;;){const c=v.cmp(r.segment);if(c>0)r.left||(r.left=new y,r.left.segment=v.value()),l.push([-1,r]),r=r.left;else if(c<0)r.right||(r.right=new y,r.right.segment=v.value()),l.push([1,r]),r=r.right;else if(v.hasNext())v.next(),r.mid||(r.mid=new y,r.mid.segment=v.value()),l.push([0,r]),r=r.mid;else break}const m=r.value;r.value=f,r.key=C;for(let c=l.length-1;c>=0;c--){const b=l[c][1];b.updateHeight();const L=b.balanceFactor();if(L<-1||L>1){const T=l[c][0],M=l[c+1][0];if(T===1&&M===1)l[c][1]=b.rotateLeft();else if(T===-1&&M===-1)l[c][1]=b.rotateRight();else if(T===1&&M===-1)b.right=l[c+1][1]=l[c+1][1].rotateRight(),l[c][1]=b.rotateLeft();else if(T===-1&&M===1)b.left=l[c+1][1]=l[c+1][1].rotateLeft(),l[c][1]=b.rotateRight();else throw new Error;if(c>0)switch(l[c-1][0]){case-1:l[c-1][1].left=l[c][1];break;case 1:l[c-1][1].right=l[c][1];break;case 0:l[c-1][1].mid=l[c][1];break}else this._root=l[0][1]}}return m}get(C){var f;return(f=this._getNode(C))===null||f===void 0?void 0:f.value}_getNode(C){const f=this._iter.reset(C);let v=this._root;for(;v;){const r=f.cmp(v.segment);if(r>0)v=v.left;else if(r<0)v=v.right;else if(f.hasNext())f.next(),v=v.mid;else break}return v}has(C){const f=this._getNode(C);return!((f==null?void 0:f.value)===void 0&&(f==null?void 0:f.mid)===void 0)}delete(C){return this._delete(C,!1)}deleteSuperstr(C){return this._delete(C,!0)}_delete(C,f){var v;const r=this._iter.reset(C),l=[];let m=this._root;for(;m;){const c=r.cmp(m.segment);if(c>0)l.push([-1,m]),m=m.left;else if(c<0)l.push([1,m]),m=m.right;else if(r.hasNext())r.next(),l.push([0,m]),m=m.mid;else break}if(m){if(f?(m.left=void 0,m.mid=void 0,m.right=void 0,m.height=1):(m.key=void 0,m.value=void 0),!m.mid&&!m.value)if(m.left&&m.right){const c=this._min(m.right),{key:b,value:L,segment:T}=c;this._delete(c.key,!1),m.key=b,m.value=L,m.segment=T}else{const c=(v=m.left)!==null&&v!==void 0?v:m.right;if(l.length>0){const[b,L]=l[l.length-1];switch(b){case-1:L.left=c;break;case 0:L.mid=c;break;case 1:L.right=c;break}}else this._root=c}for(let c=l.length-1;c>=0;c--){const b=l[c][1];b.updateHeight();const L=b.balanceFactor();if(L>1?(b.right.balanceFactor()>=0||(b.right=l[c+1][1]=l[c+1][1].rotateRight()),l[c][1]=b.rotateLeft()):L<-1&&(b.left.balanceFactor()<=0||(b.left=l[c+1][1]=l[c+1][1].rotateLeft()),l[c][1]=b.rotateRight()),c>0)switch(l[c-1][0]){case-1:l[c-1][1].left=l[c][1];break;case 1:l[c-1][1].right=l[c][1];break;case 0:l[c-1][1].mid=l[c][1];break}else this._root=l[0][1]}}}_min(C){for(;C.left;)C=C.left;return C}findSubstr(C){const f=this._iter.reset(C);let v=this._root,r;for(;v;){const l=f.cmp(v.segment);if(l>0)v=v.left;else if(l<0)v=v.right;else if(f.hasNext())f.next(),r=v.value||r,v=v.mid;else break}return v&&v.value||r}findSuperstr(C){const f=this._iter.reset(C);let v=this._root;for(;v;){const r=f.cmp(v.segment);if(r>0)v=v.left;else if(r<0)v=v.right;else if(f.hasNext())f.next(),v=v.mid;else return v.mid?this._entries(v.mid):void 0}}forEach(C){for(const[f,v]of this)C(v,f)}*[Symbol.iterator](){yield*Jo(this._entries(this._root))}*_entries(C){C&&(C.left&&(yield*Jo(this._entries(C.left))),C.value&&(yield[C.key,C.value]),C.mid&&(yield*Jo(this._entries(C.mid))),C.right&&(yield*Jo(this._entries(C.right))))}}class p{constructor(C,f){this.uri=C,this.value=f}}class a{constructor(C,f){this[H]="ResourceMap",C instanceof a?(this.map=new Map(C.map),this.toKey=f!=null?f:a.defaultToKey):(this.map=new Map,this.toKey=C!=null?C:a.defaultToKey)}set(C,f){return this.map.set(this.toKey(C),new p(C,f)),this}get(C){var f;return(f=this.map.get(this.toKey(C)))===null||f===void 0?void 0:f.value}has(C){return this.map.has(this.toKey(C))}get size(){return this.map.size}clear(){this.map.clear()}delete(C){return this.map.delete(this.toKey(C))}forEach(C,f){typeof f!="undefined"&&(C=C.bind(f));for(let[v,r]of this.map)C(r.value,r.uri,this)}*values(){for(let C of this.map.values())yield C.value}*keys(){for(let C of this.map.values())yield C.uri}*entries(){for(let C of this.map.values())yield[C.uri,C.value]}*[(H=Symbol.toStringTag,Symbol.iterator)](){for(let[,C]of this.map)yield[C.uri,C.value]}}a.defaultToKey=s=>s.toString();class g{constructor(){this[O]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var C;return(C=this._head)===null||C===void 0?void 0:C.value}get last(){var C;return(C=this._tail)===null||C===void 0?void 0:C.value}has(C){return this._map.has(C)}get(C,f=0){const v=this._map.get(C);if(v)return f!==0&&this.touch(v,f),v.value}set(C,f,v=0){let r=this._map.get(C);if(r)r.value=f,v!==0&&this.touch(r,v);else{switch(r={key:C,value:f,next:void 0,previous:void 0},v){case 0:this.addItemLast(r);break;case 1:this.addItemFirst(r);break;case 2:this.addItemLast(r);break;default:this.addItemLast(r);break}this._map.set(C,r),this._size++}return this}delete(C){return!!this.remove(C)}remove(C){const f=this._map.get(C);if(f)return this._map.delete(C),this.removeItem(f),this._size--,f.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const C=this._head;return this._map.delete(C.key),this.removeItem(C),this._size--,C.value}forEach(C,f){const v=this._state;let r=this._head;for(;r;){if(f?C.bind(f)(r.value,r.key,this):C(r.value,r.key,this),this._state!==v)throw new Error("LinkedMap got modified during iteration.");r=r.next}}keys(){const C=this,f=this._state;let v=this._head;const r={[Symbol.iterator](){return r},next(){if(C._state!==f)throw new Error("LinkedMap got modified during iteration.");if(v){const l={value:v.key,done:!1};return v=v.next,l}else return{value:void 0,done:!0}}};return r}values(){const C=this,f=this._state;let v=this._head;const r={[Symbol.iterator](){return r},next(){if(C._state!==f)throw new Error("LinkedMap got modified during iteration.");if(v){const l={value:v.value,done:!1};return v=v.next,l}else return{value:void 0,done:!0}}};return r}entries(){const C=this,f=this._state;let v=this._head;const r={[Symbol.iterator](){return r},next(){if(C._state!==f)throw new Error("LinkedMap got modified during iteration.");if(v){const l={value:[v.key,v.value],done:!1};return v=v.next,l}else return{value:void 0,done:!0}}};return r}[(O=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(C){if(C>=this.size)return;if(C===0){this.clear();return}let f=this._head,v=this.size;for(;f&&v>C;)this._map.delete(f.key),f=f.next,v--;this._head=f,this._size=v,f&&(f.previous=void 0),this._state++}addItemFirst(C){if(!this._head&&!this._tail)this._tail=C;else if(this._head)C.next=this._head,this._head.previous=C;else throw new Error("Invalid list");this._head=C,this._state++}addItemLast(C){if(!this._head&&!this._tail)this._head=C;else if(this._tail)C.previous=this._tail,this._tail.next=C;else throw new Error("Invalid list");this._tail=C,this._state++}removeItem(C){if(C===this._head&&C===this._tail)this._head=void 0,this._tail=void 0;else if(C===this._head){if(!C.next)throw new Error("Invalid list");C.next.previous=void 0,this._head=C.next}else if(C===this._tail){if(!C.previous)throw new Error("Invalid list");C.previous.next=void 0,this._tail=C.previous}else{const f=C.next,v=C.previous;if(!f||!v)throw new Error("Invalid list");f.previous=v,v.next=f}C.next=void 0,C.previous=void 0,this._state++}touch(C,f){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(f!==1&&f!==2)){if(f===1){if(C===this._head)return;const v=C.next,r=C.previous;C===this._tail?(r.next=void 0,this._tail=r):(v.previous=r,r.next=v),C.previous=void 0,C.next=this._head,this._head.previous=C,this._head=C,this._state++}else if(f===2){if(C===this._tail)return;const v=C.next,r=C.previous;C===this._head?(v.previous=void 0,this._head=v):(v.previous=r,r.next=v),C.next=void 0,C.previous=this._tail,this._tail.next=C,this._tail=C,this._state++}}}toJSON(){const C=[];return this.forEach((f,v)=>{C.push([v,f])}),C}fromJSON(C){this.clear();for(const[f,v]of C)this.set(f,v)}}class w extends g{constructor(C,f=1){super(),this._limit=C,this._ratio=Math.min(Math.max(0,f),1)}get limit(){return this._limit}set limit(C){this._limit=C,this.checkTrim()}get(C,f=2){return super.get(C,f)}peek(C){return super.get(C,0)}set(C,f){return super.set(C,f,2),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},39941:function(xt,Te,i){"use strict";i.d(Te,{Qc:function(){return a},Th:function(){return D}}),xt=i.hmd(xt);let h;(function(){function g(w){h=w()}g.amd=!0,function(w,s){typeof exports=="object"?xt.exports=s():typeof g=="function"&&g.amd?g(s):(w=typeof globalThis!="undefined"?globalThis:w||self,w.marked=s())}(this,function(){"use strict";function w(mt,ut){for(var qe=0;qe<ut.length;qe++){var de=ut[qe];de.enumerable=de.enumerable||!1,de.configurable=!0,"value"in de&&(de.writable=!0),Object.defineProperty(mt,de.key,de)}}function s(mt,ut,qe){return ut&&w(mt.prototype,ut),qe&&w(mt,qe),mt}function C(mt,ut){if(mt){if(typeof mt=="string")return f(mt,ut);var qe=Object.prototype.toString.call(mt).slice(8,-1);if(qe==="Object"&&mt.constructor&&(qe=mt.constructor.name),qe==="Map"||qe==="Set")return Array.from(mt);if(qe==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(qe))return f(mt,ut)}}function f(mt,ut){(ut==null||ut>mt.length)&&(ut=mt.length);for(var qe=0,de=new Array(ut);qe<ut;qe++)de[qe]=mt[qe];return de}function v(mt,ut){var qe=typeof Symbol!="undefined"&&mt[Symbol.iterator]||mt["@@iterator"];if(qe)return(qe=qe.call(mt)).next.bind(qe);if(Array.isArray(mt)||(qe=C(mt))||ut&&mt&&typeof mt.length=="number"){qe&&(mt=qe);var de=0;return function(){return de>=mt.length?{done:!0}:{done:!1,value:mt[de++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var r={exports:{}};function l(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}function m(mt){r.exports.defaults=mt}r.exports={defaults:l(),getDefaults:l,changeDefaults:m};var c=/[&<>"']/,b=/[&<>"']/g,L=/[<>"']|&(?!#?\w+;)/,T=/[<>"']|&(?!#?\w+;)/g,M={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},z=function(ut){return M[ut]};function oe(mt,ut){if(ut){if(c.test(mt))return mt.replace(b,z)}else if(L.test(mt))return mt.replace(T,z);return mt}var se=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function re(mt){return mt.replace(se,function(ut,qe){return qe=qe.toLowerCase(),qe==="colon"?":":qe.charAt(0)==="#"?qe.charAt(1)==="x"?String.fromCharCode(parseInt(qe.substring(2),16)):String.fromCharCode(+qe.substring(1)):""})}var De=/(^|[^\[])\^/g;function J(mt,ut){mt=mt.source||mt,ut=ut||"";var qe={replace:function(Se,Y){return Y=Y.source||Y,Y=Y.replace(De,"$1"),mt=mt.replace(Se,Y),qe},getRegex:function(){return new RegExp(mt,ut)}};return qe}var Z=/[^\w:]/g,Q=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function le(mt,ut,qe){if(mt){var de;try{de=decodeURIComponent(re(qe)).replace(Z,"").toLowerCase()}catch(Se){return null}if(de.indexOf("javascript:")===0||de.indexOf("vbscript:")===0||de.indexOf("data:")===0)return null}ut&&!Q.test(qe)&&(qe=K(ut,qe));try{qe=encodeURI(qe).replace(/%25/g,"%")}catch(Se){return null}return qe}var xe={},j=/^[^:]+:\/*[^/]*$/,R=/^([^:]+:)[\s\S]*$/,V=/^([^:]+:\/*[^/]*)[\s\S]*$/;function K(mt,ut){xe[" "+mt]||(j.test(mt)?xe[" "+mt]=mt+"/":xe[" "+mt]=ye(mt,"/",!0)),mt=xe[" "+mt];var qe=mt.indexOf(":")===-1;return ut.substring(0,2)==="//"?qe?ut:mt.replace(R,"$1")+ut:ut.charAt(0)==="/"?qe?ut:mt.replace(V,"$1")+ut:mt+ut}var ie={exec:function(){}};function te(mt){for(var ut=1,qe,de;ut<arguments.length;ut++){qe=arguments[ut];for(de in qe)Object.prototype.hasOwnProperty.call(qe,de)&&(mt[de]=qe[de])}return mt}function ge(mt,ut){var qe=mt.replace(/\|/g,function(Y,_e,ke){for(var lt=!1,nt=_e;--nt>=0&&ke[nt]==="\\";)lt=!lt;return lt?"|":" |"}),de=qe.split(/ \|/),Se=0;if(de[0].trim()||de.shift(),de[de.length-1].trim()||de.pop(),de.length>ut)de.splice(ut);else for(;de.length<ut;)de.push("");for(;Se<de.length;Se++)de[Se]=de[Se].trim().replace(/\\\|/g,"|");return de}function ye(mt,ut,qe){var de=mt.length;if(de===0)return"";for(var Se=0;Se<de;){var Y=mt.charAt(de-Se-1);if(Y===ut&&!qe)Se++;else if(Y!==ut&&qe)Se++;else break}return mt.substr(0,de-Se)}function ve(mt,ut){if(mt.indexOf(ut[1])===-1)return-1;for(var qe=mt.length,de=0,Se=0;Se<qe;Se++)if(mt[Se]==="\\")Se++;else if(mt[Se]===ut[0])de++;else if(mt[Se]===ut[1]&&(de--,de<0))return Se;return-1}function Fe(mt){mt&&mt.sanitize&&!mt.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}function we(mt,ut){if(ut<1)return"";for(var qe="";ut>1;)ut&1&&(qe+=mt),ut>>=1,mt+=mt;return qe+mt}var ue={escape:oe,unescape:re,edit:J,cleanUrl:le,resolveUrl:K,noopTest:ie,merge:te,splitCells:ge,rtrim:ye,findClosingBracket:ve,checkSanitizeDeprecation:Fe,repeatString:we},ce=r.exports.defaults,Ve=ue.rtrim,We=ue.splitCells,ae=ue.escape,fe=ue.findClosingBracket;function ne(mt,ut,qe,de){var Se=ut.href,Y=ut.title?ae(ut.title):null,_e=mt[1].replace(/\\([\[\]])/g,"$1");if(mt[0].charAt(0)!=="!"){de.state.inLink=!0;var ke={type:"link",raw:qe,href:Se,title:Y,text:_e,tokens:de.inlineTokens(_e,[])};return de.state.inLink=!1,ke}else return{type:"image",raw:qe,href:Se,title:Y,text:ae(_e)}}function W(mt,ut){var qe=mt.match(/^(\s+)(?:```)/);if(qe===null)return ut;var de=qe[1];return ut.split(`
`).map(function(Se){var Y=Se.match(/^\s+/);if(Y===null)return Se;var _e=Y[0];return _e.length>=de.length?Se.slice(de.length):Se}).join(`
`)}var $=function(){function mt(qe){this.options=qe||ce}var ut=mt.prototype;return ut.space=function(de){var Se=this.rules.block.newline.exec(de);if(Se)return Se[0].length>1?{type:"space",raw:Se[0]}:{raw:`
`}},ut.code=function(de){var Se=this.rules.block.code.exec(de);if(Se){var Y=Se[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:Se[0],codeBlockStyle:"indented",text:this.options.pedantic?Y:Ve(Y,`
`)}}},ut.fences=function(de){var Se=this.rules.block.fences.exec(de);if(Se){var Y=Se[0],_e=W(Y,Se[3]||"");return{type:"code",raw:Y,lang:Se[2]?Se[2].trim():Se[2],text:_e}}},ut.heading=function(de){var Se=this.rules.block.heading.exec(de);if(Se){var Y=Se[2].trim();if(/#$/.test(Y)){var _e=Ve(Y,"#");(this.options.pedantic||!_e||/ $/.test(_e))&&(Y=_e.trim())}var ke={type:"heading",raw:Se[0],depth:Se[1].length,text:Y,tokens:[]};return this.lexer.inline(ke.text,ke.tokens),ke}},ut.hr=function(de){var Se=this.rules.block.hr.exec(de);if(Se)return{type:"hr",raw:Se[0]}},ut.blockquote=function(de){var Se=this.rules.block.blockquote.exec(de);if(Se){var Y=Se[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:Se[0],tokens:this.lexer.blockTokens(Y,[]),text:Y}}},ut.list=function(de){var Se=this.rules.block.list.exec(de);if(Se){var Y,_e,ke,lt,nt,pt,Dt,Vt,Mt,Jt,jt=Se[1].trim(),ui=jt.length>1,vi={type:"list",raw:"",ordered:ui,start:ui?+jt.slice(0,-1):"",loose:!1,items:[]};jt=ui?"\\d{1,9}\\"+jt.slice(-1):"\\"+jt,this.options.pedantic&&(jt=ui?jt:"[*+-]");for(var Si=new RegExp("^( {0,3}"+jt+")((?: [^\\n]*| *)(?:\\n[^\\n]*)*(?:\\n|$))");de&&!(this.rules.block.hr.test(de)||!(Se=Si.exec(de)));){Mt=Se[2].split(`
`),this.options.pedantic?(lt=2,Jt=Mt[0].trimLeft()):(lt=Se[2].search(/[^ ]/),lt=Se[1].length+(lt>4?1:lt),Jt=Mt[0].slice(lt-Se[1].length)),pt=!1,Y=Se[0],!Mt[0]&&/^ *$/.test(Mt[1])&&(Y=Se[1]+Mt.slice(0,2).join(`
`)+`
`,vi.loose=!0,Mt=[]);var Oi=new RegExp("^ {0,"+Math.min(3,lt-1)+"}(?:[*+-]|\\d{1,9}[.)])");for(nt=1;nt<Mt.length;nt++){if(Vt=Mt[nt],this.options.pedantic&&(Vt=Vt.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),Oi.test(Vt)){Y=Se[1]+Mt.slice(0,nt).join(`
`)+`
`;break}if(!pt){Vt.trim()||(pt=!0),Vt.search(/[^ ]/)>=lt?Jt+=`
`+Vt.slice(lt):Jt+=`
`+Vt;continue}if(Vt.search(/[^ ]/)>=lt||!Vt.trim()){Jt+=`
`+Vt.slice(lt);continue}else{Y=Se[1]+Mt.slice(0,nt).join(`
`)+`
`;break}}vi.loose||(Dt?vi.loose=!0:/\n *\n *$/.test(Y)&&(Dt=!0)),this.options.gfm&&(_e=/^\[[ xX]\] /.exec(Jt),_e&&(ke=_e[0]!=="[ ] ",Jt=Jt.replace(/^\[[ xX]\] +/,""))),vi.items.push({type:"list_item",raw:Y,task:!!_e,checked:ke,loose:!1,text:Jt}),vi.raw+=Y,de=de.slice(Y.length)}vi.items[vi.items.length-1].raw=Y.trimRight(),vi.items[vi.items.length-1].text=Jt.trimRight(),vi.raw=vi.raw.trimRight();var Ri=vi.items.length;for(nt=0;nt<Ri;nt++)this.lexer.state.top=!1,vi.items[nt].tokens=this.lexer.blockTokens(vi.items[nt].text,[]),vi.items[nt].tokens.some(function(zi){return zi.type==="space"})&&(vi.loose=!0,vi.items[nt].loose=!0);return vi}},ut.html=function(de){var Se=this.rules.block.html.exec(de);if(Se){var Y={type:"html",raw:Se[0],pre:!this.options.sanitizer&&(Se[1]==="pre"||Se[1]==="script"||Se[1]==="style"),text:Se[0]};return this.options.sanitize&&(Y.type="paragraph",Y.text=this.options.sanitizer?this.options.sanitizer(Se[0]):ae(Se[0]),Y.tokens=[],this.lexer.inline(Y.text,Y.tokens)),Y}},ut.def=function(de){var Se=this.rules.block.def.exec(de);if(Se){Se[3]&&(Se[3]=Se[3].substring(1,Se[3].length-1));var Y=Se[1].toLowerCase().replace(/\s+/g," ");return{type:"def",tag:Y,raw:Se[0],href:Se[2],title:Se[3]}}},ut.table=function(de){var Se=this.rules.block.table.exec(de);if(Se){var Y={type:"table",header:We(Se[1]).map(function(Dt){return{text:Dt}}),align:Se[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:Se[3]?Se[3].replace(/\n$/,"").split(`
`):[]};if(Y.header.length===Y.align.length){Y.raw=Se[0];var _e=Y.align.length,ke,lt,nt,pt;for(ke=0;ke<_e;ke++)/^ *-+: *$/.test(Y.align[ke])?Y.align[ke]="right":/^ *:-+: *$/.test(Y.align[ke])?Y.align[ke]="center":/^ *:-+ *$/.test(Y.align[ke])?Y.align[ke]="left":Y.align[ke]=null;for(_e=Y.rows.length,ke=0;ke<_e;ke++)Y.rows[ke]=We(Y.rows[ke],Y.header.length).map(function(Dt){return{text:Dt}});for(_e=Y.header.length,lt=0;lt<_e;lt++)Y.header[lt].tokens=[],this.lexer.inlineTokens(Y.header[lt].text,Y.header[lt].tokens);for(_e=Y.rows.length,lt=0;lt<_e;lt++)for(pt=Y.rows[lt],nt=0;nt<pt.length;nt++)pt[nt].tokens=[],this.lexer.inlineTokens(pt[nt].text,pt[nt].tokens);return Y}}},ut.lheading=function(de){var Se=this.rules.block.lheading.exec(de);if(Se){var Y={type:"heading",raw:Se[0],depth:Se[2].charAt(0)==="="?1:2,text:Se[1],tokens:[]};return this.lexer.inline(Y.text,Y.tokens),Y}},ut.paragraph=function(de){var Se=this.rules.block.paragraph.exec(de);if(Se){var Y={type:"paragraph",raw:Se[0],text:Se[1].charAt(Se[1].length-1)===`
`?Se[1].slice(0,-1):Se[1],tokens:[]};return this.lexer.inline(Y.text,Y.tokens),Y}},ut.text=function(de){var Se=this.rules.block.text.exec(de);if(Se){var Y={type:"text",raw:Se[0],text:Se[0],tokens:[]};return this.lexer.inline(Y.text,Y.tokens),Y}},ut.escape=function(de){var Se=this.rules.inline.escape.exec(de);if(Se)return{type:"escape",raw:Se[0],text:ae(Se[1])}},ut.tag=function(de){var Se=this.rules.inline.tag.exec(de);if(Se)return!this.lexer.state.inLink&&/^<a /i.test(Se[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(Se[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(Se[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(Se[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:Se[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(Se[0]):ae(Se[0]):Se[0]}},ut.link=function(de){var Se=this.rules.inline.link.exec(de);if(Se){var Y=Se[2].trim();if(!this.options.pedantic&&/^</.test(Y)){if(!/>$/.test(Y))return;var _e=Ve(Y.slice(0,-1),"\\");if((Y.length-_e.length)%2===0)return}else{var ke=fe(Se[2],"()");if(ke>-1){var lt=Se[0].indexOf("!")===0?5:4,nt=lt+Se[1].length+ke;Se[2]=Se[2].substring(0,ke),Se[0]=Se[0].substring(0,nt).trim(),Se[3]=""}}var pt=Se[2],Dt="";if(this.options.pedantic){var Vt=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(pt);Vt&&(pt=Vt[1],Dt=Vt[3])}else Dt=Se[3]?Se[3].slice(1,-1):"";return pt=pt.trim(),/^</.test(pt)&&(this.options.pedantic&&!/>$/.test(Y)?pt=pt.slice(1):pt=pt.slice(1,-1)),ne(Se,{href:pt&&pt.replace(this.rules.inline._escapes,"$1"),title:Dt&&Dt.replace(this.rules.inline._escapes,"$1")},Se[0],this.lexer)}},ut.reflink=function(de,Se){var Y;if((Y=this.rules.inline.reflink.exec(de))||(Y=this.rules.inline.nolink.exec(de))){var _e=(Y[2]||Y[1]).replace(/\s+/g," ");if(_e=Se[_e.toLowerCase()],!_e||!_e.href){var ke=Y[0].charAt(0);return{type:"text",raw:ke,text:ke}}return ne(Y,_e,Y[0],this.lexer)}},ut.emStrong=function(de,Se,Y){Y===void 0&&(Y="");var _e=this.rules.inline.emStrong.lDelim.exec(de);if(_e&&!(_e[3]&&Y.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var ke=_e[1]||_e[2]||"";if(!ke||ke&&(Y===""||this.rules.inline.punctuation.exec(Y))){var lt=_e[0].length-1,nt,pt,Dt=lt,Vt=0,Mt=_e[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(Mt.lastIndex=0,Se=Se.slice(-1*de.length+lt);(_e=Mt.exec(Se))!=null;)if(nt=_e[1]||_e[2]||_e[3]||_e[4]||_e[5]||_e[6],!!nt){if(pt=nt.length,_e[3]||_e[4]){Dt+=pt;continue}else if((_e[5]||_e[6])&&lt%3&&!((lt+pt)%3)){Vt+=pt;continue}if(Dt-=pt,!(Dt>0)){if(pt=Math.min(pt,pt+Dt+Vt),Math.min(lt,pt)%2){var Jt=de.slice(1,lt+_e.index+pt);return{type:"em",raw:de.slice(0,lt+_e.index+pt+1),text:Jt,tokens:this.lexer.inlineTokens(Jt,[])}}var jt=de.slice(2,lt+_e.index+pt-1);return{type:"strong",raw:de.slice(0,lt+_e.index+pt+1),text:jt,tokens:this.lexer.inlineTokens(jt,[])}}}}}},ut.codespan=function(de){var Se=this.rules.inline.code.exec(de);if(Se){var Y=Se[2].replace(/\n/g," "),_e=/[^ ]/.test(Y),ke=/^ /.test(Y)&&/ $/.test(Y);return _e&&ke&&(Y=Y.substring(1,Y.length-1)),Y=ae(Y,!0),{type:"codespan",raw:Se[0],text:Y}}},ut.br=function(de){var Se=this.rules.inline.br.exec(de);if(Se)return{type:"br",raw:Se[0]}},ut.del=function(de){var Se=this.rules.inline.del.exec(de);if(Se)return{type:"del",raw:Se[0],text:Se[2],tokens:this.lexer.inlineTokens(Se[2],[])}},ut.autolink=function(de,Se){var Y=this.rules.inline.autolink.exec(de);if(Y){var _e,ke;return Y[2]==="@"?(_e=ae(this.options.mangle?Se(Y[1]):Y[1]),ke="mailto:"+_e):(_e=ae(Y[1]),ke=_e),{type:"link",raw:Y[0],text:_e,href:ke,tokens:[{type:"text",raw:_e,text:_e}]}}},ut.url=function(de,Se){var Y;if(Y=this.rules.inline.url.exec(de)){var _e,ke;if(Y[2]==="@")_e=ae(this.options.mangle?Se(Y[0]):Y[0]),ke="mailto:"+_e;else{var lt;do lt=Y[0],Y[0]=this.rules.inline._backpedal.exec(Y[0])[0];while(lt!==Y[0]);_e=ae(Y[0]),Y[1]==="www."?ke="http://"+_e:ke=_e}return{type:"link",raw:Y[0],text:_e,href:ke,tokens:[{type:"text",raw:_e,text:_e}]}}},ut.inlineText=function(de,Se){var Y=this.rules.inline.text.exec(de);if(Y){var _e;return this.lexer.state.inRawBlock?_e=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(Y[0]):ae(Y[0]):Y[0]:_e=ae(this.options.smartypants?Se(Y[0]):Y[0]),{type:"text",raw:Y[0],text:_e}}},mt}(),ee=ue.noopTest,he=ue.edit,Pe=ue.merge,Ye={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)( [^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:ee,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/};Ye._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,Ye._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,Ye.def=he(Ye.def).replace("label",Ye._label).replace("title",Ye._title).getRegex(),Ye.bullet=/(?:[*+-]|\d{1,9}[.)])/,Ye.listItemStart=he(/^( *)(bull) */).replace("bull",Ye.bullet).getRegex(),Ye.list=he(Ye.list).replace(/bull/g,Ye.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Ye.def.source+")").getRegex(),Ye._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Ye._comment=/<!--(?!-?>)[\s\S]*?(?:-->|$)/,Ye.html=he(Ye.html,"i").replace("comment",Ye._comment).replace("tag",Ye._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ye.paragraph=he(Ye._paragraph).replace("hr",Ye.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ye._tag).getRegex(),Ye.blockquote=he(Ye.blockquote).replace("paragraph",Ye.paragraph).getRegex(),Ye.normal=Pe({},Ye),Ye.gfm=Pe({},Ye.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)\\|?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Ye.gfm.table=he(Ye.gfm.table).replace("hr",Ye.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ye._tag).getRegex(),Ye.pedantic=Pe({},Ye.normal,{html:he(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Ye._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:ee,paragraph:he(Ye.normal._paragraph).replace("hr",Ye.hr).replace("heading",` *#{1,6} *[^
]`).replace("lheading",Ye.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var it={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:ee,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:ee,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,punctuation:/^([\spunctuation])/};it._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",it.punctuation=he(it.punctuation).replace(/punctuation/g,it._punctuation).getRegex(),it.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,it.escapedEmSt=/\\\*|\\_/g,it._comment=he(Ye._comment).replace("(?:-->|$)","-->").getRegex(),it.emStrong.lDelim=he(it.emStrong.lDelim).replace(/punct/g,it._punctuation).getRegex(),it.emStrong.rDelimAst=he(it.emStrong.rDelimAst,"g").replace(/punct/g,it._punctuation).getRegex(),it.emStrong.rDelimUnd=he(it.emStrong.rDelimUnd,"g").replace(/punct/g,it._punctuation).getRegex(),it._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,it._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,it._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,it.autolink=he(it.autolink).replace("scheme",it._scheme).replace("email",it._email).getRegex(),it._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,it.tag=he(it.tag).replace("comment",it._comment).replace("attribute",it._attribute).getRegex(),it._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,it._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,it._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,it.link=he(it.link).replace("label",it._label).replace("href",it._href).replace("title",it._title).getRegex(),it.reflink=he(it.reflink).replace("label",it._label).getRegex(),it.reflinkSearch=he(it.reflinkSearch,"g").replace("reflink",it.reflink).replace("nolink",it.nolink).getRegex(),it.normal=Pe({},it),it.pedantic=Pe({},it.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:he(/^!?\[(label)\]\((.*?)\)/).replace("label",it._label).getRegex(),reflink:he(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",it._label).getRegex()}),it.gfm=Pe({},it.normal,{escape:he(it.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/}),it.gfm.url=he(it.gfm.url,"i").replace("email",it.gfm._extended_email).getRegex(),it.breaks=Pe({},it.gfm,{br:he(it.br).replace("{2,}","*").getRegex(),text:he(it.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()});var rt={block:Ye,inline:it},vt=$,Ft=r.exports.defaults,Ht=rt.block,ze=rt.inline,Xe=ue.repeatString;function Ze(mt){return mt.replace(/---/g,"\u2014").replace(/--/g,"\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1\u2018").replace(/'/g,"\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1\u201C").replace(/"/g,"\u201D").replace(/\.{3}/g,"\u2026")}function Ae(mt){var ut="",qe,de,Se=mt.length;for(qe=0;qe<Se;qe++)de=mt.charCodeAt(qe),Math.random()>.5&&(de="x"+de.toString(16)),ut+="&#"+de+";";return ut}var He=function(){function mt(qe){this.tokens=[],this.tokens.links=Object.create(null),this.options=qe||Ft,this.options.tokenizer=this.options.tokenizer||new vt,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};var de={block:Ht.normal,inline:ze.normal};this.options.pedantic?(de.block=Ht.pedantic,de.inline=ze.pedantic):this.options.gfm&&(de.block=Ht.gfm,this.options.breaks?de.inline=ze.breaks:de.inline=ze.gfm),this.tokenizer.rules=de}mt.lex=function(de,Se){var Y=new mt(Se);return Y.lex(de)},mt.lexInline=function(de,Se){var Y=new mt(Se);return Y.inlineTokens(de)};var ut=mt.prototype;return ut.lex=function(de){de=de.replace(/\r\n|\r/g,`
`).replace(/\t/g," "),this.blockTokens(de,this.tokens);for(var Se;Se=this.inlineQueue.shift();)this.inlineTokens(Se.src,Se.tokens);return this.tokens},ut.blockTokens=function(de,Se){var Y=this;Se===void 0&&(Se=[]),this.options.pedantic&&(de=de.replace(/^ +$/gm,""));for(var _e,ke,lt,nt;de;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Dt){return(_e=Dt.call({lexer:Y},de,Se))?(de=de.substring(_e.raw.length),Se.push(_e),!0):!1}))){if(_e=this.tokenizer.space(de)){de=de.substring(_e.raw.length),_e.type&&Se.push(_e);continue}if(_e=this.tokenizer.code(de)){de=de.substring(_e.raw.length),ke=Se[Se.length-1],ke&&(ke.type==="paragraph"||ke.type==="text")?(ke.raw+=`
`+_e.raw,ke.text+=`
`+_e.text,this.inlineQueue[this.inlineQueue.length-1].src=ke.text):Se.push(_e);continue}if(_e=this.tokenizer.fences(de)){de=de.substring(_e.raw.length),Se.push(_e);continue}if(_e=this.tokenizer.heading(de)){de=de.substring(_e.raw.length),Se.push(_e);continue}if(_e=this.tokenizer.hr(de)){de=de.substring(_e.raw.length),Se.push(_e);continue}if(_e=this.tokenizer.blockquote(de)){de=de.substring(_e.raw.length),Se.push(_e);continue}if(_e=this.tokenizer.list(de)){de=de.substring(_e.raw.length),Se.push(_e);continue}if(_e=this.tokenizer.html(de)){de=de.substring(_e.raw.length),Se.push(_e);continue}if(_e=this.tokenizer.def(de)){de=de.substring(_e.raw.length),ke=Se[Se.length-1],ke&&(ke.type==="paragraph"||ke.type==="text")?(ke.raw+=`
`+_e.raw,ke.text+=`
`+_e.raw,this.inlineQueue[this.inlineQueue.length-1].src=ke.text):this.tokens.links[_e.tag]||(this.tokens.links[_e.tag]={href:_e.href,title:_e.title});continue}if(_e=this.tokenizer.table(de)){de=de.substring(_e.raw.length),Se.push(_e);continue}if(_e=this.tokenizer.lheading(de)){de=de.substring(_e.raw.length),Se.push(_e);continue}if(lt=de,this.options.extensions&&this.options.extensions.startBlock&&function(){var Dt=1/0,Vt=de.slice(1),Mt=void 0;Y.options.extensions.startBlock.forEach(function(Jt){Mt=Jt.call({lexer:this},Vt),typeof Mt=="number"&&Mt>=0&&(Dt=Math.min(Dt,Mt))}),Dt<1/0&&Dt>=0&&(lt=de.substring(0,Dt+1))}(),this.state.top&&(_e=this.tokenizer.paragraph(lt))){ke=Se[Se.length-1],nt&&ke.type==="paragraph"?(ke.raw+=`
`+_e.raw,ke.text+=`
`+_e.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=ke.text):Se.push(_e),nt=lt.length!==de.length,de=de.substring(_e.raw.length);continue}if(_e=this.tokenizer.text(de)){de=de.substring(_e.raw.length),ke=Se[Se.length-1],ke&&ke.type==="text"?(ke.raw+=`
`+_e.raw,ke.text+=`
`+_e.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=ke.text):Se.push(_e);continue}if(de){var pt="Infinite loop on byte: "+de.charCodeAt(0);if(this.options.silent){console.error(pt);break}else throw new Error(pt)}}return this.state.top=!0,Se},ut.inline=function(de,Se){this.inlineQueue.push({src:de,tokens:Se})},ut.inlineTokens=function(de,Se){var Y=this;Se===void 0&&(Se=[]);var _e,ke,lt,nt=de,pt,Dt,Vt;if(this.tokens.links){var Mt=Object.keys(this.tokens.links);if(Mt.length>0)for(;(pt=this.tokenizer.rules.inline.reflinkSearch.exec(nt))!=null;)Mt.includes(pt[0].slice(pt[0].lastIndexOf("[")+1,-1))&&(nt=nt.slice(0,pt.index)+"["+Xe("a",pt[0].length-2)+"]"+nt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(pt=this.tokenizer.rules.inline.blockSkip.exec(nt))!=null;)nt=nt.slice(0,pt.index)+"["+Xe("a",pt[0].length-2)+"]"+nt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(pt=this.tokenizer.rules.inline.escapedEmSt.exec(nt))!=null;)nt=nt.slice(0,pt.index)+"++"+nt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;de;)if(Dt||(Vt=""),Dt=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(jt){return(_e=jt.call({lexer:Y},de,Se))?(de=de.substring(_e.raw.length),Se.push(_e),!0):!1}))){if(_e=this.tokenizer.escape(de)){de=de.substring(_e.raw.length),Se.push(_e);continue}if(_e=this.tokenizer.tag(de)){de=de.substring(_e.raw.length),ke=Se[Se.length-1],ke&&_e.type==="text"&&ke.type==="text"?(ke.raw+=_e.raw,ke.text+=_e.text):Se.push(_e);continue}if(_e=this.tokenizer.link(de)){de=de.substring(_e.raw.length),Se.push(_e);continue}if(_e=this.tokenizer.reflink(de,this.tokens.links)){de=de.substring(_e.raw.length),ke=Se[Se.length-1],ke&&_e.type==="text"&&ke.type==="text"?(ke.raw+=_e.raw,ke.text+=_e.text):Se.push(_e);continue}if(_e=this.tokenizer.emStrong(de,nt,Vt)){de=de.substring(_e.raw.length),Se.push(_e);continue}if(_e=this.tokenizer.codespan(de)){de=de.substring(_e.raw.length),Se.push(_e);continue}if(_e=this.tokenizer.br(de)){de=de.substring(_e.raw.length),Se.push(_e);continue}if(_e=this.tokenizer.del(de)){de=de.substring(_e.raw.length),Se.push(_e);continue}if(_e=this.tokenizer.autolink(de,Ae)){de=de.substring(_e.raw.length),Se.push(_e);continue}if(!this.state.inLink&&(_e=this.tokenizer.url(de,Ae))){de=de.substring(_e.raw.length),Se.push(_e);continue}if(lt=de,this.options.extensions&&this.options.extensions.startInline&&function(){var jt=1/0,ui=de.slice(1),vi=void 0;Y.options.extensions.startInline.forEach(function(Si){vi=Si.call({lexer:this},ui),typeof vi=="number"&&vi>=0&&(jt=Math.min(jt,vi))}),jt<1/0&&jt>=0&&(lt=de.substring(0,jt+1))}(),_e=this.tokenizer.inlineText(lt,Ze)){de=de.substring(_e.raw.length),_e.raw.slice(-1)!=="_"&&(Vt=_e.raw.slice(-1)),Dt=!0,ke=Se[Se.length-1],ke&&ke.type==="text"?(ke.raw+=_e.raw,ke.text+=_e.text):Se.push(_e);continue}if(de){var Jt="Infinite loop on byte: "+de.charCodeAt(0);if(this.options.silent){console.error(Jt);break}else throw new Error(Jt)}}return Se},s(mt,null,[{key:"rules",get:function(){return{block:Ht,inline:ze}}}]),mt}(),Et=r.exports.defaults,Wt=ue.cleanUrl,oi=ue.escape,ni=function(){function mt(qe){this.options=qe||Et}var ut=mt.prototype;return ut.code=function(de,Se,Y){var _e=(Se||"").match(/\S*/)[0];if(this.options.highlight){var ke=this.options.highlight(de,_e);ke!=null&&ke!==de&&(Y=!0,de=ke)}return de=de.replace(/\n$/,"")+`
`,_e?'<pre><code class="'+this.options.langPrefix+oi(_e,!0)+'">'+(Y?de:oi(de,!0))+`</code></pre>
`:"<pre><code>"+(Y?de:oi(de,!0))+`</code></pre>
`},ut.blockquote=function(de){return`<blockquote>
`+de+`</blockquote>
`},ut.html=function(de){return de},ut.heading=function(de,Se,Y,_e){return this.options.headerIds?"<h"+Se+' id="'+this.options.headerPrefix+_e.slug(Y)+'">'+de+"</h"+Se+`>
`:"<h"+Se+">"+de+"</h"+Se+`>
`},ut.hr=function(){return this.options.xhtml?`<hr/>
`:`<hr>
`},ut.list=function(de,Se,Y){var _e=Se?"ol":"ul",ke=Se&&Y!==1?' start="'+Y+'"':"";return"<"+_e+ke+`>
`+de+"</"+_e+`>
`},ut.listitem=function(de){return"<li>"+de+`</li>
`},ut.checkbox=function(de){return"<input "+(de?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "},ut.paragraph=function(de){return"<p>"+de+`</p>
`},ut.table=function(de,Se){return Se&&(Se="<tbody>"+Se+"</tbody>"),`<table>
<thead>
`+de+`</thead>
`+Se+`</table>
`},ut.tablerow=function(de){return`<tr>
`+de+`</tr>
`},ut.tablecell=function(de,Se){var Y=Se.header?"th":"td",_e=Se.align?"<"+Y+' align="'+Se.align+'">':"<"+Y+">";return _e+de+"</"+Y+`>
`},ut.strong=function(de){return"<strong>"+de+"</strong>"},ut.em=function(de){return"<em>"+de+"</em>"},ut.codespan=function(de){return"<code>"+de+"</code>"},ut.br=function(){return this.options.xhtml?"<br/>":"<br>"},ut.del=function(de){return"<del>"+de+"</del>"},ut.link=function(de,Se,Y){if(de=Wt(this.options.sanitize,this.options.baseUrl,de),de===null)return Y;var _e='<a href="'+oi(de)+'"';return Se&&(_e+=' title="'+Se+'"'),_e+=">"+Y+"</a>",_e},ut.image=function(de,Se,Y){if(de=Wt(this.options.sanitize,this.options.baseUrl,de),de===null)return Y;var _e='<img src="'+de+'" alt="'+Y+'"';return Se&&(_e+=' title="'+Se+'"'),_e+=this.options.xhtml?"/>":">",_e},ut.text=function(de){return de},mt}(),hi=function(){function mt(){}var ut=mt.prototype;return ut.strong=function(de){return de},ut.em=function(de){return de},ut.codespan=function(de){return de},ut.del=function(de){return de},ut.html=function(de){return de},ut.text=function(de){return de},ut.link=function(de,Se,Y){return""+Y},ut.image=function(de,Se,Y){return""+Y},ut.br=function(){return""},mt}(),Di=function(){function mt(){this.seen={}}var ut=mt.prototype;return ut.serialize=function(de){return de.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},ut.getNextSafeSlug=function(de,Se){var Y=de,_e=0;if(this.seen.hasOwnProperty(Y)){_e=this.seen[de];do _e++,Y=de+"-"+_e;while(this.seen.hasOwnProperty(Y))}return Se||(this.seen[de]=_e,this.seen[Y]=0),Y},ut.slug=function(de,Se){Se===void 0&&(Se={});var Y=this.serialize(de);return this.getNextSafeSlug(Y,Se.dryrun)},mt}(),Ti=ni,Ni=hi,ai=Di,Pt=r.exports.defaults,Gt=ue.unescape,st=function(){function mt(qe){this.options=qe||Pt,this.options.renderer=this.options.renderer||new Ti,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Ni,this.slugger=new ai}mt.parse=function(de,Se){var Y=new mt(Se);return Y.parse(de)},mt.parseInline=function(de,Se){var Y=new mt(Se);return Y.parseInline(de)};var ut=mt.prototype;return ut.parse=function(de,Se){Se===void 0&&(Se=!0);var Y="",_e,ke,lt,nt,pt,Dt,Vt,Mt,Jt,jt,ui,vi,Si,Oi,Ri,zi,hn,bn,qi,Rn=de.length;for(_e=0;_e<Rn;_e++){if(jt=de[_e],this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[jt.type]&&(qi=this.options.extensions.renderers[jt.type].call({parser:this},jt),qi!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(jt.type))){Y+=qi||"";continue}switch(jt.type){case"space":continue;case"hr":{Y+=this.renderer.hr();continue}case"heading":{Y+=this.renderer.heading(this.parseInline(jt.tokens),jt.depth,Gt(this.parseInline(jt.tokens,this.textRenderer)),this.slugger);continue}case"code":{Y+=this.renderer.code(jt.text,jt.lang,jt.escaped);continue}case"table":{for(Mt="",Vt="",nt=jt.header.length,ke=0;ke<nt;ke++)Vt+=this.renderer.tablecell(this.parseInline(jt.header[ke].tokens),{header:!0,align:jt.align[ke]});for(Mt+=this.renderer.tablerow(Vt),Jt="",nt=jt.rows.length,ke=0;ke<nt;ke++){for(Dt=jt.rows[ke],Vt="",pt=Dt.length,lt=0;lt<pt;lt++)Vt+=this.renderer.tablecell(this.parseInline(Dt[lt].tokens),{header:!1,align:jt.align[lt]});Jt+=this.renderer.tablerow(Vt)}Y+=this.renderer.table(Mt,Jt);continue}case"blockquote":{Jt=this.parse(jt.tokens),Y+=this.renderer.blockquote(Jt);continue}case"list":{for(ui=jt.ordered,vi=jt.start,Si=jt.loose,nt=jt.items.length,Jt="",ke=0;ke<nt;ke++)Ri=jt.items[ke],zi=Ri.checked,hn=Ri.task,Oi="",Ri.task&&(bn=this.renderer.checkbox(zi),Si?Ri.tokens.length>0&&Ri.tokens[0].type==="paragraph"?(Ri.tokens[0].text=bn+" "+Ri.tokens[0].text,Ri.tokens[0].tokens&&Ri.tokens[0].tokens.length>0&&Ri.tokens[0].tokens[0].type==="text"&&(Ri.tokens[0].tokens[0].text=bn+" "+Ri.tokens[0].tokens[0].text)):Ri.tokens.unshift({type:"text",text:bn}):Oi+=bn),Oi+=this.parse(Ri.tokens,Si),Jt+=this.renderer.listitem(Oi,hn,zi);Y+=this.renderer.list(Jt,ui,vi);continue}case"html":{Y+=this.renderer.html(jt.text);continue}case"paragraph":{Y+=this.renderer.paragraph(this.parseInline(jt.tokens));continue}case"text":{for(Jt=jt.tokens?this.parseInline(jt.tokens):jt.text;_e+1<Rn&&de[_e+1].type==="text";)jt=de[++_e],Jt+=`
`+(jt.tokens?this.parseInline(jt.tokens):jt.text);Y+=Se?this.renderer.paragraph(Jt):Jt;continue}default:{var yn='Token with "'+jt.type+'" type was not found.';if(this.options.silent){console.error(yn);return}else throw new Error(yn)}}}return Y},ut.parseInline=function(de,Se){Se=Se||this.renderer;var Y="",_e,ke,lt,nt=de.length;for(_e=0;_e<nt;_e++){if(ke=de[_e],this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[ke.type]&&(lt=this.options.extensions.renderers[ke.type].call({parser:this},ke),lt!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(ke.type))){Y+=lt||"";continue}switch(ke.type){case"escape":{Y+=Se.text(ke.text);break}case"html":{Y+=Se.html(ke.text);break}case"link":{Y+=Se.link(ke.href,ke.title,this.parseInline(ke.tokens,Se));break}case"image":{Y+=Se.image(ke.href,ke.title,ke.text);break}case"strong":{Y+=Se.strong(this.parseInline(ke.tokens,Se));break}case"em":{Y+=Se.em(this.parseInline(ke.tokens,Se));break}case"codespan":{Y+=Se.codespan(ke.text);break}case"br":{Y+=Se.br();break}case"del":{Y+=Se.del(this.parseInline(ke.tokens,Se));break}case"text":{Y+=Se.text(ke.text);break}default:{var pt='Token with "'+ke.type+'" type was not found.';if(this.options.silent){console.error(pt);return}else throw new Error(pt)}}}return Y},mt}(),gt=He,ht=st,Qe=$,$e=ni,Ie=hi,Oe=Di,Ke=ue.merge,ct=ue.checkSanitizeDeprecation,Nt=ue.escape,$t=r.exports.getDefaults,Xt=r.exports.changeDefaults,Ci=r.exports.defaults;function Zt(mt,ut,qe){if(typeof mt=="undefined"||mt===null)throw new Error("marked(): input parameter is undefined or null");if(typeof mt!="string")throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(mt)+", string expected");if(typeof ut=="function"&&(qe=ut,ut=null),ut=Ke({},Zt.defaults,ut||{}),ct(ut),qe){var de=ut.highlight,Se;try{Se=gt.lex(mt,ut)}catch(lt){return qe(lt)}var Y=function(nt){var pt;if(!nt)try{ut.walkTokens&&Zt.walkTokens(Se,ut.walkTokens),pt=ht.parse(Se,ut)}catch(Dt){nt=Dt}return ut.highlight=de,nt?qe(nt):qe(null,pt)};if(!de||de.length<3||(delete ut.highlight,!Se.length))return Y();var _e=0;Zt.walkTokens(Se,function(lt){lt.type==="code"&&(_e++,setTimeout(function(){de(lt.text,lt.lang,function(nt,pt){if(nt)return Y(nt);pt!=null&&pt!==lt.text&&(lt.text=pt,lt.escaped=!0),_e--,_e===0&&Y()})},0))}),_e===0&&Y();return}try{var ke=gt.lex(mt,ut);return ut.walkTokens&&Zt.walkTokens(ke,ut.walkTokens),ht.parse(ke,ut)}catch(lt){if(lt.message+=`
Please report this to https://github.com/markedjs/marked.`,ut.silent)return"<p>An error occurred:</p><pre>"+Nt(lt.message+"",!0)+"</pre>";throw lt}}Zt.options=Zt.setOptions=function(mt){return Ke(Zt.defaults,mt),Xt(Zt.defaults),Zt},Zt.getDefaults=$t,Zt.defaults=Ci,Zt.use=function(){for(var mt=this,ut=arguments.length,qe=new Array(ut),de=0;de<ut;de++)qe[de]=arguments[de];var Se=Ke.apply(void 0,[{}].concat(qe)),Y=Zt.defaults.extensions||{renderers:{},childTokens:{}},_e;qe.forEach(function(ke){if(ke.extensions&&(_e=!0,ke.extensions.forEach(function(nt){if(!nt.name)throw new Error("extension name required");if(nt.renderer){var pt=Y.renderers?Y.renderers[nt.name]:null;pt?Y.renderers[nt.name]=function(){for(var Dt=arguments.length,Vt=new Array(Dt),Mt=0;Mt<Dt;Mt++)Vt[Mt]=arguments[Mt];var Jt=nt.renderer.apply(this,Vt);return Jt===!1&&(Jt=pt.apply(this,Vt)),Jt}:Y.renderers[nt.name]=nt.renderer}if(nt.tokenizer){if(!nt.level||nt.level!=="block"&&nt.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");Y[nt.level]?Y[nt.level].unshift(nt.tokenizer):Y[nt.level]=[nt.tokenizer],nt.start&&(nt.level==="block"?Y.startBlock?Y.startBlock.push(nt.start):Y.startBlock=[nt.start]:nt.level==="inline"&&(Y.startInline?Y.startInline.push(nt.start):Y.startInline=[nt.start]))}nt.childTokens&&(Y.childTokens[nt.name]=nt.childTokens)})),ke.renderer&&function(){var nt=Zt.defaults.renderer||new $e,pt=function(Mt){var Jt=nt[Mt];nt[Mt]=function(){for(var jt=arguments.length,ui=new Array(jt),vi=0;vi<jt;vi++)ui[vi]=arguments[vi];var Si=ke.renderer[Mt].apply(nt,ui);return Si===!1&&(Si=Jt.apply(nt,ui)),Si}};for(var Dt in ke.renderer)pt(Dt);Se.renderer=nt}(),ke.tokenizer&&function(){var nt=Zt.defaults.tokenizer||new Qe,pt=function(Mt){var Jt=nt[Mt];nt[Mt]=function(){for(var jt=arguments.length,ui=new Array(jt),vi=0;vi<jt;vi++)ui[vi]=arguments[vi];var Si=ke.tokenizer[Mt].apply(nt,ui);return Si===!1&&(Si=Jt.apply(nt,ui)),Si}};for(var Dt in ke.tokenizer)pt(Dt);Se.tokenizer=nt}(),ke.walkTokens){var lt=Zt.defaults.walkTokens;Se.walkTokens=function(nt){ke.walkTokens.call(mt,nt),lt&&lt(nt)}}_e&&(Se.extensions=Y),Zt.setOptions(Se)})},Zt.walkTokens=function(mt,ut){for(var qe=function(){var _e=Se.value;switch(ut(_e),_e.type){case"table":{for(var ke=v(_e.header),lt;!(lt=ke()).done;){var nt=lt.value;Zt.walkTokens(nt.tokens,ut)}for(var pt=v(_e.rows),Dt;!(Dt=pt()).done;)for(var Vt=Dt.value,Mt=v(Vt),Jt;!(Jt=Mt()).done;){var jt=Jt.value;Zt.walkTokens(jt.tokens,ut)}break}case"list":{Zt.walkTokens(_e.items,ut);break}default:Zt.defaults.extensions&&Zt.defaults.extensions.childTokens&&Zt.defaults.extensions.childTokens[_e.type]?Zt.defaults.extensions.childTokens[_e.type].forEach(function(ui){Zt.walkTokens(_e[ui],ut)}):_e.tokens&&Zt.walkTokens(_e.tokens,ut)}},de=v(mt),Se;!(Se=de()).done;)qe()},Zt.parseInline=function(mt,ut){if(typeof mt=="undefined"||mt===null)throw new Error("marked.parseInline(): input parameter is undefined or null");if(typeof mt!="string")throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(mt)+", string expected");ut=Ke({},Zt.defaults,ut||{}),ct(ut);try{var qe=gt.lexInline(mt,ut);return ut.walkTokens&&Zt.walkTokens(qe,ut.walkTokens),ht.parseInline(qe,ut)}catch(de){if(de.message+=`
Please report this to https://github.com/markedjs/marked.`,ut.silent)return"<p>An error occurred:</p><pre>"+Nt(de.message+"",!0)+"</pre>";throw de}},Zt.Parser=ht,Zt.parser=ht.parse,Zt.Renderer=$e,Zt.TextRenderer=Ie,Zt.Lexer=gt,Zt.lexer=gt.lex,Zt.Tokenizer=Qe,Zt.Slugger=Oe,Zt.parse=Zt;var mi=Zt;return mi})})();var H=null,O=h.Parser,P=h.parser,D=h.Renderer,G=h.TextRenderer,I=h.Lexer,y=h.lexer,E=h.Tokenizer,p=h.Slugger,a=h.parse},96211:function(xt,Te,i){"use strict";i.d(Te,{Q:function(){return O}});var h=i(90794),H=i(4968);function O(D){let G=JSON.parse(D);return G=P(G),G}function P(D,G=0){if(!D||G>200)return D;if(typeof D=="object"){switch(D.$mid){case 1:return H.o.revive(D);case 2:return new RegExp(D.source,D.flags)}if(D instanceof h.KN||D instanceof Uint8Array)return D;if(Array.isArray(D))for(let I=0;I<D.length;++I)D[I]=P(D[I],G+1);else for(const I in D)Object.hasOwnProperty.call(D,I)&&(D[I]=P(D[I],G+1))}return D}},8473:function(xt,Te,i){"use strict";i.d(Te,{G8:function(){return w},bS:function(){return g},sA:function(){return p},vW:function(){return G}});var h=i(63224),H=i(66657),O=i(86408),P=i(9365),D=i(82983),G;(function(f){f.text="text/plain",f.binary="application/octet-stream",f.unknown="application/unknown",f.markdown="text/markdown",f.latex="text/latex"})(G||(G={}));let I=[],y=[],E=[];function p(f,v=!1){const r=a(f);I.push(r),r.userConfigured?E.push(r):y.push(r),v&&!r.userConfigured&&I.forEach(l=>{l.mime===r.mime||l.userConfigured||(r.extension&&l.extension===r.extension&&console.warn(`Overwriting extension <<${r.extension}>> to now point to mime <<${r.mime}>>`),r.filename&&l.filename===r.filename&&console.warn(`Overwriting filename <<${r.filename}>> to now point to mime <<${r.mime}>>`),r.filepattern&&l.filepattern===r.filepattern&&console.warn(`Overwriting filepattern <<${r.filepattern}>> to now point to mime <<${r.mime}>>`),r.firstline&&l.firstline===r.firstline&&console.warn(`Overwriting firstline <<${r.firstline}>> to now point to mime <<${r.mime}>>`))})}function a(f){return{id:f.id,mime:f.mime,filename:f.filename,extension:f.extension,filepattern:f.filepattern,firstline:f.firstline,userConfigured:f.userConfigured,filenameLowercase:f.filename?f.filename.toLowerCase():void 0,extensionLowercase:f.extension?f.extension.toLowerCase():void 0,filepatternLowercase:f.filepattern?(0,h.Qc)(f.filepattern.toLowerCase()):void 0,filepatternOnPath:f.filepattern?f.filepattern.indexOf(O.KR.sep)>=0:!1}}function g(f){f?(I=I.filter(v=>!v.userConfigured),E=[]):(I=[],y=[],E=[])}function w(f,v){let r;if(f)switch(f.scheme){case H.lg.file:r=f.fsPath;break;case H.lg.data:r=P.Vb.parseMetaData(f).get(P.Vb.META_DATA_LABEL);break;default:r=f.path}if(!r)return[G.unknown];r=r.toLowerCase();const l=(0,O.EZ)(r),m=s(r,l,E);if(m)return[m,G.text];const c=s(r,l,y);if(c)return[c,G.text];if(v){const b=C(v);if(b)return[b,G.text]}return[G.unknown]}function s(f,v,r){var l;let m=null,c=null,b=null;for(let L=r.length-1;L>=0;L--){const T=r[L];if(v===T.filenameLowercase){m=T;break}if(T.filepattern&&(!c||T.filepattern.length>c.filepattern.length)){const M=T.filepatternOnPath?f:v;!((l=T.filepatternLowercase)===null||l===void 0)&&l.call(T,M)&&(c=T)}T.extension&&(!b||T.extension.length>b.extension.length)&&v.endsWith(T.extensionLowercase)&&(b=T)}return m?m.mime:c?c.mime:b?b.mime:null}function C(f){if((0,D.uS)(f)&&(f=f.substr(1)),f.length>0)for(let v=I.length-1;v>=0;v--){const r=I[v];if(!r.firstline)continue;const l=f.match(r.firstline);if(l&&l.length>0)return r.mime}return null}},66657:function(xt,Te,i){"use strict";i.d(Te,{Gi:function(){return I},WX:function(){return D},lg:function(){return O}});var h=i(23345),H=i(4968),O;(function(y){y.inMemory="inmemory",y.vscode="vscode",y.internal="private",y.walkThrough="walkThrough",y.walkThroughSnippet="walkThroughSnippet",y.http="http",y.https="https",y.file="file",y.mailto="mailto",y.untitled="untitled",y.data="data",y.command="command",y.vscodeRemote="vscode-remote",y.vscodeRemoteResource="vscode-remote-resource",y.userData="vscode-userdata",y.vscodeCustomEditor="vscode-custom-editor",y.vscodeNotebook="vscode-notebook",y.vscodeNotebookCell="vscode-notebook-cell",y.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",y.vscodeNotebookCellOutput="vscode-notebook-cell-output",y.vscodeInteractive="vscode-interactive",y.vscodeInteractiveInput="vscode-interactive-input",y.vscodeSettings="vscode-settings",y.vscodeWorkspaceTrust="vscode-workspace-trust",y.vscodeTerminal="vscode-terminal",y.webviewPanel="webview-panel",y.vscodeWebview="vscode-webview",y.extension="extension",y.vscodeFileResource="vscode-file",y.tmp="tmp"})(O||(O={}));class P{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null}setPreferredWebSchema(E){this._preferredWebSchema=E}rewrite(E){if(this._delegate)return this._delegate(E);const p=E.authority;let a=this._hosts[p];a&&a.indexOf(":")!==-1&&(a=`[${a}]`);const g=this._ports[p],w=this._connectionTokens[p];let s=`path=${encodeURIComponent(E.path)}`;return typeof w=="string"&&(s+=`&tkn=${encodeURIComponent(w)}`),H.o.from({scheme:h.$L?this._preferredWebSchema:O.vscodeRemoteResource,authority:`${a}:${g}`,path:"/vscode-remote-resource",query:s})}}const D=new P;class G{asBrowserUri(E,p){const a=this.toUri(E,p);return a.scheme===O.vscodeRemote?D.rewrite(a):a.scheme===O.file&&(h.tY||typeof h.li.importScripts=="function"&&h.li.origin===`${O.vscodeFileResource}://${G.FALLBACK_AUTHORITY}`)?a.with({scheme:O.vscodeFileResource,authority:a.authority||G.FALLBACK_AUTHORITY,query:null,fragment:null}):a}toUri(E,p){return H.o.isUri(E)?E:H.o.parse(p.toUrl(E))}}G.FALLBACK_AUTHORITY="vscode-app";const I=new G},56722:function(xt,Te,i){"use strict";i.d(Te,{n:function(){return H},u:function(){return h}});function h(O,P,D){return Math.min(Math.max(O,P),D)}class H{constructor(){this._n=1,this._val=0}update(P){return this._val=this._val+(P-this._val)/this._n,this._n+=1,this}get value(){return this._val}}},80470:function(xt,Te,i){"use strict";i.d(Te,{CJ:function(){return E},I8:function(){return H},_A:function(){return O},fS:function(){return y},jB:function(){return I},rs:function(){return D}});var h=i(72999);function H(p){if(!p||typeof p!="object"||p instanceof RegExp)return p;const a=Array.isArray(p)?[]:{};return Object.keys(p).forEach(g=>{p[g]&&typeof p[g]=="object"?a[g]=H(p[g]):a[g]=p[g]}),a}function O(p){if(!p||typeof p!="object")return p;const a=[p];for(;a.length>0;){const g=a.shift();Object.freeze(g);for(const w in g)if(P.call(g,w)){const s=g[w];typeof s=="object"&&!Object.isFrozen(s)&&a.push(s)}}return p}const P=Object.prototype.hasOwnProperty;function D(p,a){return G(p,a,new Set)}function G(p,a,g){if((0,h.Jp)(p))return p;const w=a(p);if(typeof w!="undefined")return w;if((0,h.kJ)(p)){const s=[];for(const C of p)s.push(G(C,a,g));return s}if((0,h.Kn)(p)){if(g.has(p))throw new Error("Cannot clone recursive data-structure");g.add(p);const s={};for(let C in p)P.call(p,C)&&(s[C]=G(p[C],a,g));return g.delete(p),s}return p}function I(p,a,g=!0){return(0,h.Kn)(p)?((0,h.Kn)(a)&&Object.keys(a).forEach(w=>{w in p?g&&((0,h.Kn)(p[w])&&(0,h.Kn)(a[w])?I(p[w],a[w],g):p[w]=a[w]):p[w]=a[w]}),p):a}function y(p,a){if(p===a)return!0;if(p==null||a===null||a===void 0||typeof p!=typeof a||typeof p!="object"||Array.isArray(p)!==Array.isArray(a))return!1;let g,w;if(Array.isArray(p)){if(p.length!==a.length)return!1;for(g=0;g<p.length;g++)if(!y(p[g],a[g]))return!1}else{const s=[];for(w in p)s.push(w);s.sort();const C=[];for(w in a)C.push(w);if(C.sort(),!y(s,C))return!1;for(g=0;g<s.length;g++)if(!y(p[s[g]],a[s[g]]))return!1}return!0}function E(p,a,g){const w=a(p);return typeof w=="undefined"?g:w}},86408:function(xt,Te,i){"use strict";i.d(Te,{EZ:function(){return re},XX:function(){return se},DZ:function(){return De},Fv:function(){return M},KR:function(){return T},Gf:function(){return oe},DB:function(){return z},ir:function(){return J},Ku:function(){return L}});var h=i(23345),H=i(97671);let O;if(typeof h.li.vscode!="undefined"&&typeof h.li.vscode.process!="undefined"){const Z=h.li.vscode.process;O={get platform(){return Z.platform},get arch(){return Z.arch},get env(){return Z.env},cwd(){return Z.cwd()},nextTick(Q){return(0,h.xS)(Q)}}}else typeof H!="undefined"?O={get platform(){return H.platform},get arch(){return H.arch},get env(){return{NODE_ENV:"production",PUBLIC_PATH:"https://www-cdn.educoder.net/"}},cwd(){return{NODE_ENV:"production",PUBLIC_PATH:"https://www-cdn.educoder.net/"}.VSCODE_CWD||H.cwd()},nextTick(Z){return H.nextTick(Z)}}:O={get platform(){return h.ED?"win32":h.dz?"darwin":"linux"},get arch(){},nextTick(Z){return(0,h.xS)(Z)},get env(){return{}},cwd(){return"/"}};const P=O.cwd,D=O.env,G=O.platform,I=65,y=97,E=90,p=122,a=46,g=47,w=92,s=58,C=63;class f extends Error{constructor(Q,le,xe){let j;typeof le=="string"&&le.indexOf("not ")===0?(j="must not be",le=le.replace(/^not /,"")):j="must be";const R=Q.indexOf(".")!==-1?"property":"argument";let V=`The "${Q}" ${R} ${j} of type ${le}`;V+=`. Received type ${typeof xe}`,super(V),this.code="ERR_INVALID_ARG_TYPE"}}function v(Z,Q){if(typeof Z!="string")throw new f(Q,"string",Z)}function r(Z){return Z===g||Z===w}function l(Z){return Z===g}function m(Z){return Z>=I&&Z<=E||Z>=y&&Z<=p}function c(Z,Q,le,xe){let j="",R=0,V=-1,K=0,ie=0;for(let te=0;te<=Z.length;++te){if(te<Z.length)ie=Z.charCodeAt(te);else{if(xe(ie))break;ie=g}if(xe(ie)){if(!(V===te-1||K===1))if(K===2){if(j.length<2||R!==2||j.charCodeAt(j.length-1)!==a||j.charCodeAt(j.length-2)!==a){if(j.length>2){const ge=j.lastIndexOf(le);ge===-1?(j="",R=0):(j=j.slice(0,ge),R=j.length-1-j.lastIndexOf(le)),V=te,K=0;continue}else if(j.length!==0){j="",R=0,V=te,K=0;continue}}Q&&(j+=j.length>0?`${le}..`:"..",R=2)}else j.length>0?j+=`${le}${Z.slice(V+1,te)}`:j=Z.slice(V+1,te),R=te-V-1;V=te,K=0}else ie===a&&K!==-1?++K:K=-1}return j}function b(Z,Q){if(Q===null||typeof Q!="object")throw new f("pathObject","Object",Q);const le=Q.dir||Q.root,xe=Q.base||`${Q.name||""}${Q.ext||""}`;return le?le===Q.root?`${le}${xe}`:`${le}${Z}${xe}`:xe}const L={resolve(...Z){let Q="",le="",xe=!1;for(let j=Z.length-1;j>=-1;j--){let R;if(j>=0){if(R=Z[j],v(R,"path"),R.length===0)continue}else Q.length===0?R=P():(R={NODE_ENV:"production",PUBLIC_PATH:"https://www-cdn.educoder.net/"}[`=${Q}`]||P(),(R===void 0||R.slice(0,2).toLowerCase()!==Q.toLowerCase()&&R.charCodeAt(2)===w)&&(R=`${Q}\\`));const V=R.length;let K=0,ie="",te=!1;const ge=R.charCodeAt(0);if(V===1)r(ge)&&(K=1,te=!0);else if(r(ge))if(te=!0,r(R.charCodeAt(1))){let ye=2,ve=ye;for(;ye<V&&!r(R.charCodeAt(ye));)ye++;if(ye<V&&ye!==ve){const Fe=R.slice(ve,ye);for(ve=ye;ye<V&&r(R.charCodeAt(ye));)ye++;if(ye<V&&ye!==ve){for(ve=ye;ye<V&&!r(R.charCodeAt(ye));)ye++;(ye===V||ye!==ve)&&(ie=`\\\\${Fe}\\${R.slice(ve,ye)}`,K=ye)}}}else K=1;else m(ge)&&R.charCodeAt(1)===s&&(ie=R.slice(0,2),K=2,V>2&&r(R.charCodeAt(2))&&(te=!0,K=3));if(ie.length>0)if(Q.length>0){if(ie.toLowerCase()!==Q.toLowerCase())continue}else Q=ie;if(xe){if(Q.length>0)break}else if(le=`${R.slice(K)}\\${le}`,xe=te,te&&Q.length>0)break}return le=c(le,!xe,"\\",r),xe?`${Q}\\${le}`:`${Q}${le}`||"."},normalize(Z){v(Z,"path");const Q=Z.length;if(Q===0)return".";let le=0,xe,j=!1;const R=Z.charCodeAt(0);if(Q===1)return l(R)?"\\":Z;if(r(R))if(j=!0,r(Z.charCodeAt(1))){let K=2,ie=K;for(;K<Q&&!r(Z.charCodeAt(K));)K++;if(K<Q&&K!==ie){const te=Z.slice(ie,K);for(ie=K;K<Q&&r(Z.charCodeAt(K));)K++;if(K<Q&&K!==ie){for(ie=K;K<Q&&!r(Z.charCodeAt(K));)K++;if(K===Q)return`\\\\${te}\\${Z.slice(ie)}\\`;K!==ie&&(xe=`\\\\${te}\\${Z.slice(ie,K)}`,le=K)}}}else le=1;else m(R)&&Z.charCodeAt(1)===s&&(xe=Z.slice(0,2),le=2,Q>2&&r(Z.charCodeAt(2))&&(j=!0,le=3));let V=le<Q?c(Z.slice(le),!j,"\\",r):"";return V.length===0&&!j&&(V="."),V.length>0&&r(Z.charCodeAt(Q-1))&&(V+="\\"),xe===void 0?j?`\\${V}`:V:j?`${xe}\\${V}`:`${xe}${V}`},isAbsolute(Z){v(Z,"path");const Q=Z.length;if(Q===0)return!1;const le=Z.charCodeAt(0);return r(le)||Q>2&&m(le)&&Z.charCodeAt(1)===s&&r(Z.charCodeAt(2))},join(...Z){if(Z.length===0)return".";let Q,le;for(let R=0;R<Z.length;++R){const V=Z[R];v(V,"path"),V.length>0&&(Q===void 0?Q=le=V:Q+=`\\${V}`)}if(Q===void 0)return".";let xe=!0,j=0;if(typeof le=="string"&&r(le.charCodeAt(0))){++j;const R=le.length;R>1&&r(le.charCodeAt(1))&&(++j,R>2&&(r(le.charCodeAt(2))?++j:xe=!1))}if(xe){for(;j<Q.length&&r(Q.charCodeAt(j));)j++;j>=2&&(Q=`\\${Q.slice(j)}`)}return L.normalize(Q)},relative(Z,Q){if(v(Z,"from"),v(Q,"to"),Z===Q)return"";const le=L.resolve(Z),xe=L.resolve(Q);if(le===xe||(Z=le.toLowerCase(),Q=xe.toLowerCase(),Z===Q))return"";let j=0;for(;j<Z.length&&Z.charCodeAt(j)===w;)j++;let R=Z.length;for(;R-1>j&&Z.charCodeAt(R-1)===w;)R--;const V=R-j;let K=0;for(;K<Q.length&&Q.charCodeAt(K)===w;)K++;let ie=Q.length;for(;ie-1>K&&Q.charCodeAt(ie-1)===w;)ie--;const te=ie-K,ge=V<te?V:te;let ye=-1,ve=0;for(;ve<ge;ve++){const we=Z.charCodeAt(j+ve);if(we!==Q.charCodeAt(K+ve))break;we===w&&(ye=ve)}if(ve!==ge){if(ye===-1)return xe}else{if(te>ge){if(Q.charCodeAt(K+ve)===w)return xe.slice(K+ve+1);if(ve===2)return xe.slice(K+ve)}V>ge&&(Z.charCodeAt(j+ve)===w?ye=ve:ve===2&&(ye=3)),ye===-1&&(ye=0)}let Fe="";for(ve=j+ye+1;ve<=R;++ve)(ve===R||Z.charCodeAt(ve)===w)&&(Fe+=Fe.length===0?"..":"\\..");return K+=ye,Fe.length>0?`${Fe}${xe.slice(K,ie)}`:(xe.charCodeAt(K)===w&&++K,xe.slice(K,ie))},toNamespacedPath(Z){if(typeof Z!="string")return Z;if(Z.length===0)return"";const Q=L.resolve(Z);if(Q.length<=2)return Z;if(Q.charCodeAt(0)===w){if(Q.charCodeAt(1)===w){const le=Q.charCodeAt(2);if(le!==C&&le!==a)return`\\\\?\\UNC\\${Q.slice(2)}`}}else if(m(Q.charCodeAt(0))&&Q.charCodeAt(1)===s&&Q.charCodeAt(2)===w)return`\\\\?\\${Q}`;return Z},dirname(Z){v(Z,"path");const Q=Z.length;if(Q===0)return".";let le=-1,xe=0;const j=Z.charCodeAt(0);if(Q===1)return r(j)?Z:".";if(r(j)){if(le=xe=1,r(Z.charCodeAt(1))){let K=2,ie=K;for(;K<Q&&!r(Z.charCodeAt(K));)K++;if(K<Q&&K!==ie){for(ie=K;K<Q&&r(Z.charCodeAt(K));)K++;if(K<Q&&K!==ie){for(ie=K;K<Q&&!r(Z.charCodeAt(K));)K++;if(K===Q)return Z;K!==ie&&(le=xe=K+1)}}}}else m(j)&&Z.charCodeAt(1)===s&&(le=Q>2&&r(Z.charCodeAt(2))?3:2,xe=le);let R=-1,V=!0;for(let K=Q-1;K>=xe;--K)if(r(Z.charCodeAt(K))){if(!V){R=K;break}}else V=!1;if(R===-1){if(le===-1)return".";R=le}return Z.slice(0,R)},basename(Z,Q){Q!==void 0&&v(Q,"ext"),v(Z,"path");let le=0,xe=-1,j=!0,R;if(Z.length>=2&&m(Z.charCodeAt(0))&&Z.charCodeAt(1)===s&&(le=2),Q!==void 0&&Q.length>0&&Q.length<=Z.length){if(Q===Z)return"";let V=Q.length-1,K=-1;for(R=Z.length-1;R>=le;--R){const ie=Z.charCodeAt(R);if(r(ie)){if(!j){le=R+1;break}}else K===-1&&(j=!1,K=R+1),V>=0&&(ie===Q.charCodeAt(V)?--V===-1&&(xe=R):(V=-1,xe=K))}return le===xe?xe=K:xe===-1&&(xe=Z.length),Z.slice(le,xe)}for(R=Z.length-1;R>=le;--R)if(r(Z.charCodeAt(R))){if(!j){le=R+1;break}}else xe===-1&&(j=!1,xe=R+1);return xe===-1?"":Z.slice(le,xe)},extname(Z){v(Z,"path");let Q=0,le=-1,xe=0,j=-1,R=!0,V=0;Z.length>=2&&Z.charCodeAt(1)===s&&m(Z.charCodeAt(0))&&(Q=xe=2);for(let K=Z.length-1;K>=Q;--K){const ie=Z.charCodeAt(K);if(r(ie)){if(!R){xe=K+1;break}continue}j===-1&&(R=!1,j=K+1),ie===a?le===-1?le=K:V!==1&&(V=1):le!==-1&&(V=-1)}return le===-1||j===-1||V===0||V===1&&le===j-1&&le===xe+1?"":Z.slice(le,j)},format:b.bind(null,"\\"),parse(Z){v(Z,"path");const Q={root:"",dir:"",base:"",ext:"",name:""};if(Z.length===0)return Q;const le=Z.length;let xe=0,j=Z.charCodeAt(0);if(le===1)return r(j)?(Q.root=Q.dir=Z,Q):(Q.base=Q.name=Z,Q);if(r(j)){if(xe=1,r(Z.charCodeAt(1))){let ye=2,ve=ye;for(;ye<le&&!r(Z.charCodeAt(ye));)ye++;if(ye<le&&ye!==ve){for(ve=ye;ye<le&&r(Z.charCodeAt(ye));)ye++;if(ye<le&&ye!==ve){for(ve=ye;ye<le&&!r(Z.charCodeAt(ye));)ye++;ye===le?xe=ye:ye!==ve&&(xe=ye+1)}}}}else if(m(j)&&Z.charCodeAt(1)===s){if(le<=2)return Q.root=Q.dir=Z,Q;if(xe=2,r(Z.charCodeAt(2))){if(le===3)return Q.root=Q.dir=Z,Q;xe=3}}xe>0&&(Q.root=Z.slice(0,xe));let R=-1,V=xe,K=-1,ie=!0,te=Z.length-1,ge=0;for(;te>=xe;--te){if(j=Z.charCodeAt(te),r(j)){if(!ie){V=te+1;break}continue}K===-1&&(ie=!1,K=te+1),j===a?R===-1?R=te:ge!==1&&(ge=1):R!==-1&&(ge=-1)}return K!==-1&&(R===-1||ge===0||ge===1&&R===K-1&&R===V+1?Q.base=Q.name=Z.slice(V,K):(Q.name=Z.slice(V,R),Q.base=Z.slice(V,K),Q.ext=Z.slice(R,K))),V>0&&V!==xe?Q.dir=Z.slice(0,V-1):Q.dir=Q.root,Q},sep:"\\",delimiter:";",win32:null,posix:null},T={resolve(...Z){let Q="",le=!1;for(let xe=Z.length-1;xe>=-1&&!le;xe--){const j=xe>=0?Z[xe]:P();v(j,"path"),j.length!==0&&(Q=`${j}/${Q}`,le=j.charCodeAt(0)===g)}return Q=c(Q,!le,"/",l),le?`/${Q}`:Q.length>0?Q:"."},normalize(Z){if(v(Z,"path"),Z.length===0)return".";const Q=Z.charCodeAt(0)===g,le=Z.charCodeAt(Z.length-1)===g;return Z=c(Z,!Q,"/",l),Z.length===0?Q?"/":le?"./":".":(le&&(Z+="/"),Q?`/${Z}`:Z)},isAbsolute(Z){return v(Z,"path"),Z.length>0&&Z.charCodeAt(0)===g},join(...Z){if(Z.length===0)return".";let Q;for(let le=0;le<Z.length;++le){const xe=Z[le];v(xe,"path"),xe.length>0&&(Q===void 0?Q=xe:Q+=`/${xe}`)}return Q===void 0?".":T.normalize(Q)},relative(Z,Q){if(v(Z,"from"),v(Q,"to"),Z===Q||(Z=T.resolve(Z),Q=T.resolve(Q),Z===Q))return"";const le=1,xe=Z.length,j=xe-le,R=1,V=Q.length-R,K=j<V?j:V;let ie=-1,te=0;for(;te<K;te++){const ye=Z.charCodeAt(le+te);if(ye!==Q.charCodeAt(R+te))break;ye===g&&(ie=te)}if(te===K)if(V>K){if(Q.charCodeAt(R+te)===g)return Q.slice(R+te+1);if(te===0)return Q.slice(R+te)}else j>K&&(Z.charCodeAt(le+te)===g?ie=te:te===0&&(ie=0));let ge="";for(te=le+ie+1;te<=xe;++te)(te===xe||Z.charCodeAt(te)===g)&&(ge+=ge.length===0?"..":"/..");return`${ge}${Q.slice(R+ie)}`},toNamespacedPath(Z){return Z},dirname(Z){if(v(Z,"path"),Z.length===0)return".";const Q=Z.charCodeAt(0)===g;let le=-1,xe=!0;for(let j=Z.length-1;j>=1;--j)if(Z.charCodeAt(j)===g){if(!xe){le=j;break}}else xe=!1;return le===-1?Q?"/":".":Q&&le===1?"//":Z.slice(0,le)},basename(Z,Q){Q!==void 0&&v(Q,"ext"),v(Z,"path");let le=0,xe=-1,j=!0,R;if(Q!==void 0&&Q.length>0&&Q.length<=Z.length){if(Q===Z)return"";let V=Q.length-1,K=-1;for(R=Z.length-1;R>=0;--R){const ie=Z.charCodeAt(R);if(ie===g){if(!j){le=R+1;break}}else K===-1&&(j=!1,K=R+1),V>=0&&(ie===Q.charCodeAt(V)?--V===-1&&(xe=R):(V=-1,xe=K))}return le===xe?xe=K:xe===-1&&(xe=Z.length),Z.slice(le,xe)}for(R=Z.length-1;R>=0;--R)if(Z.charCodeAt(R)===g){if(!j){le=R+1;break}}else xe===-1&&(j=!1,xe=R+1);return xe===-1?"":Z.slice(le,xe)},extname(Z){v(Z,"path");let Q=-1,le=0,xe=-1,j=!0,R=0;for(let V=Z.length-1;V>=0;--V){const K=Z.charCodeAt(V);if(K===g){if(!j){le=V+1;break}continue}xe===-1&&(j=!1,xe=V+1),K===a?Q===-1?Q=V:R!==1&&(R=1):Q!==-1&&(R=-1)}return Q===-1||xe===-1||R===0||R===1&&Q===xe-1&&Q===le+1?"":Z.slice(Q,xe)},format:b.bind(null,"/"),parse(Z){v(Z,"path");const Q={root:"",dir:"",base:"",ext:"",name:""};if(Z.length===0)return Q;const le=Z.charCodeAt(0)===g;let xe;le?(Q.root="/",xe=1):xe=0;let j=-1,R=0,V=-1,K=!0,ie=Z.length-1,te=0;for(;ie>=xe;--ie){const ge=Z.charCodeAt(ie);if(ge===g){if(!K){R=ie+1;break}continue}V===-1&&(K=!1,V=ie+1),ge===a?j===-1?j=ie:te!==1&&(te=1):j!==-1&&(te=-1)}if(V!==-1){const ge=R===0&&le?1:R;j===-1||te===0||te===1&&j===V-1&&j===R+1?Q.base=Q.name=Z.slice(ge,V):(Q.name=Z.slice(ge,j),Q.base=Z.slice(ge,V),Q.ext=Z.slice(j,V))}return R>0?Q.dir=Z.slice(0,R-1):le&&(Q.dir="/"),Q},sep:"/",delimiter:":",win32:null,posix:null};T.win32=L.win32=L,T.posix=L.posix=T;const M=G==="win32"?L.normalize:T.normalize,z=G==="win32"?L.resolve:T.resolve,oe=G==="win32"?L.relative:T.relative,se=G==="win32"?L.dirname:T.dirname,re=G==="win32"?L.basename:T.basename,De=G==="win32"?L.extname:T.extname,J=G==="win32"?L.sep:T.sep},17981:function(xt,Te,i){"use strict";i.d(Te,{e:function(){return h}});var h;(function(H){function O(I,y){if(I.start>=y.end||y.start>=I.end)return{start:0,end:0};const E=Math.max(I.start,y.start),p=Math.min(I.end,y.end);return p-E<=0?{start:0,end:0}:{start:E,end:p}}H.intersect=O;function P(I){return I.end-I.start<=0}H.isEmpty=P;function D(I,y){return!P(O(I,y))}H.intersects=D;function G(I,y){const E=[],p={start:I.start,end:Math.min(y.start,I.end)},a={start:Math.max(y.end,I.start),end:I.end};return P(p)||E.push(p),P(a)||E.push(a),E}H.relativeComplement=G})(h||(h={}))},9365:function(xt,Te,i){"use strict";i.d(Te,{AH:function(){return s},EZ:function(){return a},Hx:function(){return p},SF:function(){return y},Vb:function(){return f},Vo:function(){return w},XX:function(){return g},Xy:function(){return E},i3:function(){return C},z_:function(){return G}});var h=i(57637),H=i(66657),O=i(86408),P=i(82983),D=i(4968);function G(v){return(0,D.q)(v,!0)}class I{constructor(r){this._ignorePathCasing=r}compare(r,l,m=!1){return r===l?0:(0,P.qu)(this.getComparisonKey(r,m),this.getComparisonKey(l,m))}isEqual(r,l,m=!1){return r===l?!0:!r||!l?!1:this.getComparisonKey(r,m)===this.getComparisonKey(l,m)}getComparisonKey(r,l=!1){return r.with({path:this._ignorePathCasing(r)?r.path.toLowerCase():void 0,fragment:l?null:void 0}).toString()}joinPath(r,...l){return D.o.joinPath(r,...l)}basenameOrAuthority(r){return a(r)||r.authority}basename(r){return O.KR.basename(r.path)}dirname(r){if(r.path.length===0)return r;let l;return r.scheme===H.lg.file?l=D.o.file(O.XX(G(r))).path:(l=O.KR.dirname(r.path),r.authority&&l.length&&l.charCodeAt(0)!==47&&(console.error(`dirname("${r.toString})) resulted in a relative path`),l="/")),r.with({path:l})}normalizePath(r){if(!r.path.length)return r;let l;return r.scheme===H.lg.file?l=D.o.file(O.Fv(G(r))).path:l=O.KR.normalize(r.path),r.with({path:l})}resolvePath(r,l){if(r.scheme===H.lg.file){const m=D.o.file(O.DB(G(r),l));return r.with({authority:m.authority,path:m.path})}return l=h.fn(l),r.with({path:O.KR.resolve(r.path,l)})}}const y=new I(()=>!1),E=y.isEqual.bind(y),p=y.basenameOrAuthority.bind(y),a=y.basename.bind(y),g=y.dirname.bind(y),w=y.joinPath.bind(y),s=y.normalizePath.bind(y),C=y.resolvePath.bind(y);var f;(function(v){v.META_DATA_LABEL="label",v.META_DATA_DESCRIPTION="description",v.META_DATA_SIZE="size",v.META_DATA_MIME="mime";function r(l){const m=new Map;l.path.substring(l.path.indexOf(";")+1,l.path.lastIndexOf(";")).split(";").forEach(L=>{const[T,M]=L.split(":");T&&M&&m.set(T,M)});const b=l.path.substring(0,l.path.indexOf(";"));return b&&m.set(v.META_DATA_MIME,b),m}v.parseMetaData=r})(f||(f={}))},28962:function(xt,Te,i){"use strict";i.d(Te,{Rm:function(){return P}});var h=i(4348),H=i(69323);class O{constructor(g,w,s,C,f,v){this._scrollStateBrand=void 0,g=g|0,w=w|0,s=s|0,C=C|0,f=f|0,v=v|0,this.rawScrollLeft=s,this.rawScrollTop=v,g<0&&(g=0),s+g>w&&(s=w-g),s<0&&(s=0),C<0&&(C=0),v+C>f&&(v=f-C),v<0&&(v=0),this.width=g,this.scrollWidth=w,this.scrollLeft=s,this.height=C,this.scrollHeight=f,this.scrollTop=v}equals(g){return this.rawScrollLeft===g.rawScrollLeft&&this.rawScrollTop===g.rawScrollTop&&this.width===g.width&&this.scrollWidth===g.scrollWidth&&this.scrollLeft===g.scrollLeft&&this.height===g.height&&this.scrollHeight===g.scrollHeight&&this.scrollTop===g.scrollTop}withScrollDimensions(g,w){return new O(typeof g.width!="undefined"?g.width:this.width,typeof g.scrollWidth!="undefined"?g.scrollWidth:this.scrollWidth,w?this.rawScrollLeft:this.scrollLeft,typeof g.height!="undefined"?g.height:this.height,typeof g.scrollHeight!="undefined"?g.scrollHeight:this.scrollHeight,w?this.rawScrollTop:this.scrollTop)}withScrollPosition(g){return new O(this.width,this.scrollWidth,typeof g.scrollLeft!="undefined"?g.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof g.scrollTop!="undefined"?g.scrollTop:this.rawScrollTop)}createScrollEvent(g,w){const s=this.width!==g.width,C=this.scrollWidth!==g.scrollWidth,f=this.scrollLeft!==g.scrollLeft,v=this.height!==g.height,r=this.scrollHeight!==g.scrollHeight,l=this.scrollTop!==g.scrollTop;return{inSmoothScrolling:w,oldWidth:g.width,oldScrollWidth:g.scrollWidth,oldScrollLeft:g.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:g.height,oldScrollHeight:g.scrollHeight,oldScrollTop:g.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:s,scrollWidthChanged:C,scrollLeftChanged:f,heightChanged:v,scrollHeightChanged:r,scrollTopChanged:l}}}class P extends H.JT{constructor(g,w){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new h.Q5),this.onScroll=this._onScroll.event,this._smoothScrollDuration=g,this._scheduleAtNextAnimationFrame=w,this._state=new O(0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(g){this._smoothScrollDuration=g}validateScrollPosition(g){return this._state.withScrollPosition(g)}getScrollDimensions(){return this._state}setScrollDimensions(g,w){const s=this._state.withScrollDimensions(g,w);this._setState(s,!!this._smoothScrolling),this._smoothScrolling&&this._smoothScrolling.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(g){const w=this._state.withScrollPosition(g);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(w,!1)}setScrollPositionSmooth(g,w){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(g);if(this._smoothScrolling){g={scrollLeft:typeof g.scrollLeft=="undefined"?this._smoothScrolling.to.scrollLeft:g.scrollLeft,scrollTop:typeof g.scrollTop=="undefined"?this._smoothScrolling.to.scrollTop:g.scrollTop};const s=this._state.withScrollPosition(g);if(this._smoothScrolling.to.scrollLeft===s.scrollLeft&&this._smoothScrolling.to.scrollTop===s.scrollTop)return;let C;w?C=new y(this._smoothScrolling.from,s,this._smoothScrolling.startTime,this._smoothScrolling.duration):C=this._smoothScrolling.combine(this._state,s,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=C}else{const s=this._state.withScrollPosition(g);this._smoothScrolling=y.start(this._state,s,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}_performSmoothScrolling(){if(!this._smoothScrolling)return;const g=this._smoothScrolling.tick(),w=this._state.withScrollPosition(g);if(this._setState(w,!0),!!this._smoothScrolling){if(g.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(g,w){const s=this._state;s.equals(g)||(this._state=g,this._onScroll.fire(this._state.createScrollEvent(s,w)))}}class D{constructor(g,w,s){this.scrollLeft=g,this.scrollTop=w,this.isDone=s}}function G(a,g){const w=g-a;return function(s){return a+w*p(s)}}function I(a,g,w){return function(s){return s<w?a(s/w):g((s-w)/(1-w))}}class y{constructor(g,w,s,C){this.from=g,this.to=w,this.duration=C,this.startTime=s,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(g,w,s){if(Math.abs(g-w)>2.5*s){let f,v;return g<w?(f=g+.75*s,v=w-.75*s):(f=g-.75*s,v=w+.75*s),I(G(g,f),G(v,w),.33)}return G(g,w)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(g){this.to=g.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(g){const w=(g-this.startTime)/this.duration;if(w<1){const s=this.scrollLeft(w),C=this.scrollTop(w);return new D(s,C,!1)}return new D(this.to.scrollLeft,this.to.scrollTop,!0)}combine(g,w,s){return y.start(g,w,s)}static start(g,w,s){s=s+10;const C=Date.now()-10;return new y(g,w,C,s)}}function E(a){return Math.pow(a,3)}function p(a){return 1-E(1-a)}},37254:function(xt,Te,i){"use strict";var h=i(82983),H;(function(O){O[O.Ignore=0]="Ignore",O[O.Info=1]="Info",O[O.Warning=2]="Warning",O[O.Error=3]="Error"})(H||(H={})),function(O){const P="error",D="warning",G="warn",I="info",y="ignore";function E(a){return a?h.qq(P,a)?O.Error:h.qq(D,a)||h.qq(G,a)?O.Warning:h.qq(I,a)?O.Info:O.Ignore:O.Ignore}O.fromValue=E;function p(a){switch(a){case O.Error:return P;case O.Warning:return D;case O.Info:return I;default:return y}}O.toString=p}(H||(H={})),Te.Z=H},41301:function(xt,Te,i){"use strict";i.d(Te,{A:function(){return H},K:function(){return h}});function h(O){return O<0?0:O>255?255:O|0}function H(O){return O<0?0:O>4294967295?4294967295:O|0}},4968:function(xt,Te,i){"use strict";i.d(Te,{o:function(){return g},q:function(){return r}});var h=i(86408),H=i(23345);const O=/^\w[\w\d+.-]*$/,P=/^\//,D=/^\/\//;function G(L,T){if(!L.scheme&&T)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${L.authority}", path: "${L.path}", query: "${L.query}", fragment: "${L.fragment}"}`);if(L.scheme&&!O.test(L.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(L.path){if(L.authority){if(!P.test(L.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(D.test(L.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function I(L,T){return!L&&!T?"file":L}function y(L,T){switch(L){case"https":case"http":case"file":T?T[0]!==p&&(T=p+T):T=p;break}return T}const E="",p="/",a=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class g{constructor(T,M,z,oe,se,re=!1){typeof T=="object"?(this.scheme=T.scheme||E,this.authority=T.authority||E,this.path=T.path||E,this.query=T.query||E,this.fragment=T.fragment||E):(this.scheme=I(T,re),this.authority=M||E,this.path=y(this.scheme,z||E),this.query=oe||E,this.fragment=se||E,G(this,re))}static isUri(T){return T instanceof g?!0:T?typeof T.authority=="string"&&typeof T.fragment=="string"&&typeof T.path=="string"&&typeof T.query=="string"&&typeof T.scheme=="string"&&typeof T.fsPath=="string"&&typeof T.with=="function"&&typeof T.toString=="function":!1}get fsPath(){return r(this,!1)}with(T){if(!T)return this;let{scheme:M,authority:z,path:oe,query:se,fragment:re}=T;return M===void 0?M=this.scheme:M===null&&(M=E),z===void 0?z=this.authority:z===null&&(z=E),oe===void 0?oe=this.path:oe===null&&(oe=E),se===void 0?se=this.query:se===null&&(se=E),re===void 0?re=this.fragment:re===null&&(re=E),M===this.scheme&&z===this.authority&&oe===this.path&&se===this.query&&re===this.fragment?this:new s(M,z,oe,se,re)}static parse(T,M=!1){const z=a.exec(T);return z?new s(z[2]||E,b(z[4]||E),b(z[5]||E),b(z[7]||E),b(z[9]||E),M):new s(E,E,E,E,E)}static file(T){let M=E;if(H.ED&&(T=T.replace(/\\/g,p)),T[0]===p&&T[1]===p){const z=T.indexOf(p,2);z===-1?(M=T.substring(2),T=p):(M=T.substring(2,z),T=T.substring(z)||p)}return new s("file",M,T,E,E)}static from(T){const M=new s(T.scheme,T.authority,T.path,T.query,T.fragment);return G(M,!0),M}static joinPath(T,...M){if(!T.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let z;return H.ED&&T.scheme==="file"?z=g.file(h.Ku.join(r(T,!0),...M)).path:z=h.KR.join(T.path,...M),T.with({path:z})}toString(T=!1){return l(this,T)}toJSON(){return this}static revive(T){if(T){if(T instanceof g)return T;{const M=new s(T);return M._formatted=T.external,M._fsPath=T._sep===w?T.fsPath:null,M}}else return T}}const w=H.ED?1:void 0;class s extends g{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=r(this,!1)),this._fsPath}toString(T=!1){return T?l(this,!0):(this._formatted||(this._formatted=l(this,!1)),this._formatted)}toJSON(){const T={$mid:1};return this._fsPath&&(T.fsPath=this._fsPath,T._sep=w),this._formatted&&(T.external=this._formatted),this.path&&(T.path=this.path),this.scheme&&(T.scheme=this.scheme),this.authority&&(T.authority=this.authority),this.query&&(T.query=this.query),this.fragment&&(T.fragment=this.fragment),T}}const C={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function f(L,T){let M,z=-1;for(let oe=0;oe<L.length;oe++){const se=L.charCodeAt(oe);if(se>=97&&se<=122||se>=65&&se<=90||se>=48&&se<=57||se===45||se===46||se===95||se===126||T&&se===47)z!==-1&&(M+=encodeURIComponent(L.substring(z,oe)),z=-1),M!==void 0&&(M+=L.charAt(oe));else{M===void 0&&(M=L.substr(0,oe));const re=C[se];re!==void 0?(z!==-1&&(M+=encodeURIComponent(L.substring(z,oe)),z=-1),M+=re):z===-1&&(z=oe)}}return z!==-1&&(M+=encodeURIComponent(L.substring(z))),M!==void 0?M:L}function v(L){let T;for(let M=0;M<L.length;M++){const z=L.charCodeAt(M);z===35||z===63?(T===void 0&&(T=L.substr(0,M)),T+=C[z]):T!==void 0&&(T+=L[M])}return T!==void 0?T:L}function r(L,T){let M;return L.authority&&L.path.length>1&&L.scheme==="file"?M=`//${L.authority}${L.path}`:L.path.charCodeAt(0)===47&&(L.path.charCodeAt(1)>=65&&L.path.charCodeAt(1)<=90||L.path.charCodeAt(1)>=97&&L.path.charCodeAt(1)<=122)&&L.path.charCodeAt(2)===58?T?M=L.path.substr(1):M=L.path[1].toLowerCase()+L.path.substr(2):M=L.path,H.ED&&(M=M.replace(/\//g,"\\")),M}function l(L,T){const M=T?v:f;let z="",{scheme:oe,authority:se,path:re,query:De,fragment:J}=L;if(oe&&(z+=oe,z+=":"),(se||oe==="file")&&(z+=p,z+=p),se){let Z=se.indexOf("@");if(Z!==-1){const Q=se.substr(0,Z);se=se.substr(Z+1),Z=Q.indexOf(":"),Z===-1?z+=M(Q,!1):(z+=M(Q.substr(0,Z),!1),z+=":",z+=M(Q.substr(Z+1),!1)),z+="@"}se=se.toLowerCase(),Z=se.indexOf(":"),Z===-1?z+=M(se,!1):(z+=M(se.substr(0,Z),!1),z+=se.substr(Z))}if(re){if(re.length>=3&&re.charCodeAt(0)===47&&re.charCodeAt(2)===58){const Z=re.charCodeAt(1);Z>=65&&Z<=90&&(re=`/${String.fromCharCode(Z+32)}:${re.substr(3)}`)}else if(re.length>=2&&re.charCodeAt(1)===58){const Z=re.charCodeAt(0);Z>=65&&Z<=90&&(re=`${String.fromCharCode(Z+32)}:${re.substr(2)}`)}z+=M(re,!0)}return De&&(z+="?",z+=M(De,!1)),J&&(z+="#",z+=T?J:f(J,!1)),z}function m(L){try{return decodeURIComponent(L)}catch(T){return L.length>3?L.substr(0,3)+m(L.substr(3)):L}}const c=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function b(L){return L.match(c)?L.replace(c,T=>m(T)):L}},29711:function(xt,Te,i){"use strict";i.d(Te,{Jq:function(){return H},X5:function(){return h},jG:function(){return O}});const h={ctrlCmd:!1,alt:!1};var H;(function(P){P[P.Blur=1]="Blur",P[P.Gesture=2]="Gesture",P[P.Other=3]="Other"})(H||(H={}));var O;(function(P){P[P.NONE=0]="NONE",P[P.FIRST=1]="FIRST",P[P.SECOND=2]="SECOND",P[P.LAST=3]="LAST"})(O||(O={}))},98909:function(xt,Te,i){"use strict";i.d(Te,{H:function(){return G}});var h=i(5359),H={},O={},P=function(){function I(y){var E=this;this._languageId=y,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise(function(p,a){E._lazyLoadPromiseResolve=p,E._lazyLoadPromiseReject=a})}return I.getOrCreate=function(y){return O[y]||(O[y]=new I(y)),O[y]},I.prototype.whenLoaded=function(){return this._lazyLoadPromise},I.prototype.load=function(){var y=this;return this._loadingTriggered||(this._loadingTriggered=!0,H[this._languageId].loader().then(function(E){return y._lazyLoadPromiseResolve(E)},function(E){return y._lazyLoadPromiseReject(E)})),this._lazyLoadPromise},I}();function D(I){return P.getOrCreate(I).load()}function G(I){var y=I.id;H[y]=I,h.Mj.register(I);var E=P.getOrCreate(y);h.Mj.setMonarchTokensProvider(y,E.whenLoaded().then(function(p){return p.language})),h.Mj.onLanguage(y,function(){E.load().then(function(p){h.Mj.setLanguageConfiguration(y,p.conf)})})}},11499:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:function(){return i.e(5434).then(i.bind(i,5434))}})},72773:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:function(){return i.e(2594).then(i.bind(i,92594))}})},30219:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:function(){return i.e(7964).then(i.bind(i,87964))}})},10755:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:function(){return i.e(9895).then(i.bind(i,29895))}})},74121:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:function(){return i.e(2969).then(i.bind(i,72969))}})},77973:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:function(){return i.e(9928).then(i.bind(i,9928))}})},27246:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:function(){return i.e(1274).then(i.bind(i,91274))}})},82961:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:function(){return i.e(9260).then(i.bind(i,89930))}}),(0,h.H)({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:function(){return i.e(9260).then(i.bind(i,89930))}})},19959:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:function(){return i.e(7084).then(i.bind(i,77084))}})},23347:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"csp",extensions:[],aliases:["CSP","csp"],loader:function(){return i.e(7686).then(i.bind(i,47686))}})},17323:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:function(){return i.e(8920).then(i.bind(i,28920))}})},90130:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:function(){return i.e(7156).then(i.bind(i,67156))}})},5359:function(xt,Te,i){"use strict";i.d(Te,{Mj:function(){return h.languages}});var h=i(2550)},72185:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:function(){return i.e(5354).then(i.bind(i,35354))}})},40882:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"go",extensions:[".go"],aliases:["Go"],loader:function(){return i.e(5764).then(i.bind(i,85764))}})},14349:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:function(){return i.e(3805).then(i.bind(i,33805))}})},10715:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:function(){return i.e(671).then(i.bind(i,70671))}})},88756:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:function(){return i.e(9559).then(i.bind(i,29559))}})},30141:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:function(){return i.e(3550).then(i.bind(i,53550))}})},44115:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:function(){return i.e(4850).then(i.bind(i,34850))}})},65588:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"javascript",extensions:[".js",".es6",".jsx",".mjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:function(){return i.e(9950).then(i.bind(i,39950))}})},83135:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"kotlin",extensions:[".kt"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:function(){return i.e(9968).then(i.bind(i,29968))}})},91067:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:function(){return i.e(6047).then(i.bind(i,58271))}})},63886:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:function(){return i.e(4685).then(i.bind(i,4685))}})},44865:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:function(){return i.e(1154).then(i.bind(i,31154))}})},41495:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"mips",extensions:[".s"],aliases:["MIPS","MIPS-V"],mimetypes:["text/x-mips","text/mips","text/plaintext"],loader:function(){return i.e(3198).then(i.bind(i,63198))}})},12076:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:function(){return i.e(7365).then(i.bind(i,57365))}})},38516:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:function(){return i.e(8776).then(i.bind(i,48776))}})},18504:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:function(){return i.e(4797).then(i.bind(i,24797))}})},28593:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:function(){return i.e(9554).then(i.bind(i,89554))}})},43069:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:function(){return i.e(2837).then(i.bind(i,2837))}})},50185:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"perl",extensions:[".pl"],aliases:["Perl","pl"],loader:function(){return i.e(8737).then(i.bind(i,78737))}})},11745:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:function(){return i.e(8089).then(i.bind(i,28089))}})},96025:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:function(){return i.e(4628).then(i.bind(i,24628))}})},85713:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:function(){return i.e(5876).then(i.bind(i,65876))}})},98836:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:function(){return i.e(6045).then(i.bind(i,86045))}})},18625:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:function(){return i.e(2011).then(i.bind(i,72011))}})},25167:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:function(){return i.e(316).then(i.bind(i,90316))}})},5512:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:function(){return i.e(2249).then(i.bind(i,2249))}})},59066:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:function(){return i.e(8842).then(i.bind(i,68842))}})},73363:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:function(){return i.e(8898).then(i.bind(i,18898))}})},5769:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"redis",extensions:[".redis"],aliases:["redis"],loader:function(){return i.e(8350).then(i.bind(i,18350))}})},95630:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:function(){return i.e(4790).then(i.bind(i,34790))}})},12189:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:function(){return i.e(3697).then(i.bind(i,53697))}})},78605:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:function(){return i.e(8561).then(i.bind(i,28561))}})},17728:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:function(){return i.e(6126).then(i.bind(i,26126))}})},94503:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:function(){return i.e(1144).then(i.bind(i,51144))}})},35550:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"scala",extensions:[".scala",".sc",".sbt"],aliases:["Scala","scala","SBT","Sbt","sbt","Dotty","dotty"],mimetypes:["text/x-scala-source","text/x-scala","text/x-sbt","text/x-dotty"],loader:function(){return i.e(3777).then(i.bind(i,53777))}})},66857:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:function(){return i.e(4354).then(i.bind(i,44354))}})},38341:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:function(){return i.e(5060).then(i.bind(i,35060))}})},61010:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:function(){return i.e(7591).then(i.bind(i,97591))}})},1099:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:function(){return i.e(4360).then(i.bind(i,44360))}})},49478:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:function(){return i.e(3885).then(i.bind(i,3885))}})},32985:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:function(){return i.e(354).then(i.bind(i,10354))}})},72088:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib"],aliases:["StructuredText","scl","stl"],loader:function(){return i.e(6378).then(i.bind(i,6378))}})},69746:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:function(){return i.e(5416).then(i.bind(i,35416))}})},94912:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:function(){return i.e(9104).then(i.bind(i,99104))}})},28464:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:function(){return i.e(2538).then(i.bind(i,58820))}})},24571:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"typescript",extensions:[".ts",".tsx"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:function(){return i.e(5321).then(i.bind(i,75321))}})},77777:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:function(){return i.e(8161).then(i.bind(i,28161))}})},39393:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"xml",extensions:[".xml",".dtd",".ascx",".csproj",".config",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xsl"],firstLine:"(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)",aliases:["XML","xml"],mimetypes:["text/xml","application/xml","application/xaml+xml","application/xml-dtd"],loader:function(){return i.e(1462).then(i.bind(i,91462))}})},81147:function(xt,Te,i){"use strict";i.r(Te);var h=i(98909);(0,h.H)({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:function(){return i.e(5494).then(i.bind(i,85494))}})},84571:function(xt,Te,i){"use strict";i.d(Te,{V:function(){return C},P:function(){return w}});var h=i(87783),H=i(4348),O=i(69323),P=i(23345),D=i(97199);class G{constructor(v,r){this.chr=v,this.type=r,this.width=0}fulfill(v){this.width=v}}class I{constructor(v,r){this._bareFontInfo=v,this._requests=r,this._container=null,this._testElements=null}read(){this._createDomElements(),document.body.appendChild(this._container),this._readFromDomElements(),document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const v=this._bareFontInfo.getMassagedFontFamily(h.G6?D.hL.fontFamily:null),r=document.createElement("div");r.style.position="absolute",r.style.top="-50000px",r.style.width="50000px";const l=document.createElement("div");l.style.fontFamily=v,l.style.fontWeight=this._bareFontInfo.fontWeight,l.style.fontSize=this._bareFontInfo.fontSize+"px",l.style.fontFeatureSettings=this._bareFontInfo.fontFeatureSettings,l.style.lineHeight=this._bareFontInfo.lineHeight+"px",l.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",r.appendChild(l);const m=document.createElement("div");m.style.fontFamily=v,m.style.fontWeight="bold",m.style.fontSize=this._bareFontInfo.fontSize+"px",m.style.fontFeatureSettings=this._bareFontInfo.fontFeatureSettings,m.style.lineHeight=this._bareFontInfo.lineHeight+"px",m.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",r.appendChild(m);const c=document.createElement("div");c.style.fontFamily=v,c.style.fontWeight=this._bareFontInfo.fontWeight,c.style.fontSize=this._bareFontInfo.fontSize+"px",c.style.fontFeatureSettings=this._bareFontInfo.fontFeatureSettings,c.style.lineHeight=this._bareFontInfo.lineHeight+"px",c.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",c.style.fontStyle="italic",r.appendChild(c);const b=[];for(const L of this._requests){let T;L.type===0&&(T=l),L.type===2&&(T=m),L.type===1&&(T=c),T.appendChild(document.createElement("br"));const M=document.createElement("span");I._render(M,L),T.appendChild(M),b.push(M)}this._container=r,this._testElements=b}static _render(v,r){if(r.chr===" "){let l="\xA0";for(let m=0;m<8;m++)l+=l;v.innerText=l}else{let l=r.chr;for(let m=0;m<8;m++)l+=l;v.textContent=l}}_readFromDomElements(){for(let v=0,r=this._requests.length;v<r;v++){const l=this._requests[v],m=this._testElements[v];l.fulfill(m.offsetWidth/256)}}}function y(f,v){new I(f,v).read()}var E=i(34002),p=i(9729),a=i(62635);class g{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(v){const r=v.getId();return!!this._values[r]}get(v){const r=v.getId();return this._values[r]}put(v,r){const l=v.getId();this._keys[l]=v,this._values[l]=r}remove(v){const r=v.getId();delete this._keys[r],delete this._values[r]}getValues(){return Object.keys(this._keys).map(v=>this._values[v])}}function w(){s.INSTANCE.clearCache()}class s extends O.JT{constructor(){super(),this._onDidChange=this._register(new H.Q5),this.onDidChange=this._onDidChange.event,this._cache=new g,this._evictUntrustedReadingsTimeout=-1}dispose(){this._evictUntrustedReadingsTimeout!==-1&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearCache(){this._cache=new g,this._onDidChange.fire()}_writeToCache(v,r){this._cache.put(v,r),!r.isTrusted&&this._evictUntrustedReadingsTimeout===-1&&(this._evictUntrustedReadingsTimeout=setTimeout(()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings()},5e3))}_evictUntrustedReadings(){const v=this._cache.getValues();let r=!1;for(const l of v)l.isTrusted||(r=!0,this._cache.remove(l));r&&this._onDidChange.fire()}readConfiguration(v){if(!this._cache.has(v)){let r=s._actualReadConfiguration(v);(r.typicalHalfwidthCharacterWidth<=2||r.typicalFullwidthCharacterWidth<=2||r.spaceWidth<=2||r.maxDigitWidth<=2)&&(r=new a.pR({zoomLevel:h.px(),pixelRatio:h.mX(),fontFamily:r.fontFamily,fontWeight:r.fontWeight,fontSize:r.fontSize,fontFeatureSettings:r.fontFeatureSettings,lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,isMonospace:r.isMonospace,typicalHalfwidthCharacterWidth:Math.max(r.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(r.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:r.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(r.spaceWidth,5),middotWidth:Math.max(r.middotWidth,5),wsmiddotWidth:Math.max(r.wsmiddotWidth,5),maxDigitWidth:Math.max(r.maxDigitWidth,5)},!1)),this._writeToCache(v,r)}return this._cache.get(v)}static createRequest(v,r,l,m){const c=new G(v,r);return l.push(c),m&&m.push(c),c}static _actualReadConfiguration(v){const r=[],l=[],m=this.createRequest("n",0,r,l),c=this.createRequest("\uFF4D",0,r,null),b=this.createRequest(" ",0,r,l),L=this.createRequest("0",0,r,l),T=this.createRequest("1",0,r,l),M=this.createRequest("2",0,r,l),z=this.createRequest("3",0,r,l),oe=this.createRequest("4",0,r,l),se=this.createRequest("5",0,r,l),re=this.createRequest("6",0,r,l),De=this.createRequest("7",0,r,l),J=this.createRequest("8",0,r,l),Z=this.createRequest("9",0,r,l),Q=this.createRequest("\u2192",0,r,l),le=this.createRequest("\uFFEB",0,r,null),xe=this.createRequest("\xB7",0,r,l),j=this.createRequest("\u2E31",0,r,null),R="|/-_ilm%";for(let ye=0,ve=R.length;ye<ve;ye++)this.createRequest(R.charAt(ye),0,r,l),this.createRequest(R.charAt(ye),1,r,l),this.createRequest(R.charAt(ye),2,r,l);y(v,r);const V=Math.max(L.width,T.width,M.width,z.width,oe.width,se.width,re.width,De.width,J.width,Z.width);let K=v.fontFeatureSettings===D.n0.OFF;const ie=l[0].width;for(let ye=1,ve=l.length;K&&ye<ve;ye++){const Fe=ie-l[ye].width;if(Fe<-.001||Fe>.001){K=!1;break}}let te=!0;K&&le.width!==ie&&(te=!1),le.width>Q.width&&(te=!1);const ge=h.WP()>2e3;return new a.pR({zoomLevel:h.px(),pixelRatio:h.mX(),fontFamily:v.fontFamily,fontWeight:v.fontWeight,fontSize:v.fontSize,fontFeatureSettings:v.fontFeatureSettings,lineHeight:v.lineHeight,letterSpacing:v.letterSpacing,isMonospace:K,typicalHalfwidthCharacterWidth:m.width,typicalFullwidthCharacterWidth:c.width,canUseHalfwidthRightwardsArrow:te,spaceWidth:b.width,middotWidth:xe.width,wsmiddotWidth:j.width,maxDigitWidth:V},ge)}}s.INSTANCE=new s;class C extends p.fv{constructor(v,r,l=null,m){super(v,r),this.accessibilityService=m,this._elementSizeObserver=this._register(new E.I(l,r.dimension,()=>this._recomputeOptions())),this._register(s.INSTANCE.onDidChange(()=>this._recomputeOptions())),this._validatedOptions.get(10)&&this._elementSizeObserver.startObserving(),this._register(h.fX(c=>this._recomputeOptions())),this._register(this.accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions())),this._recomputeOptions()}static applyFontInfoSlow(v,r){v.style.fontFamily=r.getMassagedFontFamily(h.G6?D.hL.fontFamily:null),v.style.fontWeight=r.fontWeight,v.style.fontSize=r.fontSize+"px",v.style.fontFeatureSettings=r.fontFeatureSettings,v.style.lineHeight=r.lineHeight+"px",v.style.letterSpacing=r.letterSpacing+"px"}static applyFontInfo(v,r){v.setFontFamily(r.getMassagedFontFamily(h.G6?D.hL.fontFamily:null)),v.setFontWeight(r.fontWeight),v.setFontSize(r.fontSize),v.setFontFeatureSettings(r.fontFeatureSettings),v.setLineHeight(r.lineHeight),v.setLetterSpacing(r.letterSpacing)}observeReferenceElement(v){this._elementSizeObserver.observe(v)}updatePixelRatio(){this._recomputeOptions()}static _getExtraEditorClassName(){let v="";return!h.G6&&!h.MG&&(v+="no-user-select "),h.G6&&(v+="no-minimap-shadow "),P.dz&&(v+="mac "),v}_getEnvConfiguration(){return{extraEditorClassName:C._getExtraEditorClassName(),outerWidth:this._elementSizeObserver.getWidth(),outerHeight:this._elementSizeObserver.getHeight(),emptySelectionClipboard:h.Pf||h.vU,pixelRatio:h.mX(),zoomLevel:h.px(),accessibilitySupport:this.accessibilityService.isScreenReaderOptimized()?2:this.accessibilityService.getAccessibilitySupport()}}readConfiguration(v){return s.INSTANCE.readConfiguration(v)}}},34002:function(xt,Te,i){"use strict";i.d(Te,{I:function(){return H}});var h=i(69323);class H extends h.JT{constructor(P,D,G){super(),this.referenceDomElement=P,this.changeCallback=G,this.width=-1,this.height=-1,this.resizeObserver=null,this.measureReferenceDomElementToken=-1,this.measureReferenceDomElement(!1,D)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this.width}getHeight(){return this.height}startObserving(){typeof ResizeObserver!="undefined"?!this.resizeObserver&&this.referenceDomElement&&(this.resizeObserver=new ResizeObserver(P=>{P&&P[0]&&P[0].contentRect?this.observe({width:P[0].contentRect.width,height:P[0].contentRect.height}):this.observe()}),this.resizeObserver.observe(this.referenceDomElement)):this.measureReferenceDomElementToken===-1&&(this.measureReferenceDomElementToken=setInterval(()=>this.observe(),100))}stopObserving(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.measureReferenceDomElementToken!==-1&&(clearInterval(this.measureReferenceDomElementToken),this.measureReferenceDomElementToken=-1)}observe(P){this.measureReferenceDomElement(!0,P)}measureReferenceDomElement(P,D){let G=0,I=0;D?(G=D.width,I=D.height):this.referenceDomElement&&(G=this.referenceDomElement.clientWidth,I=this.referenceDomElement.clientHeight),G=Math.max(5,G),I=Math.max(5,I),(this.width!==G||this.height!==I)&&(this.width=G,this.height=I,P&&this.changeCallback())}}},46343:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{CoreEditingCommands:function(){return z},CoreEditorCommand:function(){return r},CoreNavigationCommands:function(){return b},EditorScroll_:function(){return l},RevealLine_:function(){return m}});var h=i(13268),H=i(87783),O=i(72999),P=i(58941),D=i(4514),G=i(70827),I=i(69025),y=i(72146),E=i(17373);class p{static columnSelect(De,J,Z,Q,le,xe){let j=Math.abs(le-Z)+1,R=Z>le,V=Q>xe,K=Q<xe,ie=[];for(let te=0;te<j;te++){let ge=Z+(R?-te:te),ye=I.io.columnFromVisibleColumn2(De,J,ge,Q),ve=I.io.columnFromVisibleColumn2(De,J,ge,xe),Fe=I.io.visibleColumnFromColumn2(De,J,new y.L(ge,ye)),we=I.io.visibleColumnFromColumn2(De,J,new y.L(ge,ve));K&&(Fe>xe||we<Q)||V&&(we>Q||Fe<xe)||ie.push(new I.rS(new E.e(ge,ye,ge,ye),0,new y.L(ge,ve),0))}if(ie.length===0)for(let te=0;te<j;te++){const ge=Z+(R?-te:te),ye=J.getLineMaxColumn(ge);ie.push(new I.rS(new E.e(ge,ye,ge,ye),0,new y.L(ge,ye),0))}return{viewStates:ie,reversed:R,fromLineNumber:Z,fromVisualColumn:Q,toLineNumber:le,toVisualColumn:xe}}static columnSelectLeft(De,J,Z){let Q=Z.toViewVisualColumn;return Q>0&&Q--,p.columnSelect(De,J,Z.fromViewLineNumber,Z.fromViewVisualColumn,Z.toViewLineNumber,Q)}static columnSelectRight(De,J,Z){let Q=0;const le=Math.min(Z.fromViewLineNumber,Z.toViewLineNumber),xe=Math.max(Z.fromViewLineNumber,Z.toViewLineNumber);for(let R=le;R<=xe;R++){const V=J.getLineMaxColumn(R),K=I.io.visibleColumnFromColumn2(De,J,new y.L(R,V));Q=Math.max(Q,K)}let j=Z.toViewVisualColumn;return j<Q&&j++,this.columnSelect(De,J,Z.fromViewLineNumber,Z.fromViewVisualColumn,Z.toViewLineNumber,j)}static columnSelectUp(De,J,Z,Q){const le=Q?De.pageSize:1,xe=Math.max(1,Z.toViewLineNumber-le);return this.columnSelect(De,J,Z.fromViewLineNumber,Z.fromViewVisualColumn,xe,Z.toViewVisualColumn)}static columnSelectDown(De,J,Z,Q){const le=Q?De.pageSize:1,xe=Math.min(J.getLineCount(),Z.toViewLineNumber+le);return this.columnSelect(De,J,Z.fromViewLineNumber,Z.fromViewVisualColumn,xe,Z.toViewVisualColumn)}}var a=i(75805),g=i(43361),w=i(74502),s=i(68987),C=i(90689),f=i(86414);const v=0;class r extends D._l{runEditorCommand(De,J,Z){const Q=J._getViewModel();Q&&this.runCoreEditorCommand(Q,Z||{})}}var l;(function(re){const De=function(Z){if(!O.Kn(Z))return!1;const Q=Z;return!(!O.HD(Q.to)||!O.o8(Q.by)&&!O.HD(Q.by)||!O.o8(Q.value)&&!O.hj(Q.value)||!O.o8(Q.revealCursor)&&!O.jn(Q.revealCursor))};re.description={description:"Scroll editor in the given direction",args:[{name:"Editor scroll argument object",description:"Property-value pairs that can be passed through this argument:\n * 'to': A mandatory direction value.\n ```\n 'up', 'down'\n ```\n * 'by': Unit to move. Default is computed based on 'to' value.\n ```\n 'line', 'wrappedLine', 'page', 'halfPage'\n ```\n * 'value': Number of units to move. Default is '1'.\n * 'revealCursor': If 'true' reveals the cursor if it is outside view port.\n ",constraint:De,schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["up","down"]},by:{type:"string",enum:["line","wrappedLine","page","halfPage"]},value:{type:"number",default:1},revealCursor:{type:"boolean"}}}}]},re.RawDirection={Up:"up",Down:"down"},re.RawUnit={Line:"line",WrappedLine:"wrappedLine",Page:"page",HalfPage:"halfPage"};function J(Z){let Q;switch(Z.to){case re.RawDirection.Up:Q=1;break;case re.RawDirection.Down:Q=2;break;default:return null}let le;switch(Z.by){case re.RawUnit.Line:le=1;break;case re.RawUnit.WrappedLine:le=2;break;case re.RawUnit.Page:le=3;break;case re.RawUnit.HalfPage:le=4;break;default:le=2}const xe=Math.floor(Z.value||1),j=!!Z.revealCursor;return{direction:Q,unit:le,value:xe,revealCursor:j,select:!!Z.select}}re.parse=J})(l||(l={}));var m;(function(re){const De=function(J){if(!O.Kn(J))return!1;const Z=J;return!(!O.hj(Z.lineNumber)&&!O.HD(Z.lineNumber)||!O.o8(Z.at)&&!O.HD(Z.at))};re.description={description:"Reveal the given line at the given logical position",args:[{name:"Reveal line argument object",description:"Property-value pairs that can be passed through this argument:\n * 'lineNumber': A mandatory line number value.\n * 'at': Logical position at which line has to be revealed.\n ```\n 'top', 'center', 'bottom'\n ```\n ",constraint:De,schema:{type:"object",required:["lineNumber"],properties:{lineNumber:{type:["number","string"]},at:{type:"string",enum:["top","center","bottom"]}}}}]},re.RawAtArgument={Top:"top",Center:"center",Bottom:"bottom"}})(m||(m={}));class c{constructor(De){De.addImplementation(1e4,"code-editor",(J,Z)=>{const Q=J.get(G.$).getFocusedCodeEditor();return Q&&Q.hasTextFocus()?this._runEditorCommand(J,Q,Z):!1}),De.addImplementation(1e3,"generic-dom-input-textarea",(J,Z)=>{const Q=document.activeElement;return Q&&["input","textarea"].indexOf(Q.tagName.toLowerCase())>=0?(this.runDOMCommand(),!0):!1}),De.addImplementation(0,"generic-dom",(J,Z)=>{const Q=J.get(G.$).getActiveCodeEditor();return Q?(Q.focus(),this._runEditorCommand(J,Q,Z)):!1})}_runEditorCommand(De,J,Z){const Q=this.runEditorCommand(De,J,Z);return Q||!0}}var b;(function(re){class De extends r{constructor(ue){super(ue),this._inSelectionMode=ue.inSelectionMode}runCoreEditorCommand(ue,ce){ue.model.pushStackElement(),ue.setCursorStates(ce.source,3,[g.P.moveTo(ue,ue.getPrimaryCursorState(),this._inSelectionMode,ce.position,ce.viewPosition)]),ue.revealPrimaryCursor(ce.source,!0)}}re.MoveTo=(0,D.fK)(new De({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),re.MoveToSelect=(0,D.fK)(new De({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class J extends r{runCoreEditorCommand(ue,ce){ue.model.pushStackElement();const Ve=this._getColumnSelectResult(ue,ue.getPrimaryCursorState(),ue.getCursorColumnSelectData(),ce);ue.setCursorStates(ce.source,3,Ve.viewStates.map(We=>I.Vi.fromViewState(We))),ue.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:Ve.fromLineNumber,fromViewVisualColumn:Ve.fromVisualColumn,toViewLineNumber:Ve.toLineNumber,toViewVisualColumn:Ve.toVisualColumn}),Ve.reversed?ue.revealTopMostCursor(ce.source):ue.revealBottomMostCursor(ce.source)}}re.ColumnSelect=(0,D.fK)(new class extends J{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(we,ue,ce,Ve){const We=we.model.validatePosition(Ve.position),ae=we.coordinatesConverter.validateViewPosition(new y.L(Ve.viewPosition.lineNumber,Ve.viewPosition.column),We);let fe=Ve.doColumnSelect?ce.fromViewLineNumber:ae.lineNumber,ne=Ve.doColumnSelect?ce.fromViewVisualColumn:Ve.mouseColumn-1;return p.columnSelect(we.cursorConfig,we,fe,ne,ae.lineNumber,Ve.mouseColumn-1)}}),re.CursorColumnSelectLeft=(0,D.fK)(new class extends J{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(we,ue,ce,Ve){return p.columnSelectLeft(we.cursorConfig,we,ce)}}),re.CursorColumnSelectRight=(0,D.fK)(new class extends J{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(we,ue,ce,Ve){return p.columnSelectRight(we.cursorConfig,we,ce)}});class Z extends J{constructor(ue){super(ue),this._isPaged=ue.isPaged}_getColumnSelectResult(ue,ce,Ve,We){return p.columnSelectUp(ue.cursorConfig,ue,Ve,this._isPaged)}}re.CursorColumnSelectUp=(0,D.fK)(new Z({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:3600,linux:{primary:0}}})),re.CursorColumnSelectPageUp=(0,D.fK)(new Z({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:3595,linux:{primary:0}}}));class Q extends J{constructor(ue){super(ue),this._isPaged=ue.isPaged}_getColumnSelectResult(ue,ce,Ve,We){return p.columnSelectDown(ue.cursorConfig,ue,Ve,this._isPaged)}}re.CursorColumnSelectDown=(0,D.fK)(new Q({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:3602,linux:{primary:0}}})),re.CursorColumnSelectPageDown=(0,D.fK)(new Q({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:3596,linux:{primary:0}}}));class le extends r{constructor(){super({id:"cursorMove",precondition:void 0,description:g.N.description})}runCoreEditorCommand(ue,ce){const Ve=g.N.parse(ce);Ve&&this._runCursorMove(ue,ce.source,Ve)}_runCursorMove(ue,ce,Ve){ue.model.pushStackElement(),ue.setCursorStates(ce,3,le._move(ue,ue.getCursorStates(),Ve)),ue.revealPrimaryCursor(ce,!0)}static _move(ue,ce,Ve){const We=Ve.select,ae=Ve.value;switch(Ve.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return g.P.simpleMove(ue,ce,Ve.direction,We,ae,Ve.unit);case 11:case 13:case 12:case 14:return g.P.viewportMove(ue,ce,Ve.direction,We,ae);default:return null}}}re.CursorMoveImpl=le,re.CursorMove=(0,D.fK)(new le);class xe extends r{constructor(ue){super(ue),this._staticArgs=ue.args}runCoreEditorCommand(ue,ce){let Ve=this._staticArgs;this._staticArgs.value===-1&&(Ve={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:ue.cursorConfig.pageSize}),ue.model.pushStackElement(),ue.setCursorStates(ce.source,3,g.P.simpleMove(ue,ue.getCursorStates(),Ve.direction,Ve.select,Ve.value,Ve.unit)),ue.revealPrimaryCursor(ce.source,!0)}}re.CursorLeft=(0,D.fK)(new xe({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),re.CursorLeftSelect=(0,D.fK)(new xe({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:1039}})),re.CursorRight=(0,D.fK)(new xe({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),re.CursorRightSelect=(0,D.fK)(new xe({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:1041}})),re.CursorUp=(0,D.fK)(new xe({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),re.CursorUpSelect=(0,D.fK)(new xe({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),re.CursorPageUp=(0,D.fK)(new xe({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:11}})),re.CursorPageUpSelect=(0,D.fK)(new xe({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:1035}})),re.CursorDown=(0,D.fK)(new xe({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),re.CursorDownSelect=(0,D.fK)(new xe({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),re.CursorPageDown=(0,D.fK)(new xe({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:12}})),re.CursorPageDownSelect=(0,D.fK)(new xe({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:1036}})),re.CreateCursor=(0,D.fK)(new class extends r{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(we,ue){let ce;ue.wholeLine?ce=g.P.line(we,we.getPrimaryCursorState(),!1,ue.position,ue.viewPosition):ce=g.P.moveTo(we,we.getPrimaryCursorState(),!1,ue.position,ue.viewPosition);const Ve=we.getCursorStates();if(Ve.length>1){const We=ce.modelState?ce.modelState.position:null,ae=ce.viewState?ce.viewState.position:null;for(let fe=0,ne=Ve.length;fe<ne;fe++){const W=Ve[fe];if(!(We&&!W.modelState.selection.containsPosition(We))&&!(ae&&!W.viewState.selection.containsPosition(ae))){Ve.splice(fe,1),we.model.pushStackElement(),we.setCursorStates(ue.source,3,Ve);return}}}Ve.push(ce),we.model.pushStackElement(),we.setCursorStates(ue.source,3,Ve)}}),re.LastCursorMoveToSelect=(0,D.fK)(new class extends r{constructor(){super({id:"_lastCursorMoveToSelect",precondition:void 0})}runCoreEditorCommand(we,ue){const ce=we.getLastAddedCursorIndex(),Ve=we.getCursorStates(),We=Ve.slice(0);We[ce]=g.P.moveTo(we,Ve[ce],!0,ue.position,ue.viewPosition),we.model.pushStackElement(),we.setCursorStates(ue.source,3,We)}});class j extends r{constructor(ue){super(ue),this._inSelectionMode=ue.inSelectionMode}runCoreEditorCommand(ue,ce){ue.model.pushStackElement(),ue.setCursorStates(ce.source,3,g.P.moveToBeginningOfLine(ue,ue.getCursorStates(),this._inSelectionMode)),ue.revealPrimaryCursor(ce.source,!0)}}re.CursorHome=(0,D.fK)(new j({inSelectionMode:!1,id:"cursorHome",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:14,mac:{primary:14,secondary:[2063]}}})),re.CursorHomeSelect=(0,D.fK)(new j({inSelectionMode:!0,id:"cursorHomeSelect",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:1038,mac:{primary:1038,secondary:[3087]}}}));class R extends r{constructor(ue){super(ue),this._inSelectionMode=ue.inSelectionMode}runCoreEditorCommand(ue,ce){ue.model.pushStackElement(),ue.setCursorStates(ce.source,3,this._exec(ue.getCursorStates())),ue.revealPrimaryCursor(ce.source,!0)}_exec(ue){const ce=[];for(let Ve=0,We=ue.length;Ve<We;Ve++){const ae=ue[Ve],fe=ae.modelState.position.lineNumber;ce[Ve]=I.Vi.fromModelState(ae.modelState.move(this._inSelectionMode,fe,1,0))}return ce}}re.CursorLineStart=(0,D.fK)(new R({inSelectionMode:!1,id:"cursorLineStart",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:0,mac:{primary:287}}})),re.CursorLineStartSelect=(0,D.fK)(new R({inSelectionMode:!0,id:"cursorLineStartSelect",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:0,mac:{primary:1311}}}));class V extends r{constructor(ue){super(ue),this._inSelectionMode=ue.inSelectionMode}runCoreEditorCommand(ue,ce){ue.model.pushStackElement(),ue.setCursorStates(ce.source,3,g.P.moveToEndOfLine(ue,ue.getCursorStates(),this._inSelectionMode,ce.sticky||!1)),ue.revealPrimaryCursor(ce.source,!0)}}re.CursorEnd=(0,D.fK)(new V({inSelectionMode:!1,id:"cursorEnd",precondition:void 0,kbOpts:{args:{sticky:!1},weight:v,kbExpr:s.u.textInputFocus,primary:13,mac:{primary:13,secondary:[2065]}},description:{description:"Go to End",args:[{name:"args",schema:{type:"object",properties:{sticky:{description:h.N("stickydesc","Stick to the end even when going to longer lines"),type:"boolean",default:!1}}}}]}})),re.CursorEndSelect=(0,D.fK)(new V({inSelectionMode:!0,id:"cursorEndSelect",precondition:void 0,kbOpts:{args:{sticky:!1},weight:v,kbExpr:s.u.textInputFocus,primary:1037,mac:{primary:1037,secondary:[3089]}},description:{description:"Select to End",args:[{name:"args",schema:{type:"object",properties:{sticky:{description:h.N("stickydesc","Stick to the end even when going to longer lines"),type:"boolean",default:!1}}}}]}}));class K extends r{constructor(ue){super(ue),this._inSelectionMode=ue.inSelectionMode}runCoreEditorCommand(ue,ce){ue.model.pushStackElement(),ue.setCursorStates(ce.source,3,this._exec(ue,ue.getCursorStates())),ue.revealPrimaryCursor(ce.source,!0)}_exec(ue,ce){const Ve=[];for(let We=0,ae=ce.length;We<ae;We++){const fe=ce[We],ne=fe.modelState.position.lineNumber,W=ue.model.getLineMaxColumn(ne);Ve[We]=I.Vi.fromModelState(fe.modelState.move(this._inSelectionMode,ne,W,0))}return Ve}}re.CursorLineEnd=(0,D.fK)(new K({inSelectionMode:!1,id:"cursorLineEnd",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:0,mac:{primary:291}}})),re.CursorLineEndSelect=(0,D.fK)(new K({inSelectionMode:!0,id:"cursorLineEndSelect",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:0,mac:{primary:1315}}}));class ie extends r{constructor(ue){super(ue),this._inSelectionMode=ue.inSelectionMode}runCoreEditorCommand(ue,ce){ue.model.pushStackElement(),ue.setCursorStates(ce.source,3,g.P.moveToBeginningOfBuffer(ue,ue.getCursorStates(),this._inSelectionMode)),ue.revealPrimaryCursor(ce.source,!0)}}re.CursorTop=(0,D.fK)(new ie({inSelectionMode:!1,id:"cursorTop",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:2062,mac:{primary:2064}}})),re.CursorTopSelect=(0,D.fK)(new ie({inSelectionMode:!0,id:"cursorTopSelect",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:3086,mac:{primary:3088}}}));class te extends r{constructor(ue){super(ue),this._inSelectionMode=ue.inSelectionMode}runCoreEditorCommand(ue,ce){ue.model.pushStackElement(),ue.setCursorStates(ce.source,3,g.P.moveToEndOfBuffer(ue,ue.getCursorStates(),this._inSelectionMode)),ue.revealPrimaryCursor(ce.source,!0)}}re.CursorBottom=(0,D.fK)(new te({inSelectionMode:!1,id:"cursorBottom",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:2061,mac:{primary:2066}}})),re.CursorBottomSelect=(0,D.fK)(new te({inSelectionMode:!0,id:"cursorBottomSelect",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:3085,mac:{primary:3090}}}));class ge extends r{constructor(){super({id:"editorScroll",precondition:void 0,description:l.description})}runCoreEditorCommand(ue,ce){const Ve=l.parse(ce);Ve&&this._runEditorScroll(ue,ce.source,Ve)}_runEditorScroll(ue,ce,Ve){const We=this._computeDesiredScrollTop(ue,Ve);if(Ve.revealCursor){const ae=ue.getCompletelyVisibleViewRangeAtScrollTop(We);ue.setCursorStates(ce,3,[g.P.findPositionInViewportIfOutside(ue,ue.getPrimaryCursorState(),ae,Ve.select)])}ue.setScrollTop(We,0)}_computeDesiredScrollTop(ue,ce){if(ce.unit===1){const ae=ue.getCompletelyVisibleViewRange(),fe=ue.coordinatesConverter.convertViewRangeToModelRange(ae);let ne;ce.direction===1?ne=Math.max(1,fe.startLineNumber-ce.value):ne=Math.min(ue.model.getLineCount(),fe.startLineNumber+ce.value);const W=ue.coordinatesConverter.convertModelPositionToViewPosition(new y.L(ne,1));return ue.getVerticalOffsetForLineNumber(W.lineNumber)}let Ve;ce.unit===3?Ve=ue.cursorConfig.pageSize*ce.value:ce.unit===4?Ve=Math.round(ue.cursorConfig.pageSize/2)*ce.value:Ve=ce.value;const We=(ce.direction===1?-1:1)*Ve;return ue.getScrollTop()+We*ue.cursorConfig.lineHeight}}re.EditorScrollImpl=ge,re.EditorScroll=(0,D.fK)(new ge),re.ScrollLineUp=(0,D.fK)(new class extends r{constructor(){super({id:"scrollLineUp",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:2064,mac:{primary:267}}})}runCoreEditorCommand(we,ue){re.EditorScroll._runEditorScroll(we,ue.source,{direction:1,unit:2,value:1,revealCursor:!1,select:!1})}}),re.ScrollPageUp=(0,D.fK)(new class extends r{constructor(){super({id:"scrollPageUp",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:2059,win:{primary:523},linux:{primary:523}}})}runCoreEditorCommand(we,ue){re.EditorScroll._runEditorScroll(we,ue.source,{direction:1,unit:3,value:1,revealCursor:!1,select:!1})}}),re.ScrollLineDown=(0,D.fK)(new class extends r{constructor(){super({id:"scrollLineDown",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:2066,mac:{primary:268}}})}runCoreEditorCommand(we,ue){re.EditorScroll._runEditorScroll(we,ue.source,{direction:2,unit:2,value:1,revealCursor:!1,select:!1})}}),re.ScrollPageDown=(0,D.fK)(new class extends r{constructor(){super({id:"scrollPageDown",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:2060,win:{primary:524},linux:{primary:524}}})}runCoreEditorCommand(we,ue){re.EditorScroll._runEditorScroll(we,ue.source,{direction:2,unit:3,value:1,revealCursor:!1,select:!1})}});class ye extends r{constructor(ue){super(ue),this._inSelectionMode=ue.inSelectionMode}runCoreEditorCommand(ue,ce){ue.model.pushStackElement(),ue.setCursorStates(ce.source,3,[g.P.word(ue,ue.getPrimaryCursorState(),this._inSelectionMode,ce.position)]),ue.revealPrimaryCursor(ce.source,!0)}}re.WordSelect=(0,D.fK)(new ye({inSelectionMode:!1,id:"_wordSelect",precondition:void 0})),re.WordSelectDrag=(0,D.fK)(new ye({inSelectionMode:!0,id:"_wordSelectDrag",precondition:void 0})),re.LastCursorWordSelect=(0,D.fK)(new class extends r{constructor(){super({id:"lastCursorWordSelect",precondition:void 0})}runCoreEditorCommand(we,ue){const ce=we.getLastAddedCursorIndex(),Ve=we.getCursorStates(),We=Ve.slice(0),ae=Ve[ce];We[ce]=g.P.word(we,ae,ae.modelState.hasSelection(),ue.position),we.model.pushStackElement(),we.setCursorStates(ue.source,3,We)}});class ve extends r{constructor(ue){super(ue),this._inSelectionMode=ue.inSelectionMode}runCoreEditorCommand(ue,ce){ue.model.pushStackElement(),ue.setCursorStates(ce.source,3,[g.P.line(ue,ue.getPrimaryCursorState(),this._inSelectionMode,ce.position,ce.viewPosition)]),ue.revealPrimaryCursor(ce.source,!1)}}re.LineSelect=(0,D.fK)(new ve({inSelectionMode:!1,id:"_lineSelect",precondition:void 0})),re.LineSelectDrag=(0,D.fK)(new ve({inSelectionMode:!0,id:"_lineSelectDrag",precondition:void 0}));class Fe extends r{constructor(ue){super(ue),this._inSelectionMode=ue.inSelectionMode}runCoreEditorCommand(ue,ce){const Ve=ue.getLastAddedCursorIndex(),We=ue.getCursorStates(),ae=We.slice(0);ae[Ve]=g.P.line(ue,We[Ve],this._inSelectionMode,ce.position,ce.viewPosition),ue.model.pushStackElement(),ue.setCursorStates(ce.source,3,ae)}}re.LastCursorLineSelect=(0,D.fK)(new Fe({inSelectionMode:!1,id:"lastCursorLineSelect",precondition:void 0})),re.LastCursorLineSelectDrag=(0,D.fK)(new Fe({inSelectionMode:!0,id:"lastCursorLineSelectDrag",precondition:void 0})),re.ExpandLineSelection=(0,D.fK)(new class extends r{constructor(){super({id:"expandLineSelection",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:2090}})}runCoreEditorCommand(we,ue){we.model.pushStackElement(),we.setCursorStates(ue.source,3,g.P.expandLineSelection(we,we.getCursorStates())),we.revealPrimaryCursor(ue.source,!0)}}),re.CancelSelection=(0,D.fK)(new class extends r{constructor(){super({id:"cancelSelection",precondition:s.u.hasNonEmptySelection,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(we,ue){we.model.pushStackElement(),we.setCursorStates(ue.source,3,[g.P.cancelSelection(we,we.getPrimaryCursorState())]),we.revealPrimaryCursor(ue.source,!0)}}),re.RemoveSecondaryCursors=(0,D.fK)(new class extends r{constructor(){super({id:"removeSecondaryCursors",precondition:s.u.hasMultipleSelections,kbOpts:{weight:v+1,kbExpr:s.u.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(we,ue){we.model.pushStackElement(),we.setCursorStates(ue.source,3,[we.getPrimaryCursorState()]),we.revealPrimaryCursor(ue.source,!0),(0,P.i7)(h.N("removedCursor","Removed secondary cursors"))}}),re.RevealLine=(0,D.fK)(new class extends r{constructor(){super({id:"revealLine",precondition:void 0,description:m.description})}runCoreEditorCommand(we,ue){const ce=ue,Ve=ce.lineNumber||0;let We=typeof Ve=="number"?Ve+1:parseInt(Ve)+1;We<1&&(We=1);const ae=we.model.getLineCount();We>ae&&(We=ae);const fe=new E.e(We,1,We,we.model.getLineMaxColumn(We));let ne=0;if(ce.at)switch(ce.at){case m.RawAtArgument.Top:ne=3;break;case m.RawAtArgument.Center:ne=1;break;case m.RawAtArgument.Bottom:ne=4;break;default:break}const W=we.coordinatesConverter.convertModelRangeToViewRange(fe);we.revealRange(ue.source,!1,W,ne,0)}}),re.SelectAll=new class extends c{constructor(){super(D.Sq)}runDOMCommand(){H.vU&&(document.activeElement.focus(),document.activeElement.select()),document.execCommand("selectAll")}runEditorCommand(we,ue,ce){const Ve=ue._getViewModel();Ve&&this.runCoreEditorCommand(Ve,ce)}runCoreEditorCommand(we,ue){we.model.pushStackElement(),we.setCursorStates("keyboard",3,[g.P.selectAll(we,we.getPrimaryCursorState())])}},re.SetSelection=(0,D.fK)(new class extends r{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(we,ue){we.model.pushStackElement(),we.setCursorStates(ue.source,3,[I.Vi.fromModelSelection(ue.selection)])}})})(b||(b={}));const L=C.Ao.and(s.u.textInputFocus,s.u.columnSelection);function T(re,De){f.W.registerKeybindingRule({id:re,primary:De,when:L,weight:v+1})}T(b.CursorColumnSelectLeft.id,1039),T(b.CursorColumnSelectRight.id,1041),T(b.CursorColumnSelectUp.id,1040),T(b.CursorColumnSelectPageUp.id,1035),T(b.CursorColumnSelectDown.id,1042),T(b.CursorColumnSelectPageDown.id,1036);function M(re){return re.register(),re}var z;(function(re){class De extends D._l{runEditorCommand(Z,Q,le){const xe=Q._getViewModel();xe&&this.runCoreEditingCommand(Q,xe,le||{})}}re.CoreEditingCommand=De,re.LineBreakInsert=(0,D.fK)(new class extends De{constructor(){super({id:"lineBreakInsert",precondition:s.u.writable,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(J,Z,Q){J.pushUndoStop(),J.executeCommands(this.id,w.u.lineBreakInsert(Z.cursorConfig,Z.model,Z.getCursorStates().map(le=>le.modelState.selection)))}}),re.Outdent=(0,D.fK)(new class extends De{constructor(){super({id:"outdent",precondition:s.u.writable,kbOpts:{weight:v,kbExpr:C.Ao.and(s.u.editorTextFocus,s.u.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(J,Z,Q){J.pushUndoStop(),J.executeCommands(this.id,w.u.outdent(Z.cursorConfig,Z.model,Z.getCursorStates().map(le=>le.modelState.selection))),J.pushUndoStop()}}),re.Tab=(0,D.fK)(new class extends De{constructor(){super({id:"tab",precondition:s.u.writable,kbOpts:{weight:v,kbExpr:C.Ao.and(s.u.editorTextFocus,s.u.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(J,Z,Q){J.pushUndoStop(),J.executeCommands(this.id,w.u.tab(Z.cursorConfig,Z.model,Z.getCursorStates().map(le=>le.modelState.selection))),J.pushUndoStop()}}),re.DeleteLeft=(0,D.fK)(new class extends De{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(J,Z,Q){const[le,xe]=a.A.deleteLeft(Z.getPrevEditOperationType(),Z.cursorConfig,Z.model,Z.getCursorStates().map(j=>j.modelState.selection),Z.getCursorAutoClosedCharacters());le&&J.pushUndoStop(),J.executeCommands(this.id,xe),Z.setPrevEditOperationType(2)}}),re.DeleteRight=(0,D.fK)(new class extends De{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:v,kbExpr:s.u.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(J,Z,Q){const[le,xe]=a.A.deleteRight(Z.getPrevEditOperationType(),Z.cursorConfig,Z.model,Z.getCursorStates().map(j=>j.modelState.selection));le&&J.pushUndoStop(),J.executeCommands(this.id,xe),Z.setPrevEditOperationType(3)}}),re.Undo=new class extends c{constructor(){super(D.n_)}runDOMCommand(){document.execCommand("undo")}runEditorCommand(J,Z,Q){if(!(!Z.hasModel()||Z.getOption(80)===!0))return Z.getModel().undo()}},re.Redo=new class extends c{constructor(){super(D.kz)}runDOMCommand(){document.execCommand("redo")}runEditorCommand(J,Z,Q){if(!(!Z.hasModel()||Z.getOption(80)===!0))return Z.getModel().redo()}}})(z||(z={}));class oe extends D.mY{constructor(De,J,Z){super({id:De,precondition:void 0,description:Z}),this._handlerId=J}runCommand(De,J){const Z=De.get(G.$).getFocusedCodeEditor();Z&&Z.trigger("keyboard",this._handlerId,J)}}function se(re,De){M(new oe("default:"+re,re)),M(new oe(re,re,De))}se("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),se("replacePreviousChar"),se("compositionType"),se("compositionStart"),se("compositionEnd"),se("paste"),se("cut")},79193:function(xt,Te,i){"use strict";i.d(Te,{Fz:function(){return C},Nl:function(){return s},RA:function(){return w},pd:function(){return g}});var h=i(87783),H=i(69454),O=i(50431),P=i(4348),D=i(69323),G=i(8473),I=i(23345),y=i(82983),E=i(56842),p=i(72146),a=i(17551),g;(function(r){r.Tap="-monaco-textarea-synthetic-tap"})(g||(g={}));const w={forceCopyWithSyntaxHighlighting:!1};class s{constructor(){this._lastState=null}set(l,m){this._lastState={lastCopiedValue:l,data:m}}get(l){return this._lastState&&this._lastState.lastCopiedValue===l?this._lastState.data:(this._lastState=null,null)}}s.INSTANCE=new s;class C extends D.JT{constructor(l,m){super(),this.textArea=m,this._onFocus=this._register(new P.Q5),this.onFocus=this._onFocus.event,this._onBlur=this._register(new P.Q5),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new P.Q5),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new P.Q5),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new P.Q5),this.onCut=this._onCut.event,this._onPaste=this._register(new P.Q5),this.onPaste=this._onPaste.event,this._onType=this._register(new P.Q5),this.onType=this._onType.event,this._onCompositionStart=this._register(new P.Q5),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new P.Q5),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new P.Q5),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new P.Q5),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._host=l,this._textArea=this._register(new v(m)),this._asyncTriggerCut=this._register(new O.pY(()=>this._onCut.fire(),0)),this._asyncFocusGainWriteScreenReaderContent=this._register(new O.pY(()=>this.writeScreenReaderContent("asyncFocusGain"),0)),this._textAreaState=E.un.EMPTY,this._selectionChangeListener=null,this.writeScreenReaderContent("ctor"),this._hasFocus=!1,this._isDoingComposition=!1,this._nextCommand=0;let c=null;this._register(H.mu(m.domNode,"keydown",M=>{(M.keyCode===109||this._isDoingComposition&&M.keyCode===1)&&M.stopPropagation(),M.equals(9)&&M.preventDefault(),c=M,this._onKeyDown.fire(M)})),this._register(H.mu(m.domNode,"keyup",M=>{this._onKeyUp.fire(M)})),this._register(H.nm(m.domNode,"compositionstart",M=>{if(E.al&&console.log("[compositionstart]",M),!this._isDoingComposition){if(this._isDoingComposition=!0,I.dz&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===M.data&&(c&&c.equals(109)&&(c.code==="ArrowRight"||c.code==="ArrowLeft")||h.vU)){E.al&&console.log("[compositionstart] Handling long press case on macOS + arrow key or Firefox",M),this._textAreaState=new E.un(this._textAreaState.value,this._textAreaState.selectionStart-1,this._textAreaState.selectionEnd,this._textAreaState.selectionStartPosition?new p.L(this._textAreaState.selectionStartPosition.lineNumber,this._textAreaState.selectionStartPosition.column-1):null,this._textAreaState.selectionEndPosition),this._onCompositionStart.fire({revealDeltaColumns:-1});return}if(h.Dt){this._onCompositionStart.fire({revealDeltaColumns:-this._textAreaState.selectionStart});return}this._setAndWriteTextAreaState("compositionstart",E.un.EMPTY),this._onCompositionStart.fire({revealDeltaColumns:0})}}));const b=M=>{const z=this._textAreaState,oe=E.un.readFromTextArea(this._textArea);return[oe,E.un.deduceInput(z,oe,M)]},L=()=>{const M=this._textAreaState,z=E.un.readFromTextArea(this._textArea);return[z,E.un.deduceAndroidCompositionInput(M,z)]},T=M=>{const z=this._textAreaState,oe=E.un.selectedText(M),se={text:oe.value,replacePrevCharCnt:z.selectionEnd-z.selectionStart,replaceNextCharCnt:0,positionDelta:0};return[oe,se]};this._register(H.nm(m.domNode,"compositionupdate",M=>{if(E.al&&console.log("[compositionupdate]",M),h.Dt){const[se,re]=L();this._textAreaState=se,this._onType.fire(re),this._onCompositionUpdate.fire(M);return}const[z,oe]=T(M.data||"");this._textAreaState=z,this._onType.fire(oe),this._onCompositionUpdate.fire(M)})),this._register(H.nm(m.domNode,"compositionend",M=>{if(E.al&&console.log("[compositionend]",M),!this._isDoingComposition)return;if(this._isDoingComposition=!1,h.Dt){const[se,re]=L();this._textAreaState=se,this._onType.fire(re),this._onCompositionEnd.fire();return}const[z,oe]=T(M.data||"");this._textAreaState=z,this._onType.fire(oe),(h.i7||h.vU)&&(this._textAreaState=E.un.readFromTextArea(this._textArea)),this._onCompositionEnd.fire()})),this._register(H.nm(m.domNode,"input",()=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._isDoingComposition)return;const[M,z]=b(I.dz);z.replacePrevCharCnt===0&&z.text.length===1&&y.ZG(z.text.charCodeAt(0))||(this._textAreaState=M,this._nextCommand===0?(z.text!==""||z.replacePrevCharCnt!==0)&&this._onType.fire(z):((z.text!==""||z.replacePrevCharCnt!==0)&&this._firePaste(z.text,null),this._nextCommand=0))})),this._register(H.nm(m.domNode,"cut",M=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(M),this._asyncTriggerCut.schedule()})),this._register(H.nm(m.domNode,"copy",M=>{this._ensureClipboardGetsEditorSelection(M)})),this._register(H.nm(m.domNode,"paste",M=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),f.canUseTextData(M)){const[z,oe]=f.getTextData(M);z!==""&&this._firePaste(z,oe)}else this._textArea.getSelectionStart()!==this._textArea.getSelectionEnd()&&this._setAndWriteTextAreaState("paste",E.un.EMPTY),this._nextCommand=1})),this._register(H.nm(m.domNode,"focus",()=>{const M=this._hasFocus;this._setHasFocus(!0),h.G6&&!M&&this._hasFocus&&this._asyncFocusGainWriteScreenReaderContent.schedule()})),this._register(H.nm(m.domNode,"blur",()=>{this._isDoingComposition&&(this._isDoingComposition=!1,this.writeScreenReaderContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)})),this._register(H.nm(m.domNode,g.Tap,()=>{h.Dt&&this._isDoingComposition&&(this._isDoingComposition=!1,this.writeScreenReaderContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())}))}_installSelectionChangeListener(){let l=0;return H.nm(document,"selectionchange",m=>{if(!this._hasFocus||this._isDoingComposition||!h.i7)return;const c=Date.now(),b=c-l;if(l=c,b<5)return;const L=c-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),L<100||!this._textAreaState.selectionStartPosition||!this._textAreaState.selectionEndPosition)return;const T=this._textArea.getValue();if(this._textAreaState.value!==T)return;const M=this._textArea.getSelectionStart(),z=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===M&&this._textAreaState.selectionEnd===z)return;const oe=this._textAreaState.deduceEditorPosition(M),se=this._host.deduceModelPosition(oe[0],oe[1],oe[2]),re=this._textAreaState.deduceEditorPosition(z),De=this._host.deduceModelPosition(re[0],re[1],re[2]),J=new a.Y(se.lineNumber,se.column,De.lineNumber,De.column);this._onSelectionChangeRequest.fire(J)})}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){const l=H.Ay(this.textArea.domNode);l?this._setHasFocus(l.activeElement===this.textArea.domNode):H.Uw(this.textArea.domNode)?this._setHasFocus(document.activeElement===this.textArea.domNode):this._setHasFocus(!1)}_setHasFocus(l){this._hasFocus!==l&&(this._hasFocus=l,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeScreenReaderContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(l,m){this._hasFocus||(m=m.collapseSelection()),m.writeToTextArea(l,this._textArea,this._hasFocus),this._textAreaState=m}writeScreenReaderContent(l){this._isDoingComposition||this._setAndWriteTextAreaState(l,this._host.getScreenReaderContent(this._textAreaState))}_ensureClipboardGetsEditorSelection(l){const m=this._host.getDataToCopy(f.canUseTextData(l)),c={version:1,isFromEmptySelection:m.isFromEmptySelection,multicursorText:m.multicursorText,mode:m.mode};if(s.INSTANCE.set(h.vU?m.text.replace(/\r\n/g,`
`):m.text,c),!f.canUseTextData(l)){this._setAndWriteTextAreaState("copy or cut",E.un.selectedText(m.text));return}f.setTextData(l,m.text,m.html,c)}_firePaste(l,m){m||(m=s.INSTANCE.get(l)),this._onPaste.fire({text:l,metadata:m})}}class f{static canUseTextData(l){return!!l.clipboardData}static getTextData(l){if(l.clipboardData){l.preventDefault();const m=l.clipboardData.getData(G.vW.text);let c=null;const b=l.clipboardData.getData("vscode-editor-data");if(typeof b=="string")try{c=JSON.parse(b),c.version!==1&&(c=null)}catch(L){}return[m,c]}throw new Error("ClipboardEventUtils.getTextData: Cannot use text data!")}static setTextData(l,m,c,b){if(l.clipboardData){l.clipboardData.setData(G.vW.text,m),typeof c=="string"&&l.clipboardData.setData("text/html",c),l.clipboardData.setData("vscode-editor-data",JSON.stringify(b)),l.preventDefault();return}throw new Error("ClipboardEventUtils.setTextData: Cannot use text data!")}}class v extends D.JT{constructor(l){super(),this._actual=l,this._ignoreSelectionChangeTime=0}setIgnoreSelectionChangeTime(l){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.domNode.value}setValue(l,m){const c=this._actual.domNode;c.value!==m&&(this.setIgnoreSelectionChangeTime("setValue"),c.value=m)}getSelectionStart(){return this._actual.domNode.selectionDirection==="backward"?this._actual.domNode.selectionEnd:this._actual.domNode.selectionStart}getSelectionEnd(){return this._actual.domNode.selectionDirection==="backward"?this._actual.domNode.selectionStart:this._actual.domNode.selectionEnd}setSelectionRange(l,m,c){const b=this._actual.domNode;let L=null;const T=H.Ay(b);T?L=T.activeElement:L=document.activeElement;const M=L===b,z=b.selectionStart,oe=b.selectionEnd;if(M&&z===m&&oe===c){h.vU&&window.parent!==window&&b.focus();return}if(M){this.setIgnoreSelectionChangeTime("setSelectionRange"),b.setSelectionRange(m,c),h.vU&&window.parent!==window&&b.focus();return}try{const se=H.vL(b);this.setIgnoreSelectionChangeTime("setSelectionRange"),b.focus(),b.setSelectionRange(m,c),H._0(b,se)}catch(se){}}}},56842:function(xt,Te,i){"use strict";i.d(Te,{al:function(){return P},ee:function(){return G},un:function(){return D}});var h=i(82983),H=i(72146),O=i(17373);const P=!1;class D{constructor(y,E,p,a,g){this.value=y,this.selectionStart=E,this.selectionEnd=p,this.selectionStartPosition=a,this.selectionEndPosition=g}toString(){return"[ <"+this.value+">, selectionStart: "+this.selectionStart+", selectionEnd: "+this.selectionEnd+"]"}static readFromTextArea(y){return new D(y.getValue(),y.getSelectionStart(),y.getSelectionEnd(),null,null)}collapseSelection(){return new D(this.value,this.value.length,this.value.length,null,null)}writeToTextArea(y,E,p){P&&console.log("writeToTextArea "+y+": "+this.toString()),E.setValue(y,this.value),p&&E.setSelectionRange(y,this.selectionStart,this.selectionEnd)}deduceEditorPosition(y){if(y<=this.selectionStart){const a=this.value.substring(y,this.selectionStart);return this._finishDeduceEditorPosition(this.selectionStartPosition,a,-1)}if(y>=this.selectionEnd){const a=this.value.substring(this.selectionEnd,y);return this._finishDeduceEditorPosition(this.selectionEndPosition,a,1)}const E=this.value.substring(this.selectionStart,y);if(E.indexOf("\u2026")===-1)return this._finishDeduceEditorPosition(this.selectionStartPosition,E,1);const p=this.value.substring(y,this.selectionEnd);return this._finishDeduceEditorPosition(this.selectionEndPosition,p,-1)}_finishDeduceEditorPosition(y,E,p){let a=0,g=-1;for(;(g=E.indexOf(`
`,g+1))!==-1;)a++;return[y,p*E.length,a]}static selectedText(y){return new D(y,0,y.length,null,null)}static deduceInput(y,E,p){if(!y)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};P&&(console.log("------------------------deduceInput"),console.log("PREVIOUS STATE: "+y.toString()),console.log("CURRENT STATE: "+E.toString()));let a=y.value,g=y.selectionStart,w=y.selectionEnd,s=E.value,C=E.selectionStart,f=E.selectionEnd;const v=a.substring(w),r=s.substring(f),l=h.P1(v,r);s=s.substring(0,s.length-l),a=a.substring(0,a.length-l);const m=a.substring(0,g),c=s.substring(0,C),b=h.Mh(m,c);if(s=s.substring(b),a=a.substring(b),C-=b,g-=b,f-=b,w-=b,P&&(console.log("AFTER DIFFING PREVIOUS STATE: <"+a+">, selectionStart: "+g+", selectionEnd: "+w),console.log("AFTER DIFFING CURRENT STATE: <"+s+">, selectionStart: "+C+", selectionEnd: "+f)),p&&C===f&&a.length>0){let T=null;if(C===s.length?s.startsWith(a)&&(T=s.substring(a.length)):s.endsWith(a)&&(T=s.substring(0,s.length-a.length)),T!==null&&T.length>0&&(/\uFE0F/.test(T)||h.RP(T)))return{text:T,replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0}}if(C===f){if(a===s&&g===0&&w===a.length&&C===s.length&&s.indexOf(`
`)===-1&&h.xe(s))return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const T=m.length-b;return P&&console.log("REMOVE PREVIOUS: "+(m.length-b)+" chars"),{text:s,replacePrevCharCnt:T,replaceNextCharCnt:0,positionDelta:0}}const L=w-g;return{text:s,replacePrevCharCnt:L,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(y,E){if(!y)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(P&&(console.log("------------------------deduceAndroidCompositionInput"),console.log("PREVIOUS STATE: "+y.toString()),console.log("CURRENT STATE: "+E.toString())),y.value===E.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:E.selectionEnd-y.selectionEnd};const p=Math.min(h.Mh(y.value,E.value),y.selectionEnd),a=Math.min(h.P1(y.value,E.value),y.value.length-y.selectionEnd),g=y.value.substring(p,y.value.length-a),w=E.value.substring(p,E.value.length-a),s=y.selectionStart-p,C=y.selectionEnd-p,f=E.selectionStart-p,v=E.selectionEnd-p;return P&&(console.log("AFTER DIFFING PREVIOUS STATE: <"+g+">, selectionStart: "+s+", selectionEnd: "+C),console.log("AFTER DIFFING CURRENT STATE: <"+w+">, selectionStart: "+f+", selectionEnd: "+v)),{text:w,replacePrevCharCnt:C,replaceNextCharCnt:g.length-C,positionDelta:v-w.length}}}D.EMPTY=new D("",0,0,null,null);class G{static _getPageOfLine(y,E){return Math.floor((y-1)/E)}static _getRangeForPage(y,E){const p=y*E,a=p+1,g=p+E;return new O.e(a,1,g+1,1)}static fromEditorSelection(y,E,p,a,g){const w=G._getPageOfLine(p.startLineNumber,a),s=G._getRangeForPage(w,a),C=G._getPageOfLine(p.endLineNumber,a),f=G._getRangeForPage(C,a),v=s.intersectRanges(new O.e(1,1,p.startLineNumber,p.startColumn));let r=E.getValueInRange(v,1);const l=E.getLineCount(),m=E.getLineMaxColumn(l),c=f.intersectRanges(new O.e(p.endLineNumber,p.endColumn,l,m));let b=E.getValueInRange(c,1),L;if(w===C||w+1===C)L=E.getValueInRange(p,1);else{const T=s.intersectRanges(p),M=f.intersectRanges(p);L=E.getValueInRange(T,1)+"\u2026"+E.getValueInRange(M,1)}return g&&(r.length>500&&(r=r.substring(r.length-500,r.length)),b.length>500&&(b=b.substring(0,500)),L.length>2*500&&(L=L.substring(0,500)+"\u2026"+L.substring(L.length-500,L.length))),new D(r+L+b,r.length,r.length+L.length,new H.L(p.startLineNumber,p.startColumn),new H.L(p.endLineNumber,p.endColumn))}}},39528:function(xt,Te,i){"use strict";i.d(Te,{yy:function(){return s},Dl:function(){return C},ZF:function(){return v},YQ:function(){return f}});var h=i(82983),H=i(17373),O=i(96283),P=i(69323),D=i(4514),G=i(90689),I=i(34502),y=i(16925),E=i(7335),p=i(13268);const a=(0,y.yh)("IEditorCancelService"),g=new G.uy("cancellableOperation",!1,(0,p.N)("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));(0,E.z)(a,class{constructor(){this._tokens=new WeakMap}add(r,l){let m=this._tokens.get(r);m||(m=r.invokeWithinContext(b=>{const L=g.bindTo(b.get(G.i6)),T=new I.S;return{key:L,tokens:T}}),this._tokens.set(r,m));let c;return m.key.set(!0),c=m.tokens.push(l),()=>{c&&(c(),m.key.set(!m.tokens.isEmpty()),c=void 0)}}cancel(r){const l=this._tokens.get(r);if(!l)return;const m=l.tokens.pop();m&&(m.cancel(),l.key.set(!l.tokens.isEmpty()))}},!0);class w extends O.A{constructor(l,m){super(m),this.editor=l,this._unregister=l.invokeWithinContext(c=>c.get(a).add(l,this))}dispose(){this._unregister(),super.dispose()}}(0,D.fK)(new class extends D._l{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:g})}runEditorCommand(r,l){r.get(a).cancel(l)}});class s{constructor(l,m){if(this.flags=m,this.flags&1){const c=l.getModel();this.modelVersionId=c?h.WU("{0}#{1}",c.uri.toString(),c.getVersionId()):null}else this.modelVersionId=null;this.flags&4?this.position=l.getPosition():this.position=null,this.flags&2?this.selection=l.getSelection():this.selection=null,this.flags&8?(this.scrollLeft=l.getScrollLeft(),this.scrollTop=l.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(l){if(!(l instanceof s))return!1;const m=l;return!(this.modelVersionId!==m.modelVersionId||this.scrollLeft!==m.scrollLeft||this.scrollTop!==m.scrollTop||!this.position&&m.position||this.position&&!m.position||this.position&&m.position&&!this.position.equals(m.position)||!this.selection&&m.selection||this.selection&&!m.selection||this.selection&&m.selection&&!this.selection.equalsRange(m.selection))}validate(l){return this._equals(new s(l,this.flags))}}class C extends w{constructor(l,m,c,b){super(l,b),this._listener=new P.SL,m&4&&this._listener.add(l.onDidChangeCursorPosition(L=>{(!c||!H.e.containsPosition(c,L.position))&&this.cancel()})),m&2&&this._listener.add(l.onDidChangeCursorSelection(L=>{(!c||!H.e.containsRange(c,L.selection))&&this.cancel()})),m&8&&this._listener.add(l.onDidScrollChange(L=>this.cancel())),m&1&&(this._listener.add(l.onDidChangeModel(L=>this.cancel())),this._listener.add(l.onDidChangeModelContent(L=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}}class f extends O.A{constructor(l,m){super(m),this._listener=l.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}}class v{constructor(l,m,c){this._visiblePosition=l,this._visiblePositionScrollDelta=m,this._cursorPosition=c}static capture(l){let m=null,c=0;if(l.getScrollTop()!==0){const b=l.getVisibleRanges();if(b.length>0){m=b[0].getStartPosition();const L=l.getTopForPosition(m.lineNumber,m.column);c=l.getScrollTop()-L}}return new v(m,c,l.getPosition())}restore(l){if(this._visiblePosition){const m=l.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);l.setScrollTop(m+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(l){const m=l.getPosition();if(!this._cursorPosition||!m)return;const c=l.getTopForLineNumber(m.lineNumber)-l.getTopForLineNumber(this._cursorPosition.lineNumber);l.setScrollTop(l.getScrollTop()+c)}}},56327:function(xt,Te,i){"use strict";i.d(Te,{$:function(){return mi}});var h=i(69454);function H(mt){if(Array.isArray(mt)){for(var ut=0,qe=Array(mt.length);ut<mt.length;ut++)qe[ut]=mt[ut];return qe}else return Array.from(mt)}var O=Object.hasOwnProperty,P=Object.setPrototypeOf,D=Object.isFrozen,G=Object.getPrototypeOf,I=Object.getOwnPropertyDescriptor,y=Object.freeze,E=Object.seal,p=Object.create,a=typeof Reflect!="undefined"&&Reflect,g=a.apply,w=a.construct;g||(g=function(ut,qe,de){return ut.apply(qe,de)}),y||(y=function(ut){return ut}),E||(E=function(ut){return ut}),w||(w=function(ut,qe){return new(Function.prototype.bind.apply(ut,[null].concat(H(qe))))});var s=T(Array.prototype.forEach),C=T(Array.prototype.pop),f=T(Array.prototype.push),v=T(String.prototype.toLowerCase),r=T(String.prototype.match),l=T(String.prototype.replace),m=T(String.prototype.indexOf),c=T(String.prototype.trim),b=T(RegExp.prototype.test),L=M(TypeError);function T(mt){return function(ut){for(var qe=arguments.length,de=Array(qe>1?qe-1:0),Se=1;Se<qe;Se++)de[Se-1]=arguments[Se];return g(mt,ut,de)}}function M(mt){return function(){for(var ut=arguments.length,qe=Array(ut),de=0;de<ut;de++)qe[de]=arguments[de];return w(mt,qe)}}function z(mt,ut){P&&P(mt,null);for(var qe=ut.length;qe--;){var de=ut[qe];if(typeof de=="string"){var Se=v(de);Se!==de&&(D(ut)||(ut[qe]=Se),de=Se)}mt[de]=!0}return mt}function oe(mt){var ut=p(null),qe=void 0;for(qe in mt)g(O,mt,[qe])&&(ut[qe]=mt[qe]);return ut}function se(mt,ut){for(;mt!==null;){var qe=I(mt,ut);if(qe){if(qe.get)return T(qe.get);if(typeof qe.value=="function")return T(qe.value)}mt=G(mt)}function de(Se){return console.warn("fallback value for",Se),null}return de}var re=y(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),De=y(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),J=y(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Z=y(["animate","color-profile","cursor","discard","fedropshadow","feimage","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Q=y(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),le=y(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),xe=y(["#text"]),j=y(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),R=y(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),V=y(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),K=y(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),ie=E(/\{\{[\s\S]*|[\s\S]*\}\}/gm),te=E(/<%[\s\S]*|[\s\S]*%>/gm),ge=E(/^data-[\-\w.\u00B7-\uFFFF]/),ye=E(/^aria-[\-\w]+$/),ve=E(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Fe=E(/^(?:\w+script|data):/i),we=E(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ue=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(mt){return typeof mt}:function(mt){return mt&&typeof Symbol=="function"&&mt.constructor===Symbol&&mt!==Symbol.prototype?"symbol":typeof mt};function ce(mt){if(Array.isArray(mt)){for(var ut=0,qe=Array(mt.length);ut<mt.length;ut++)qe[ut]=mt[ut];return qe}else return Array.from(mt)}var Ve=function(){return typeof window=="undefined"?null:window},We=function(ut,qe){if((typeof ut=="undefined"?"undefined":ue(ut))!=="object"||typeof ut.createPolicy!="function")return null;var de=null,Se="data-tt-policy-suffix";qe.currentScript&&qe.currentScript.hasAttribute(Se)&&(de=qe.currentScript.getAttribute(Se));var Y="dompurify"+(de?"#"+de:"");try{return ut.createPolicy(Y,{createHTML:function(ke){return ke}})}catch(_e){return console.warn("TrustedTypes policy "+Y+" could not be created."),null}};function ae(){var mt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ve(),ut=function(li){return ae(li)};if(ut.version="2.3.1",ut.removed=[],!mt||!mt.document||mt.document.nodeType!==9)return ut.isSupported=!1,ut;var qe=mt.document,de=mt.document,Se=mt.DocumentFragment,Y=mt.HTMLTemplateElement,_e=mt.Node,ke=mt.Element,lt=mt.NodeFilter,nt=mt.NamedNodeMap,pt=nt===void 0?mt.NamedNodeMap||mt.MozNamedAttrMap:nt,Dt=mt.Text,Vt=mt.Comment,Mt=mt.DOMParser,Jt=mt.trustedTypes,jt=ke.prototype,ui=se(jt,"cloneNode"),vi=se(jt,"nextSibling"),Si=se(jt,"childNodes"),Oi=se(jt,"parentNode");if(typeof Y=="function"){var Ri=de.createElement("template");Ri.content&&Ri.content.ownerDocument&&(de=Ri.content.ownerDocument)}var zi=We(Jt,qe),hn=zi&&ii?zi.createHTML(""):"",bn=de,qi=bn.implementation,Rn=bn.createNodeIterator,yn=bn.createDocumentFragment,nn=bn.getElementsByTagName,kn=qe.importNode,Dn={};try{Dn=oe(de).documentMode?de.documentMode:{}}catch(rn){}var En={};ut.isSupported=typeof Oi=="function"&&qi&&typeof qi.createHTMLDocument!="undefined"&&Dn!==9;var Jn=ie,ln=te,$n=ge,Gn=ye,ss=Fe,pn=we,Yn=ve,Vn=null,An=z({},[].concat(ce(re),ce(De),ce(J),ce(Q),ce(xe))),On=null,ts=z({},[].concat(ce(j),ce(R),ce(V),ce(K))),Un=null,sn=null,Lt=!0,F=!0,pe=!1,Ne=!1,je=!1,Je=!1,St=!1,Rt=!1,ti=!1,fi=!0,ii=!1,Ct=!0,k=!0,Ce=!1,Be={},ot=null,wt=z({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Ut=null,Yt=z({},["audio","video","img","source","image","track"]),ei=null,ri=z({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),gi="http://www.w3.org/1998/Math/MathML",Mi="http://www.w3.org/2000/svg",Ei="http://www.w3.org/1999/xhtml",xi=Ei,Pi=!1,ki=null,Bi=de.createElement("form"),on=function(li){ki&&ki===li||((!li||(typeof li=="undefined"?"undefined":ue(li))!=="object")&&(li={}),li=oe(li),Vn="ALLOWED_TAGS"in li?z({},li.ALLOWED_TAGS):An,On="ALLOWED_ATTR"in li?z({},li.ALLOWED_ATTR):ts,ei="ADD_URI_SAFE_ATTR"in li?z(oe(ri),li.ADD_URI_SAFE_ATTR):ri,Ut="ADD_DATA_URI_TAGS"in li?z(oe(Yt),li.ADD_DATA_URI_TAGS):Yt,ot="FORBID_CONTENTS"in li?z({},li.FORBID_CONTENTS):wt,Un="FORBID_TAGS"in li?z({},li.FORBID_TAGS):{},sn="FORBID_ATTR"in li?z({},li.FORBID_ATTR):{},Be="USE_PROFILES"in li?li.USE_PROFILES:!1,Lt=li.ALLOW_ARIA_ATTR!==!1,F=li.ALLOW_DATA_ATTR!==!1,pe=li.ALLOW_UNKNOWN_PROTOCOLS||!1,Ne=li.SAFE_FOR_TEMPLATES||!1,je=li.WHOLE_DOCUMENT||!1,Rt=li.RETURN_DOM||!1,ti=li.RETURN_DOM_FRAGMENT||!1,fi=li.RETURN_DOM_IMPORT!==!1,ii=li.RETURN_TRUSTED_TYPE||!1,St=li.FORCE_BODY||!1,Ct=li.SANITIZE_DOM!==!1,k=li.KEEP_CONTENT!==!1,Ce=li.IN_PLACE||!1,Yn=li.ALLOWED_URI_REGEXP||Yn,xi=li.NAMESPACE||Ei,Ne&&(F=!1),ti&&(Rt=!0),Be&&(Vn=z({},[].concat(ce(xe))),On=[],Be.html===!0&&(z(Vn,re),z(On,j)),Be.svg===!0&&(z(Vn,De),z(On,R),z(On,K)),Be.svgFilters===!0&&(z(Vn,J),z(On,R),z(On,K)),Be.mathMl===!0&&(z(Vn,Q),z(On,V),z(On,K))),li.ADD_TAGS&&(Vn===An&&(Vn=oe(Vn)),z(Vn,li.ADD_TAGS)),li.ADD_ATTR&&(On===ts&&(On=oe(On)),z(On,li.ADD_ATTR)),li.ADD_URI_SAFE_ATTR&&z(ei,li.ADD_URI_SAFE_ATTR),li.FORBID_CONTENTS&&(ot===wt&&(ot=oe(ot)),z(ot,li.FORBID_CONTENTS)),k&&(Vn["#text"]=!0),je&&z(Vn,["html","head","body"]),Vn.table&&(z(Vn,["tbody"]),delete Un.tbody),y&&y(li),ki=li)},zn=z({},["mi","mo","mn","ms","mtext"]),hs=z({},["foreignobject","desc","title","annotation-xml"]),en=z({},De);z(en,J),z(en,Z);var mn=z({},Q);z(mn,le);var Pn=function(li){var Ai=Oi(li);(!Ai||!Ai.tagName)&&(Ai={namespaceURI:Ei,tagName:"template"});var Hi=v(li.tagName),vn=v(Ai.tagName);if(li.namespaceURI===Mi)return Ai.namespaceURI===Ei?Hi==="svg":Ai.namespaceURI===gi?Hi==="svg"&&(vn==="annotation-xml"||zn[vn]):!!en[Hi];if(li.namespaceURI===gi)return Ai.namespaceURI===Ei?Hi==="math":Ai.namespaceURI===Mi?Hi==="math"&&hs[vn]:!!mn[Hi];if(li.namespaceURI===Ei){if(Ai.namespaceURI===Mi&&!hs[vn]||Ai.namespaceURI===gi&&!zn[vn])return!1;var is=z({},["title","style","font","a","script"]);return!mn[Hi]&&(is[Hi]||!en[Hi])}return!1},Yi=function(li){f(ut.removed,{element:li});try{li.parentNode.removeChild(li)}catch(Ai){try{li.outerHTML=hn}catch(Hi){li.remove()}}},tn=function(li,Ai){try{f(ut.removed,{attribute:Ai.getAttributeNode(li),from:Ai})}catch(Hi){f(ut.removed,{attribute:null,from:Ai})}if(Ai.removeAttribute(li),li==="is"&&!On[li])if(Rt||ti)try{Yi(Ai)}catch(Hi){}else try{Ai.setAttribute(li,"")}catch(Hi){}},Bn=function(li){var Ai=void 0,Hi=void 0;if(St)li="<remove></remove>"+li;else{var vn=r(li,/^[\r\n\t ]+/);Hi=vn&&vn[0]}var is=zi?zi.createHTML(li):li;if(xi===Ei)try{Ai=new Mt().parseFromString(is,"text/html")}catch(at){}if(!Ai||!Ai.documentElement){Ai=qi.createDocument(xi,"template",null);try{Ai.documentElement.innerHTML=Pi?"":is}catch(at){}}var Tn=Ai.body||Ai.documentElement;return li&&Hi&&Tn.insertBefore(de.createTextNode(Hi),Tn.childNodes[0]||null),xi===Ei?nn.call(Ai,je?"html":"body")[0]:je?Ai.documentElement:Tn},vs=function(li){return Rn.call(li.ownerDocument||li,li,lt.SHOW_ELEMENT|lt.SHOW_COMMENT|lt.SHOW_TEXT,null,!1)},ws=function(li){return li instanceof Dt||li instanceof Vt?!1:typeof li.nodeName!="string"||typeof li.textContent!="string"||typeof li.removeChild!="function"||!(li.attributes instanceof pt)||typeof li.removeAttribute!="function"||typeof li.setAttribute!="function"||typeof li.namespaceURI!="string"||typeof li.insertBefore!="function"},ds=function(li){return(typeof _e=="undefined"?"undefined":ue(_e))==="object"?li instanceof _e:li&&(typeof li=="undefined"?"undefined":ue(li))==="object"&&typeof li.nodeType=="number"&&typeof li.nodeName=="string"},ms=function(li,Ai,Hi){En[li]&&s(En[li],function(vn){vn.call(ut,Ai,Hi,ki)})},cs=function(li){var Ai=void 0;if(ms("beforeSanitizeElements",li,null),ws(li)||r(li.nodeName,/[\u0080-\uFFFF]/))return Yi(li),!0;var Hi=v(li.nodeName);if(ms("uponSanitizeElement",li,{tagName:Hi,allowedTags:Vn}),!ds(li.firstElementChild)&&(!ds(li.content)||!ds(li.content.firstElementChild))&&b(/<[/\w]/g,li.innerHTML)&&b(/<[/\w]/g,li.textContent)||Hi==="select"&&b(/<template/i,li.innerHTML))return Yi(li),!0;if(!Vn[Hi]||Un[Hi]){if(k&&!ot[Hi]){var vn=Oi(li)||li.parentNode,is=Si(li)||li.childNodes;if(is&&vn)for(var Tn=is.length,at=Tn-1;at>=0;--at)vn.insertBefore(ui(is[at],!0),vi(li))}return Yi(li),!0}return li instanceof ke&&!Pn(li)||(Hi==="noscript"||Hi==="noembed")&&b(/<\/no(script|embed)/i,li.innerHTML)?(Yi(li),!0):(Ne&&li.nodeType===3&&(Ai=li.textContent,Ai=l(Ai,Jn," "),Ai=l(Ai,ln," "),li.textContent!==Ai&&(f(ut.removed,{element:li.cloneNode()}),li.textContent=Ai)),ms("afterSanitizeElements",li,null),!1)},us=function(li,Ai,Hi){if(Ct&&(Ai==="id"||Ai==="name")&&(Hi in de||Hi in Bi))return!1;if(!(F&&!sn[Ai]&&b($n,Ai))){if(!(Lt&&b(Gn,Ai))){if(!On[Ai]||sn[Ai])return!1;if(!ei[Ai]){if(!b(Yn,l(Hi,pn,""))){if(!((Ai==="src"||Ai==="xlink:href"||Ai==="href")&&li!=="script"&&m(Hi,"data:")===0&&Ut[li])){if(!(pe&&!b(ss,l(Hi,pn,"")))){if(Hi)return!1}}}}}}return!0},os=function(li){var Ai=void 0,Hi=void 0,vn=void 0,is=void 0;ms("beforeSanitizeAttributes",li,null);var Tn=li.attributes;if(Tn){var at={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:On};for(is=Tn.length;is--;){Ai=Tn[is];var u=Ai,x=u.name,U=u.namespaceURI;if(Hi=c(Ai.value),vn=v(x),at.attrName=vn,at.attrValue=Hi,at.keepAttr=!0,at.forceKeepAttr=void 0,ms("uponSanitizeAttribute",li,at),Hi=at.attrValue,!at.forceKeepAttr&&(tn(x,li),!!at.keepAttr)){if(b(/\/>/i,Hi)){tn(x,li);continue}Ne&&(Hi=l(Hi,Jn," "),Hi=l(Hi,ln," "));var be=li.nodeName.toLowerCase();if(us(be,vn,Hi))try{U?li.setAttributeNS(U,x,Hi):li.setAttribute(x,Hi),C(ut.removed)}catch(Me){}}}ms("afterSanitizeAttributes",li,null)}},to=function rn(li){var Ai=void 0,Hi=vs(li);for(ms("beforeSanitizeShadowDOM",li,null);Ai=Hi.nextNode();)ms("uponSanitizeShadowNode",Ai,null),!cs(Ai)&&(Ai.content instanceof Se&&rn(Ai.content),os(Ai));ms("afterSanitizeShadowDOM",li,null)};return ut.sanitize=function(rn,li){var Ai=void 0,Hi=void 0,vn=void 0,is=void 0,Tn=void 0;if(Pi=!rn,Pi&&(rn="<!-->"),typeof rn!="string"&&!ds(rn)){if(typeof rn.toString!="function")throw L("toString is not a function");if(rn=rn.toString(),typeof rn!="string")throw L("dirty is not a string, aborting")}if(!ut.isSupported){if(ue(mt.toStaticHTML)==="object"||typeof mt.toStaticHTML=="function"){if(typeof rn=="string")return mt.toStaticHTML(rn);if(ds(rn))return mt.toStaticHTML(rn.outerHTML)}return rn}if(Je||on(li),ut.removed=[],typeof rn=="string"&&(Ce=!1),!Ce)if(rn instanceof _e)Ai=Bn("<!---->"),Hi=Ai.ownerDocument.importNode(rn,!0),Hi.nodeType===1&&Hi.nodeName==="BODY"||Hi.nodeName==="HTML"?Ai=Hi:Ai.appendChild(Hi);else{if(!Rt&&!Ne&&!je&&rn.indexOf("<")===-1)return zi&&ii?zi.createHTML(rn):rn;if(Ai=Bn(rn),!Ai)return Rt?null:hn}Ai&&St&&Yi(Ai.firstChild);for(var at=vs(Ce?rn:Ai);vn=at.nextNode();)vn.nodeType===3&&vn===is||cs(vn)||(vn.content instanceof Se&&to(vn.content),os(vn),is=vn);if(is=null,Ce)return rn;if(Rt){if(ti)for(Tn=yn.call(Ai.ownerDocument);Ai.firstChild;)Tn.appendChild(Ai.firstChild);else Tn=Ai;return fi&&(Tn=kn.call(qe,Tn,!0)),Tn}var u=je?Ai.outerHTML:Ai.innerHTML;return Ne&&(u=l(u,Jn," "),u=l(u,ln," ")),zi&&ii?zi.createHTML(u):u},ut.setConfig=function(rn){on(rn),Je=!0},ut.clearConfig=function(){ki=null,Je=!1},ut.isValidAttribute=function(rn,li,Ai){ki||on({});var Hi=v(rn),vn=v(li);return us(Hi,vn,Ai)},ut.addHook=function(rn,li){typeof li=="function"&&(En[rn]=En[rn]||[],f(En[rn],li))},ut.removeHook=function(rn){En[rn]&&C(En[rn])},ut.removeHooks=function(rn){En[rn]&&(En[rn]=[])},ut.removeAllHooks=function(){En={}},ut}var fe=ae(),ne=null;const W=fe.version,$=fe.isSupported,ee=fe.sanitize,he=fe.setConfig,Pe=fe.clearConfig,Ye=fe.isValidAttribute,it=fe.addHook,rt=fe.removeHook,vt=fe.removeHooks,Ft=fe.removeAllHooks;var Ht=i(8035),ze=i(40575),Xe=i(52390),Ze=i(67069),Ae=i(50431),He=i(96283),Et=i(79881),Wt=i(4348),oi=i(94186),ni=i(38940),hi=i(85035),Di=i(69323),Ti=i(39941),Ni=i(96211),ai=i(66657),Pt=i(80470),Gt=i(9365),st=i(82983),gt=i(4968);function ht(mt,ut={},qe={}){var de;const Se=new Di.SL;let Y=!1;const _e=Se.add(new He.A),ke=(0,ze.az)(ut),lt=function(jt){let ui;try{ui=(0,Ni.Q)(decodeURIComponent(jt))}catch(vi){}return ui?(ui=(0,Pt.rs)(ui,vi=>{if(mt.uris&&mt.uris[vi])return gt.o.revive(mt.uris[vi])}),encodeURIComponent(JSON.stringify(ui))):jt},nt=function(jt,ui){const vi=mt.uris&&mt.uris[jt];if(!vi)return jt;let Si=gt.o.revive(vi);return ui?jt.startsWith(ai.lg.data+":")?jt:ai.Gi.asBrowserUri(Si).toString(!0):gt.o.parse(jt).toString()===Si.toString()?jt:(Si.query&&(Si=Si.with({query:lt(Si.query)})),Si.toString())};let pt;const Dt=new Promise(jt=>pt=jt),Vt=new Ti.Th;if(Vt.image=(jt,ui,vi)=>{let Si=[],Oi=[];if(jt){({href:jt,dimensions:Si}=(0,oi.v1)(jt)),jt=nt(jt,!0);try{const Ri=gt.o.parse(jt);ut.baseUrl&&Ri.scheme===ai.lg.file&&(jt=(0,Gt.i3)(ut.baseUrl,jt).toString())}catch(Ri){}Oi.push(`src="${jt}"`)}return vi&&Oi.push(`alt="${vi}"`),ui&&Oi.push(`title="${ui}"`),Si.length&&(Oi=Oi.concat(Si)),"<img "+Oi.join(" ")+">"},Vt.link=(jt,ui,vi)=>(jt===vi&&(vi=(0,oi.oR)(vi)),jt=nt(jt,!1),ut.baseUrl&&(/^\w[\w\d+.-]*:/.test(jt)||(jt=(0,Gt.i3)(ut.baseUrl,jt).toString())),ui=(0,oi.oR)(ui),jt=(0,oi.oR)(jt),!jt||jt.match(/^data:|javascript:/i)||jt.match(/^command:/i)&&!mt.isTrusted||jt.match(/^command:(\/\/\/)?_workbench\.downloadResource/i)?vi:(jt=jt.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;"),`<a href="#" data-href="${jt}" title="${ui||jt}">${vi}</a>`)),Vt.paragraph=jt=>`<p>${jt}</p>`,ut.codeBlockRenderer&&(Vt.code=(jt,ui)=>{const vi=ut.codeBlockRenderer(ui,jt),Si=hi.a.nextId();return(0,Ae.eP)(Promise.all([vi,Dt]),_e.token).then(Oi=>{var Ri;if(!Y&&Oi){const zi=ke.querySelector(`div[data-code="${Si}"]`);zi&&h.mc(zi,Oi[0]),(Ri=ut.asyncRenderCallback)===null||Ri===void 0||Ri.call(ut)}}).catch(()=>{}),`<div class="code" data-code="${Si}">${(0,st.YU)(jt)}</div>`}),ut.actionHandler){const jt=ut.actionHandler.disposables.add(new Ht.Y(ke,"click")),ui=ut.actionHandler.disposables.add(new Ht.Y(ke,"auxclick"));ut.actionHandler.disposables.add(Wt.ju.any(jt.event,ui.event)(vi=>{const Si=new Xe.n(vi);if(!Si.leftButton&&!Si.middleButton)return;let Oi=Si.target;if(!(Oi.tagName!=="A"&&(Oi=Oi.parentElement,!Oi||Oi.tagName!=="A")))try{const Ri=Oi.dataset.href;Ri&&ut.actionHandler.callback(Ri,Si)}catch(Ri){(0,Et.dL)(Ri)}finally{Si.preventDefault()}}))}mt.supportHtml||(qe.sanitizer=jt=>(mt.isTrusted?jt.match(/^(<span[^>]+>)|(<\/\s*span>)$/):void 0)?jt:"",qe.sanitize=!0,qe.silent=!0),qe.renderer=Vt;let Mt=(de=mt.value)!==null&&de!==void 0?de:"";Mt.length>1e5&&(Mt=`${Mt.substr(0,1e5)}\u2026`),mt.supportThemeIcons&&(Mt=(0,ni.f$)(Mt));let Jt=Ti.Qc(Mt,qe);if(mt.supportThemeIcons&&(Jt=(0,Ze.T)(Jt).map(ui=>typeof ui=="string"?ui:ui.outerHTML).join("")),ke.innerHTML=Qe(mt,Jt),pt(),ut.asyncRenderCallback)for(const jt of ke.getElementsByTagName("img")){const ui=Se.add(h.nm(jt,"load",()=>{ui.dispose(),ut.asyncRenderCallback()}))}return{element:ke,dispose:()=>{Y=!0,_e.cancel(),Se.dispose()}}}function Qe(mt,ut){const{config:qe,allowedSchemes:de}=$e(mt);it("uponSanitizeAttribute",(Y,_e)=>{if(_e.attrName==="style"||_e.attrName==="class"){if(Y.tagName==="SPAN"){if(_e.attrName==="style"){_e.keepAttr=/^(color\:#[0-9a-fA-F]+;)?(background-color\:#[0-9a-fA-F]+;)?$/.test(_e.attrValue);return}else if(_e.attrName==="class"){_e.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(_e.attrValue);return}}_e.keepAttr=!1;return}});const Se=document.createElement("a");it("afterSanitizeAttributes",Y=>{for(const _e of["href","src"])Y.hasAttribute(_e)&&(Se.href=Y.getAttribute(_e),de.includes(Se.protocol.replace(/:$/,""))||Y.removeAttribute(_e))});try{return ee(ut,Object.assign(Object.assign({},qe),{RETURN_TRUSTED_TYPE:!0}))}finally{rt("uponSanitizeAttribute"),rt("afterSanitizeAttributes")}}function $e(mt){const ut=[ai.lg.http,ai.lg.https,ai.lg.mailto,ai.lg.data,ai.lg.file,ai.lg.vscodeFileResource,ai.lg.vscodeRemote,ai.lg.vscodeRemoteResource];return mt.isTrusted&&ut.push(ai.lg.command),{config:{ALLOWED_TAGS:["ul","li","p","b","i","code","blockquote","ol","h1","h2","h3","h4","h5","h6","hr","em","pre","table","thead","tbody","tr","th","td","div","del","a","strong","br","img","span"],ALLOWED_ATTR:["href","data-href","target","title","src","alt","class","style","data-code","width","height","align"],ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:ut}}var Ie=i(271),Oe=i(64992),Ke=i(5972),ct=i(27347),Nt=i(84571),$t=function(mt,ut,qe,de){var Se=arguments.length,Y=Se<3?ut:de===null?de=Object.getOwnPropertyDescriptor(ut,qe):de,_e;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Y=Reflect.decorate(mt,ut,qe,de);else for(var ke=mt.length-1;ke>=0;ke--)(_e=mt[ke])&&(Y=(Se<3?_e(Y):Se>3?_e(ut,qe,Y):_e(ut,qe))||Y);return Se>3&&Y&&Object.defineProperty(ut,qe,Y),Y},Xt=function(mt,ut){return function(qe,de){ut(qe,de,mt)}},Ci=function(mt,ut,qe,de){function Se(Y){return Y instanceof qe?Y:new qe(function(_e){_e(Y)})}return new(qe||(qe=Promise))(function(Y,_e){function ke(pt){try{nt(de.next(pt))}catch(Dt){_e(Dt)}}function lt(pt){try{nt(de.throw(pt))}catch(Dt){_e(Dt)}}function nt(pt){pt.done?Y(pt.value):Se(pt.value).then(ke,lt)}nt((de=de.apply(mt,ut||[])).next())})},Zt;let mi=class fl{constructor(ut,qe,de){this._options=ut,this._modeService=qe,this._openerService=de,this._onDidRenderAsync=new Wt.Q5,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(ut,qe,de){if(!ut)return{element:document.createElement("span"),dispose:()=>{}};const Se=new Di.SL;return{element:Se.add(ht(ut,Object.assign(Object.assign({},this._getRenderOptions(ut,Se)),qe),de)).element,dispose:()=>Se.dispose()}}_getRenderOptions(ut,qe){return{baseUrl:this._options.baseUrl,codeBlockRenderer:(de,Se)=>Ci(this,void 0,void 0,function*(){var Y,_e,ke,lt;let nt;de?nt=this._modeService.getModeIdForLanguageName(de):this._options.editor&&(nt=(Y=this._options.editor.getModel())===null||Y===void 0?void 0:Y.getLanguageId()),nt||(nt="plaintext"),this._modeService.triggerMode(nt);const pt=(_e=yield ct.RW.getPromise(nt))!==null&&_e!==void 0?_e:void 0,Dt=document.createElement("span");if(Dt.innerHTML=(lt=(ke=fl._ttpTokenizer)===null||ke===void 0?void 0:ke.createHTML(Se,this._modeService.languageIdCodec,pt))!==null&&lt!==void 0?lt:(0,Ke.C)(Se,this._modeService.languageIdCodec,pt),this._options.editor){const Vt=this._options.editor.getOption(43);Nt.V.applyFontInfoSlow(Dt,Vt)}else this._options.codeBlockFontFamily&&(Dt.style.fontFamily=this._options.codeBlockFontFamily);return Dt}),asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:de=>this._openerService.open(de,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:ut.isTrusted}).catch(Et.dL),disposables:qe}}}};mi._ttpTokenizer=(Zt=window.trustedTypes)===null||Zt===void 0?void 0:Zt.createPolicy("tokenizeToString",{createHTML(mt,ut,qe){return(0,Ke.C)(mt,ut,qe)}}),mi=$t([Xt(1,Oe.h),Xt(2,Ie.v4)],mi)},62843:function(xt,Te,i){"use strict";i.d(Te,{CL:function(){return H},Pi:function(){return P},QI:function(){return O}});var h=i(91676);function H(D){return D&&typeof D.getEditorType=="function"?D.getEditorType()===h.g.ICodeEditor:!1}function O(D){return D&&typeof D.getEditorType=="function"?D.getEditorType()===h.g.IDiffEditor:!1}function P(D){return H(D)?D:O(D)?D.getModifiedEditor():null}},4514:function(xt,Te,i){"use strict";i.d(Te,{AJ:function(){return f},QG:function(){return z},Qr:function(){return T},R6:function(){return l},Sq:function(){return le},Uc:function(){return se},_K:function(){return oe},_l:function(){return r},f:function(){return b},fK:function(){return L},jY:function(){return m},kz:function(){return Q},mY:function(){return C},n_:function(){return Z},rn:function(){return M},sb:function(){return c}});var h=i(13268),H=i(4968),O=i(70827),P=i(72146),D=i(12027),G=i(16862),I=i(96236),y=i(35884),E=i(90689),p=i(86414),a=i(44650),g=i(14347),w=i(72999),s=i(44182);class C{constructor(j){this.id=j.id,this.precondition=j.precondition,this._kbOpts=j.kbOpts,this._menuOpts=j.menuOpts,this._description=j.description}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const j=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const R of j){let V=R.kbExpr;this.precondition&&(V?V=E.Ao.and(V,this.precondition):V=this.precondition);const K={id:this.id,weight:R.weight,args:R.args,when:V,primary:R.primary,secondary:R.secondary,win:R.win,linux:R.linux,mac:R.mac};p.W.registerKeybindingRule(K)}}y.P.registerCommand({id:this.id,handler:(j,R)=>this.runCommand(j,R),description:this._description})}_registerMenuItem(j){I.BH.appendMenuItem(j.menuId,{group:j.group,command:{id:this.id,title:j.title,icon:j.icon,precondition:this.precondition},when:j.when,order:j.order})}}class f extends C{constructor(){super(...arguments),this._implementations=[]}addImplementation(j,R,V){return this._implementations.push({priority:j,name:R,implementation:V}),this._implementations.sort((K,ie)=>ie.priority-K.priority),{dispose:()=>{for(let K=0;K<this._implementations.length;K++)if(this._implementations[K].implementation===V){this._implementations.splice(K,1);return}}}}runCommand(j,R){const V=j.get(s.VZ);V.trace(`Executing Command '${this.id}' which has ${this._implementations.length} bound.`);for(const K of this._implementations){const ie=K.implementation(j,R);if(ie)return V.trace(`Command '${this.id}' was handled by '${K.name}'.`),typeof ie=="boolean"?void 0:ie}V.trace(`The Command '${this.id}' was not handled by any implementation.`)}}class v extends C{constructor(j,R){super(R),this.command=j}runCommand(j,R){return this.command.runCommand(j,R)}}class r extends C{static bindToContribution(j){return class extends r{constructor(V){super(V),this._callback=V.handler}runEditorCommand(V,K,ie){j(K)&&this._callback(j(K),ie)}}}runCommand(j,R){const V=j.get(O.$),K=V.getFocusedCodeEditor()||V.getActiveCodeEditor();if(K)return K.invokeWithinContext(ie=>{if(ie.get(E.i6).contextMatchesRules((0,w.f6)(this.precondition)))return this.runEditorCommand(ie,K,R)})}}class l extends r{constructor(j){super(l.convertOptions(j)),this.label=j.label,this.alias=j.alias}static convertOptions(j){let R;Array.isArray(j.menuOpts)?R=j.menuOpts:j.menuOpts?R=[j.menuOpts]:R=[];function V(K){return K.menuId||(K.menuId=I.eH.EditorContext),K.title||(K.title=j.label),K.when=E.Ao.and(j.precondition,K.when),K}return Array.isArray(j.contextMenuOpts)?R.push(...j.contextMenuOpts.map(V)):j.contextMenuOpts&&R.push(V(j.contextMenuOpts)),j.menuOpts=R,j}runEditorCommand(j,R,V){return this.reportTelemetry(j,R),this.run(j,R,V||{})}reportTelemetry(j,R){j.get(g.b).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class m extends l{constructor(){super(...arguments),this._implementations=[]}addImplementation(j,R){return this._implementations.push([j,R]),this._implementations.sort((V,K)=>K[0]-V[0]),{dispose:()=>{for(let V=0;V<this._implementations.length;V++)if(this._implementations[V][1]===R){this._implementations.splice(V,1);return}}}}run(j,R,V){for(const K of this._implementations){const ie=K[1](j,R,V);if(ie)return typeof ie=="boolean"?void 0:ie}}}function c(xe,j){y.P.registerCommand(xe,function(R,...V){const[K,ie]=V;(0,w.p_)(H.o.isUri(K)),(0,w.p_)(P.L.isIPosition(ie));const te=R.get(D.q).getModel(K);if(te){const ge=P.L.lift(ie);return j(te,ge,...V.slice(2))}return R.get(G.S).createModelReference(K).then(ge=>new Promise((ye,ve)=>{try{const Fe=j(ge.object.textEditorModel,P.L.lift(ie),V.slice(2));ye(Fe)}catch(Fe){ve(Fe)}}).finally(()=>{ge.dispose()}))})}function b(xe,j){y.P.registerCommand(xe,function(R,...V){const[K]=V;(0,w.p_)(H.o.isUri(K));const ie=R.get(D.q).getModel(K);return ie?j(ie,...V.slice(1)):R.get(G.S).createModelReference(K).then(te=>new Promise((ge,ye)=>{try{const ve=j(te.object.textEditorModel,V.slice(1));ge(ve)}catch(ve){ye(ve)}}).finally(()=>{te.dispose()}))})}function L(xe){return De.INSTANCE.registerEditorCommand(xe),xe}function T(xe){const j=new xe;return De.INSTANCE.registerEditorAction(j),j}function M(xe){return De.INSTANCE.registerEditorAction(xe),xe}function z(xe){De.INSTANCE.registerEditorAction(xe)}function oe(xe,j){De.INSTANCE.registerEditorContribution(xe,j)}var se;(function(xe){function j(te){return De.INSTANCE.getEditorCommand(te)}xe.getEditorCommand=j;function R(){return De.INSTANCE.getEditorActions()}xe.getEditorActions=R;function V(){return De.INSTANCE.getEditorContributions()}xe.getEditorContributions=V;function K(te){return De.INSTANCE.getEditorContributions().filter(ge=>te.indexOf(ge.id)>=0)}xe.getSomeEditorContributions=K;function ie(){return De.INSTANCE.getDiffEditorContributions()}xe.getDiffEditorContributions=ie})(se||(se={}));const re={EditorCommonContributions:"editor.contributions"};class De{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(j,R){this.editorContributions.push({id:j,ctor:R})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(j){j.register(),this.editorActions.push(j)}getEditorActions(){return this.editorActions.slice(0)}registerEditorCommand(j){j.register(),this.editorCommands[j.id]=j}getEditorCommand(j){return this.editorCommands[j]||null}}De.INSTANCE=new De,a.B.add(re.EditorCommonContributions,De.INSTANCE);function J(xe){return xe.register(),xe}const Z=J(new f({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:I.eH.MenubarEditMenu,group:"1_do",title:h.N({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1},{menuId:I.eH.CommandPalette,group:"",title:h.N("undo","Undo"),order:1}]}));J(new v(Z,{id:"default:undo",precondition:void 0}));const Q=J(new f({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:I.eH.MenubarEditMenu,group:"1_do",title:h.N({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2},{menuId:I.eH.CommandPalette,group:"",title:h.N("redo","Redo"),order:1}]}));J(new v(Q,{id:"default:redo",precondition:void 0}));const le=J(new f({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:I.eH.MenubarSelectionMenu,group:"1_basic",title:h.N({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1},{menuId:I.eH.CommandPalette,group:"",title:h.N("selectAll","Select All"),order:1}]}))},97705:function(xt,Te,i){"use strict";i.d(Te,{Gl:function(){return y},fo:function(){return I},vu:function(){return P}});var h=i(16925),H=i(4968),O=i(72999);const P=(0,h.yh)("IWorkspaceEditService");function D(p){return(0,O.Kn)(p)&&(!!p.newUri||!!p.oldUri)}function G(p){return(0,O.Kn)(p)&&H.o.isUri(p.resource)&&(0,O.Kn)(p.edit)}class I{constructor(a){this.metadata=a}static convert(a){return a.edits.map(g=>{if(G(g))return new y(g.resource,g.edit,g.modelVersionId,g.metadata);if(D(g))return new E(g.oldUri,g.newUri,g.options,g.metadata);throw new Error("Unsupported edit")})}}class y extends I{constructor(a,g,w,s){super(s),this.resource=a,this.textEdit=g,this.versionId=w}}class E extends I{constructor(a,g,w,s){super(s),this.oldResource=a,this.newResource=g,this.options=w}}},70827:function(xt,Te,i){"use strict";i.d(Te,{$:function(){return H}});var h=i(16925);const H=(0,h.yh)("codeEditorService")},11036:function(xt,Te,i){"use strict";i.d(Te,{Gm:function(){return Ho}});var h=i(49178),H=i(4514),O=function(Tt,e,n,d){var N=arguments.length,A=N<3?e:d===null?d=Object.getOwnPropertyDescriptor(e,n):d,X;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")A=Reflect.decorate(Tt,e,n,d);else for(var Le=Tt.length-1;Le>=0;Le--)(X=Tt[Le])&&(A=(N<3?X(A):N>3?X(e,n,A):X(e,n))||A);return N>3&&A&&Object.defineProperty(e,n,A),A},P=function(Tt,e){return function(n,d){e(n,d,Tt)}};let D=class{constructor(e,n){}dispose(){}};D.ID="editor.contrib.markerDecorations",D=O([P(1,h.i)],D),(0,H._K)(D.ID,D);var G=i(13268),I=i(69454),y=i(79881),E=i(4348),p=i(69323),a=i(66657),g=i(84571),w=i(70827),s=i(87783),C=i(17551),f=i(2727),v=i(23345),r=i(60537),l=i(52390),m=i(50431),c=i(2395);class b{constructor(e,n){this.x=e,this.y=n,this._pageCoordinatesBrand=void 0}toClientCoordinates(){return new L(this.x-I.DI.scrollX,this.y-I.DI.scrollY)}}class L{constructor(e,n){this.clientX=e,this.clientY=n,this._clientCoordinatesBrand=void 0}toPageCoordinates(){return new b(this.clientX+I.DI.scrollX,this.clientY+I.DI.scrollY)}}class T{constructor(e,n,d,N){this.x=e,this.y=n,this.width=d,this.height=N,this._editorPagePositionBrand=void 0}}function M(Tt){const e=I.i(Tt);return new T(e.left,e.top,e.width,e.height)}class z extends l.n{constructor(e,n){super(e),this._editorMouseEventBrand=void 0,this.pos=new b(this.posx,this.posy),this.editorPos=M(n)}}class oe{constructor(e){this._editorViewDomNode=e}_create(e){return new z(e,this._editorViewDomNode)}onContextMenu(e,n){return I.nm(e,"contextmenu",d=>{n(this._create(d))})}onMouseUp(e,n){return I.nm(e,"mouseup",d=>{n(this._create(d))})}onMouseDown(e,n){return I.nm(e,"mousedown",d=>{n(this._create(d))})}onMouseLeave(e,n){return I.j_(e,d=>{n(this._create(d))})}onMouseMoveThrottled(e,n,d,N){const A=(X,Le)=>d(X,this._create(Le));return I.Y_(e,"mousemove",n,A,N)}}class se{constructor(e){this._editorViewDomNode=e}_create(e){return new z(e,this._editorViewDomNode)}onPointerUp(e,n){return I.nm(e,"pointerup",d=>{n(this._create(d))})}onPointerDown(e,n){return I.nm(e,"pointerdown",d=>{n(this._create(d))})}onPointerLeave(e,n){return I.RE(e,d=>{n(this._create(d))})}onPointerMoveThrottled(e,n,d,N){const A=(X,Le)=>d(X,this._create(Le));return I.Y_(e,"pointermove",n,A,N)}}class re extends p.JT{constructor(e){super(),this._editorViewDomNode=e,this._globalMouseMoveMonitor=this._register(new c.Z),this._keydownListener=null}startMonitoring(e,n,d,N,A){this._keydownListener=I.mu(document,"keydown",Le=>{Le.toKeybinding().isModifierKey()||this._globalMouseMoveMonitor.stopMonitoring(!0,Le.browserEvent)},!0);const X=(Le,Re)=>d(Le,new z(Re,this._editorViewDomNode));this._globalMouseMoveMonitor.startMonitoring(e,n,X,N,Le=>{this._keydownListener.dispose(),A(Le)})}stopMonitoring(){this._globalMouseMoveMonitor.stopMonitoring(!0)}}class De extends p.JT{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let n=!1;for(let d=0,N=e.length;d<N;d++){let A=e[d];switch(A.type){case 0:this.onCompositionStart(A)&&(n=!0);break;case 1:this.onCompositionEnd(A)&&(n=!0);break;case 2:this.onConfigurationChanged(A)&&(n=!0);break;case 3:this.onCursorStateChanged(A)&&(n=!0);break;case 4:this.onDecorationsChanged(A)&&(n=!0);break;case 5:this.onFlushed(A)&&(n=!0);break;case 6:this.onFocusChanged(A)&&(n=!0);break;case 7:this.onLanguageConfigurationChanged(A)&&(n=!0);break;case 8:this.onLineMappingChanged(A)&&(n=!0);break;case 9:this.onLinesChanged(A)&&(n=!0);break;case 10:this.onLinesDeleted(A)&&(n=!0);break;case 11:this.onLinesInserted(A)&&(n=!0);break;case 12:this.onRevealRangeRequest(A)&&(n=!0);break;case 13:this.onScrollChanged(A)&&(n=!0);break;case 15:this.onTokensChanged(A)&&(n=!0);break;case 14:this.onThemeChanged(A)&&(n=!0);break;case 16:this.onTokensColorsChanged(A)&&(n=!0);break;case 17:this.onZonesChanged(A)&&(n=!0);break;default:console.info("View received unknown event: "),console.info(A)}}n&&(this._shouldRender=!0)}}class J extends De{constructor(e){super(),this._context=e,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}}class Z{static write(e,n){e instanceof f.Z,e.setAttribute("data-mprt",String(n))}static read(e){const n=e.getAttribute("data-mprt");return n===null?0:parseInt(n,10)}static collect(e,n){let d=[],N=0;for(;e&&e!==document.body&&e!==n;)e.nodeType===e.ELEMENT_NODE&&(d[N++]=this.read(e)),e=e.parentElement;const A=new Uint8Array(N);for(let X=0;X<N;X++)A[X]=d[N-X-1];return A}}class Q{constructor(e,n){this._restrictedRenderingContextBrand=void 0,this._viewLayout=e,this.viewportData=n,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;const d=this._viewLayout.getCurrentViewport();this.scrollTop=d.top,this.scrollLeft=d.left,this.viewportWidth=d.width,this.viewportHeight=d.height}getScrolledTopFromAbsoluteTop(e){return e-this.scrollTop}getVerticalOffsetForLineNumber(e){return this._viewLayout.getVerticalOffsetForLineNumber(e)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}}class le extends Q{constructor(e,n,d){super(e,n),this._renderingContextBrand=void 0,this._viewLines=d}linesVisibleRangesForRange(e,n){return this._viewLines.linesVisibleRangesForRange(e,n)}visibleRangeForPosition(e){return this._viewLines.visibleRangeForPosition(e)}}class xe{constructor(e,n,d){this.outsideRenderedLine=e,this.lineNumber=n,this.ranges=d}}class j{constructor(e,n){this._horizontalRangeBrand=void 0,this.left=Math.round(e),this.width=Math.round(n)}static from(e){const n=new Array(e.length);for(let d=0,N=e.length;d<N;d++){const A=e[d];n[d]=new j(A.left,A.width)}return n}toString(){return`[${this.left},${this.width}]`}}class R{constructor(e,n){this._floatHorizontalRangeBrand=void 0,this.left=e,this.width=n}toString(){return`[${this.left},${this.width}]`}static compare(e,n){return e.left-n.left}}class V{constructor(e,n){this.outsideRenderedLine=e,this.originalLeft=n,this.left=Math.round(this.originalLeft)}}class K{constructor(e,n){this.outsideRenderedLine=e,this.ranges=n}}class ie{static _createRange(){return this._handyReadyRange||(this._handyReadyRange=document.createRange()),this._handyReadyRange}static _detachRange(e,n){e.selectNodeContents(n)}static _readClientRects(e,n,d,N,A){const X=this._createRange();try{return X.setStart(e,n),X.setEnd(d,N),X.getClientRects()}catch(Le){return null}finally{this._detachRange(X,A)}}static _mergeAdjacentRanges(e){if(e.length===1)return e;e.sort(R.compare);let n=[],d=0,N=e[0];for(let A=1,X=e.length;A<X;A++){const Le=e[A];N.left+N.width+.9>=Le.left?N.width=Math.max(N.width,Le.left+Le.width-N.left):(n[d++]=N,N=Le)}return n[d++]=N,n}static _createHorizontalRangesFromClientRects(e,n){if(!e||e.length===0)return null;const d=[];for(let N=0,A=e.length;N<A;N++){const X=e[N];d[N]=new R(Math.max(0,X.left-n),X.width)}return this._mergeAdjacentRanges(d)}static readHorizontalRanges(e,n,d,N,A,X,Le){const Ge=e.children.length-1;if(0>Ge)return null;if(n=Math.min(Ge,Math.max(0,n)),N=Math.min(Ge,Math.max(0,N)),n===N&&d===A&&d===0&&!e.children[n].firstChild){const It=e.children[n].getClientRects();return this._createHorizontalRangesFromClientRects(It,X)}n!==N&&N>0&&A===0&&(N--,A=1073741824);let tt=e.children[n].firstChild,dt=e.children[N].firstChild;if((!tt||!dt)&&(!tt&&d===0&&n>0&&(tt=e.children[n-1].firstChild,d=1073741824),!dt&&A===0&&N>0&&(dt=e.children[N-1].firstChild,A=1073741824)),!tt||!dt)return null;d=Math.min(tt.textContent.length,Math.max(0,d)),A=Math.min(dt.textContent.length,Math.max(0,A));const Ot=this._readClientRects(tt,d,dt,A,Le);return this._createHorizontalRangesFromClientRects(Ot,X)}}var te=i(81112),ge=i(28750),ye=i(66213),ve=i(97199);const Fe=function(){return v.tY?!0:!(v.IJ||s.vU||s.G6)}();let we=!0;class ue{constructor(e,n){this._domNode=e,this._clientRectDeltaLeft=0,this._clientRectDeltaLeftRead=!1,this.endNode=n}get clientRectDeltaLeft(){return this._clientRectDeltaLeftRead||(this._clientRectDeltaLeftRead=!0,this._clientRectDeltaLeft=this._domNode.getBoundingClientRect().left),this._clientRectDeltaLeft}}class ce{constructor(e,n){this.themeType=n;const d=e.options,N=d.get(43);this.renderWhitespace=d.get(87),this.renderControlCharacters=d.get(82),this.spaceWidth=N.spaceWidth,this.middotWidth=N.middotWidth,this.wsmiddotWidth=N.wsmiddotWidth,this.useMonospaceOptimizations=N.isMonospace&&!d.get(29),this.canUseHalfwidthRightwardsArrow=N.canUseHalfwidthRightwardsArrow,this.lineHeight=d.get(58),this.stopRenderingLineAfter=d.get(104),this.fontLigatures=d.get(44)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}}class Ve{constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(this._renderedViewLine)this._renderedViewLine.domNode=(0,f.X)(e);else throw new Error("I have no rendered view line to set the dom node to...")}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return this._options.themeType===ye.e.HIGH_CONTRAST||this._options.renderWhitespace==="selection"?(this._isMaybeInvalid=!0,!0):!1}renderLine(e,n,d,N){if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;const A=d.getViewLineRenderingData(e),X=this._options,Le=te.Kp.filter(A.inlineDecorations,e,A.minColumn,A.maxColumn);let Re=null;if(X.themeType===ye.e.HIGH_CONTRAST||this._options.renderWhitespace==="selection"){const Ot=d.selections;for(const It of Ot){if(It.endLineNumber<e||It.startLineNumber>e)continue;const Kt=It.startLineNumber===e?It.startColumn:A.minColumn,qt=It.endLineNumber===e?It.endColumn:A.maxColumn;Kt<qt&&(X.themeType===ye.e.HIGH_CONTRAST||this._options.renderWhitespace!=="selection"?Le.push(new te.Kp(Kt,qt,"inline-selected-text",0)):(Re||(Re=[]),Re.push(new ge.zG(Kt-1,qt-1))))}}const Ge=new ge.IJ(X.useMonospaceOptimizations,X.canUseHalfwidthRightwardsArrow,A.content,A.continuesWithWrappedLine,A.isBasicASCII,A.containsRTL,A.minColumn-1,A.tokens,Le,A.tabSize,A.startVisibleColumn,X.spaceWidth,X.middotWidth,X.wsmiddotWidth,X.stopRenderingLineAfter,X.renderWhitespace,X.renderControlCharacters,X.fontLigatures!==ve.n0.OFF,Re);if(this._renderedViewLine&&this._renderedViewLine.input.equals(Ge))return!1;N.appendASCIIString('<div style="top:'),N.appendASCIIString(String(n)),N.appendASCIIString("px;height:"),N.appendASCIIString(String(this._options.lineHeight)),N.appendASCIIString('px;" class="'),N.appendASCIIString(Ve.CLASS_NAME),N.appendASCIIString('">');const tt=(0,ge.d1)(Ge,N);N.appendASCIIString("</div>");let dt=null;return we&&Fe&&A.isBasicASCII&&X.useMonospaceOptimizations&&tt.containsForeignElements===0&&A.content.length<300&&Ge.lineTokens.getCount()<100&&(dt=new We(this._renderedViewLine?this._renderedViewLine.domNode:null,Ge,tt.characterMapping)),dt||(dt=ne(this._renderedViewLine?this._renderedViewLine.domNode:null,Ge,tt.characterMapping,tt.containsRTL,tt.containsForeignElements)),this._renderedViewLine=dt,!0}layoutLine(e,n){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(n),this._renderedViewLine.domNode.setHeight(this._options.lineHeight))}getWidth(){return this._renderedViewLine?this._renderedViewLine.getWidth():0}getWidthIsFast(){return this._renderedViewLine?this._renderedViewLine.getWidthIsFast():!0}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof We:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof We?this._renderedViewLine.monospaceAssumptionsAreValid():we}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof We&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,n,d,N){if(!this._renderedViewLine)return null;n=n|0,d=d|0,n=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,n)),d=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,d));const A=this._renderedViewLine.input.stopRenderingLineAfter|0;let X=!1;A!==-1&&n>A+1&&d>A+1&&(X=!0),A!==-1&&n>A+1&&(n=A+1),A!==-1&&d>A+1&&(d=A+1);const Le=this._renderedViewLine.getVisibleRangesForRange(e,n,d,N);return Le&&Le.length>0?new K(X,Le):null}getColumnOfNodeOffset(e,n,d){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,n,d):1}}Ve.CLASS_NAME="view-line";class We{constructor(e,n,d){this.domNode=e,this.input=n,this._characterMapping=d,this._charWidth=n.spaceWidth}getWidth(){return Math.round(this._getCharPosition(this._characterMapping.length))}getWidthIsFast(){return!0}monospaceAssumptionsAreValid(){if(!this.domNode)return we;const e=this.getWidth(),n=this.domNode.domNode.firstChild.offsetWidth;return Math.abs(e-n)>=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),we=!1),we}toSlowRenderedLine(){return ne(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,n,d,N){const A=this._getCharPosition(n),X=this._getCharPosition(d);return[new R(A,X-A)]}_getCharPosition(e){const n=this._characterMapping.getAbsoluteOffset(e);return this._charWidth*n}getColumnOfNodeOffset(e,n,d){const N=n.textContent.length;let A=-1;for(;n;)n=n.previousSibling,A++;return this._characterMapping.getColumn(new ge.Nd(A,d),N)}}class ae{constructor(e,n,d,N,A){if(this.domNode=e,this.input=n,this._characterMapping=d,this._isWhitespaceOnly=/^\s*$/.test(n.lineContent),this._containsForeignElements=A,this._cachedWidth=-1,this._pixelOffsetCache=null,!N||this._characterMapping.length===0){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let X=0,Le=this._characterMapping.length;X<=Le;X++)this._pixelOffsetCache[X]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}getVisibleRangesForRange(e,n,d,N){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){const A=this._readPixelOffset(this.domNode,e,n,N);if(A===-1)return null;const X=this._readPixelOffset(this.domNode,e,d,N);return X===-1?null:[new R(A,X-A)]}return this._readVisibleRangesForRange(this.domNode,e,n,d,N)}_readVisibleRangesForRange(e,n,d,N,A){if(d===N){const X=this._readPixelOffset(e,n,d,A);return X===-1?null:[new R(X,0)]}else return this._readRawVisibleRangesForRange(e,d,N,A)}_readPixelOffset(e,n,d,N){if(this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth();const A=this._getReadingTarget(e);return A.firstChild?A.firstChild.offsetWidth:0}if(this._pixelOffsetCache!==null){const A=this._pixelOffsetCache[d];if(A!==-1)return A;const X=this._actualReadPixelOffset(e,n,d,N);return this._pixelOffsetCache[d]=X,X}return this._actualReadPixelOffset(e,n,d,N)}_actualReadPixelOffset(e,n,d,N){if(this._characterMapping.length===0){const Re=ie.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,N.clientRectDeltaLeft,N.endNode);return!Re||Re.length===0?-1:Re[0].left}if(d===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth();const A=this._characterMapping.getDomPosition(d),X=ie.readHorizontalRanges(this._getReadingTarget(e),A.partIndex,A.charIndex,A.partIndex,A.charIndex,N.clientRectDeltaLeft,N.endNode);if(!X||X.length===0)return-1;const Le=X[0].left;if(this.input.isBasicASCII){const Re=this._characterMapping.getAbsoluteOffset(d),Ge=Math.round(this.input.spaceWidth*Re);if(Math.abs(Ge-Le)<=1)return Ge}return Le}_readRawVisibleRangesForRange(e,n,d,N){if(n===1&&d===this._characterMapping.length)return[new R(0,this.getWidth())];const A=this._characterMapping.getDomPosition(n),X=this._characterMapping.getDomPosition(d);return ie.readHorizontalRanges(this._getReadingTarget(e),A.partIndex,A.charIndex,X.partIndex,X.charIndex,N.clientRectDeltaLeft,N.endNode)}getColumnOfNodeOffset(e,n,d){const N=n.textContent.length;let A=-1;for(;n;)n=n.previousSibling,A++;return this._characterMapping.getColumn(new ge.Nd(A,d),N)}}class fe extends ae{_readVisibleRangesForRange(e,n,d,N,A){const X=super._readVisibleRangesForRange(e,n,d,N,A);if(!X||X.length===0||d===N||d===1&&N===this._characterMapping.length)return X;if(!this.input.containsRTL){const Le=this._readPixelOffset(e,n,N,A);if(Le!==-1){const Re=X[X.length-1];Re.left<Le&&(Re.width=Le-Re.left)}}return X}}const ne=function(){return s.Pf?W:$}();function W(Tt,e,n,d,N){return new fe(Tt,e,n,d,N)}function $(Tt,e,n,d,N){return new ae(Tt,e,n,d,N)}var ee=i(72146),he=i(17373),Pe=i(69025),Ye=i(59671);class it{constructor(e=null){this.hitTarget=e,this.type=0}}class rt{constructor(e,n,d){this.position=e,this.spanNode=n,this.injectedText=d,this.type=1}}var vt;(function(Tt){function e(n,d,N){const A=n.getPositionFromDOMInfo(d,N);return A?new rt(A,d,null):new it(d)}Tt.createFromDOMInfo=e})(vt||(vt={}));class Ft{constructor(e,n){this.lastViewCursorsRenderData=e,this.lastTextareaPosition=n}}class Ht{constructor(e,n,d=0,N=null,A=null,X=null){this.element=e,this.type=n,this.mouseColumn=d,this.position=N,!A&&N&&(A=new he.e(N.lineNumber,N.column,N.lineNumber,N.column)),this.range=A,this.detail=X}static _typeToString(e){return e===1?"TEXTAREA":e===2?"GUTTER_GLYPH_MARGIN":e===3?"GUTTER_LINE_NUMBERS":e===4?"GUTTER_LINE_DECORATIONS":e===5?"GUTTER_VIEW_ZONE":e===6?"CONTENT_TEXT":e===7?"CONTENT_EMPTY":e===8?"CONTENT_VIEW_ZONE":e===9?"CONTENT_WIDGET":e===10?"OVERVIEW_RULER":e===11?"SCROLLBAR":e===12?"OVERLAY_WIDGET":"UNKNOWN"}static toString(e){return this._typeToString(e.type)+": "+e.position+" - "+e.range+" - "+e.detail}toString(){return Ht.toString(this)}}class ze{static isTextArea(e){return e.length===2&&e[0]===3&&e[1]===6}static isChildOfViewLines(e){return e.length>=4&&e[0]===3&&e[3]===7}static isStrictChildOfViewLines(e){return e.length>4&&e[0]===3&&e[3]===7}static isChildOfScrollableElement(e){return e.length>=2&&e[0]===3&&e[1]===5}static isChildOfMinimap(e){return e.length>=2&&e[0]===3&&e[1]===8}static isChildOfContentWidgets(e){return e.length>=4&&e[0]===3&&e[3]===1}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&e[0]===2}static isChildOfOverlayWidgets(e){return e.length>=2&&e[0]===3&&e[1]===4}}class Xe{constructor(e,n,d){this.model=e.model;const N=e.configuration.options;this.layoutInfo=N.get(129),this.viewDomNode=n.viewDomNode,this.lineHeight=N.get(58),this.stickyTabStops=N.get(103),this.typicalHalfwidthCharacterWidth=N.get(43).typicalHalfwidthCharacterWidth,this.lastRenderData=d,this._context=e,this._viewHelper=n}getZoneAtCoord(e){return Xe.getZoneAtCoord(this._context,e)}static getZoneAtCoord(e,n){const d=e.viewLayout.getWhitespaceAtVerticalOffset(n);if(d){const N=d.verticalOffset+d.height/2,A=e.model.getLineCount();let X=null,Le,Re=null;return d.afterLineNumber!==A&&(Re=new ee.L(d.afterLineNumber+1,1)),d.afterLineNumber>0&&(X=new ee.L(d.afterLineNumber,e.model.getLineMaxColumn(d.afterLineNumber))),Re===null?Le=X:X===null?Le=Re:n<N?Le=X:Le=Re,{viewZoneId:d.id,afterLineNumber:d.afterLineNumber,positionBefore:X,positionAfter:Re,position:Le}}return null}getFullLineRangeAtCoord(e){if(this._context.viewLayout.isAfterLines(e)){const N=this._context.model.getLineCount(),A=this._context.model.getLineMaxColumn(N);return{range:new he.e(N,A,N,A),isAfterLines:!0}}const n=this._context.viewLayout.getLineNumberAtVerticalOffset(e),d=this._context.model.getLineMaxColumn(n);return{range:new he.e(n,1,n,d),isAfterLines:!1}}getLineNumberAtVerticalOffset(e){return this._context.viewLayout.getLineNumberAtVerticalOffset(e)}isAfterLines(e){return this._context.viewLayout.isAfterLines(e)}isInTopPadding(e){return this._context.viewLayout.isInTopPadding(e)}isInBottomPadding(e){return this._context.viewLayout.isInBottomPadding(e)}getVerticalOffsetForLineNumber(e){return this._context.viewLayout.getVerticalOffsetForLineNumber(e)}findAttribute(e,n){return Xe._findAttribute(e,n,this._viewHelper.viewDomNode)}static _findAttribute(e,n,d){for(;e&&e!==document.body;){if(e.hasAttribute&&e.hasAttribute(n))return e.getAttribute(n);if(e===d)return null;e=e.parentNode}return null}getLineWidth(e){return this._viewHelper.getLineWidth(e)}visibleRangeForPosition(e,n){return this._viewHelper.visibleRangeForPosition(e,n)}getPositionFromDOMInfo(e,n){return this._viewHelper.getPositionFromDOMInfo(e,n)}getCurrentScrollTop(){return this._context.viewLayout.getCurrentScrollTop()}getCurrentScrollLeft(){return this._context.viewLayout.getCurrentScrollLeft()}}class Ze{constructor(e,n,d){this.editorPos=n,this.pos=d,this.mouseVerticalOffset=Math.max(0,e.getCurrentScrollTop()+d.y-n.y),this.mouseContentHorizontalOffset=e.getCurrentScrollLeft()+d.x-n.x-e.layoutInfo.contentLeft,this.isInMarginArea=d.x-n.x<e.layoutInfo.contentLeft&&d.x-n.x>=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,Wt._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}class Ae extends Ze{constructor(e,n,d,N){super(e,n,d),this._ctx=e,N?(this.target=N,this.targetPath=Z.collect(N,e.viewDomNode)):(this.target=null,this.targetPath=new Uint8Array(0))}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}
target: ${this.target?this.target.outerHTML:null}`}fulfill(e,n=null,d=null,N=null){let A=this.mouseColumn;return n&&n.column<this._ctx.model.getLineMaxColumn(n.lineNumber)&&(A=Pe.io.visibleColumnFromColumn(this._ctx.model.getLineContent(n.lineNumber),n.column,this._ctx.model.getTextModelOptions().tabSize)+1),new Ht(this.target,e,A,n,d,N)}withTarget(e){return new Ae(this._ctx,this.editorPos,this.pos,e)}}const He={isAfterLines:!0};function Et(Tt){return{isAfterLines:!1,horizontalDistanceToText:Tt}}class Wt{constructor(e,n){this._context=e,this._viewHelper=n}mouseTargetIsWidget(e){const n=e.target,d=Z.collect(n,this._viewHelper.viewDomNode);return!!(ze.isChildOfContentWidgets(d)||ze.isChildOfOverflowingContentWidgets(d)||ze.isChildOfOverlayWidgets(d))}createMouseTarget(e,n,d,N){const A=new Xe(this._context,this._viewHelper,e),X=new Ae(A,n,d,N);try{return Wt._createMouseTarget(A,X,!1)}catch(Le){return X.fulfill(0)}}static _createMouseTarget(e,n,d){if(n.target===null){if(d)return n.fulfill(0);const X=Wt._doHitTest(e,n);return X.type===1?Wt.createMouseTargetFromHitTestPosition(e,n,X.spanNode,X.position,X.injectedText):this._createMouseTarget(e,n.withTarget(X.hitTarget),!0)}const N=n;let A=null;return A=A||Wt._hitTestContentWidget(e,N),A=A||Wt._hitTestOverlayWidget(e,N),A=A||Wt._hitTestMinimap(e,N),A=A||Wt._hitTestScrollbarSlider(e,N),A=A||Wt._hitTestViewZone(e,N),A=A||Wt._hitTestMargin(e,N),A=A||Wt._hitTestViewCursor(e,N),A=A||Wt._hitTestTextArea(e,N),A=A||Wt._hitTestViewLines(e,N,d),A=A||Wt._hitTestScrollbar(e,N),A||n.fulfill(0)}static _hitTestContentWidget(e,n){if(ze.isChildOfContentWidgets(n.targetPath)||ze.isChildOfOverflowingContentWidgets(n.targetPath)){const d=e.findAttribute(n.target,"widgetId");return d?n.fulfill(9,null,null,d):n.fulfill(0)}return null}static _hitTestOverlayWidget(e,n){if(ze.isChildOfOverlayWidgets(n.targetPath)){const d=e.findAttribute(n.target,"widgetId");return d?n.fulfill(12,null,null,d):n.fulfill(0)}return null}static _hitTestViewCursor(e,n){if(n.target){const d=e.lastRenderData.lastViewCursorsRenderData;for(const N of d)if(n.target===N.domNode)return n.fulfill(6,N.position,null,{mightBeForeignElement:!1})}if(n.isInContentArea){const d=e.lastRenderData.lastViewCursorsRenderData,N=n.mouseContentHorizontalOffset,A=n.mouseVerticalOffset;for(const X of d){if(N<X.contentLeft||N>X.contentLeft+X.width)continue;const Le=e.getVerticalOffsetForLineNumber(X.position.lineNumber);if(Le<=A&&A<=Le+X.height)return n.fulfill(6,X.position,null,{mightBeForeignElement:!1})}}return null}static _hitTestViewZone(e,n){const d=e.getZoneAtCoord(n.mouseVerticalOffset);if(d){const N=n.isInContentArea?8:5;return n.fulfill(N,d.position,null,d)}return null}static _hitTestTextArea(e,n){return ze.isTextArea(n.targetPath)?e.lastRenderData.lastTextareaPosition?n.fulfill(6,e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1}):n.fulfill(1,e.lastRenderData.lastTextareaPosition):null}static _hitTestMargin(e,n){if(n.isInMarginArea){const d=e.getFullLineRangeAtCoord(n.mouseVerticalOffset),N=d.range.getStartPosition();let A=Math.abs(n.pos.x-n.editorPos.x);const X={isAfterLines:d.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:A};return A-=e.layoutInfo.glyphMarginLeft,A<=e.layoutInfo.glyphMarginWidth?n.fulfill(2,N,d.range,X):(A-=e.layoutInfo.glyphMarginWidth,A<=e.layoutInfo.lineNumbersWidth?n.fulfill(3,N,d.range,X):(A-=e.layoutInfo.lineNumbersWidth,n.fulfill(4,N,d.range,X)))}return null}static _hitTestViewLines(e,n,d){if(!ze.isChildOfViewLines(n.targetPath))return null;if(e.isInTopPadding(n.mouseVerticalOffset))return n.fulfill(7,new ee.L(1,1),null,He);if(e.isAfterLines(n.mouseVerticalOffset)||e.isInBottomPadding(n.mouseVerticalOffset)){const A=e.model.getLineCount(),X=e.model.getLineMaxColumn(A);return n.fulfill(7,new ee.L(A,X),null,He)}if(d){if(ze.isStrictChildOfViewLines(n.targetPath)){const A=e.getLineNumberAtVerticalOffset(n.mouseVerticalOffset);if(e.model.getLineLength(A)===0){const Le=e.getLineWidth(A),Re=Et(n.mouseContentHorizontalOffset-Le);return n.fulfill(7,new ee.L(A,1),null,Re)}const X=e.getLineWidth(A);if(n.mouseContentHorizontalOffset>=X){const Le=Et(n.mouseContentHorizontalOffset-X),Re=new ee.L(A,e.model.getLineMaxColumn(A));return n.fulfill(7,Re,null,Le)}}return n.fulfill(0)}const N=Wt._doHitTest(e,n);return N.type===1?Wt.createMouseTargetFromHitTestPosition(e,n,N.spanNode,N.position,N.injectedText):this._createMouseTarget(e,n.withTarget(N.hitTarget),!0)}static _hitTestMinimap(e,n){if(ze.isChildOfMinimap(n.targetPath)){const d=e.getLineNumberAtVerticalOffset(n.mouseVerticalOffset),N=e.model.getLineMaxColumn(d);return n.fulfill(11,new ee.L(d,N))}return null}static _hitTestScrollbarSlider(e,n){if(ze.isChildOfScrollableElement(n.targetPath)&&n.target&&n.target.nodeType===1){const d=n.target.className;if(d&&/\b(slider|scrollbar)\b/.test(d)){const N=e.getLineNumberAtVerticalOffset(n.mouseVerticalOffset),A=e.model.getLineMaxColumn(N);return n.fulfill(11,new ee.L(N,A))}}return null}static _hitTestScrollbar(e,n){if(ze.isChildOfScrollableElement(n.targetPath)){const d=e.getLineNumberAtVerticalOffset(n.mouseVerticalOffset),N=e.model.getLineMaxColumn(d);return n.fulfill(11,new ee.L(d,N))}return null}getMouseColumn(e,n){const d=this._context.configuration.options,N=d.get(129),A=this._context.viewLayout.getCurrentScrollLeft()+n.x-e.x-N.contentLeft;return Wt._getMouseColumn(A,d.get(43).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,n){return e<0?1:Math.round(e/n)+1}static createMouseTargetFromHitTestPosition(e,n,d,N,A){const X=N.lineNumber,Le=N.column,Re=e.getLineWidth(X);if(n.mouseContentHorizontalOffset>Re){const di=Et(n.mouseContentHorizontalOffset-Re);return n.fulfill(7,N,null,di)}const Ge=e.visibleRangeForPosition(X,Le);if(!Ge)return n.fulfill(0,N);const tt=Ge.left;if(n.mouseContentHorizontalOffset===tt)return n.fulfill(6,N,null,{mightBeForeignElement:!!A});const dt=[];if(dt.push({offset:Ge.left,column:Le}),Le>1){const di=e.visibleRangeForPosition(X,Le-1);di&&dt.push({offset:di.left,column:Le-1})}const Ot=e.model.getLineMaxColumn(X);if(Le<Ot){const di=e.visibleRangeForPosition(X,Le+1);di&&dt.push({offset:di.left,column:Le+1})}dt.sort((di,pi)=>di.offset-pi.offset);const It=n.pos.toClientCoordinates(),Kt=d.getBoundingClientRect(),qt=Kt.left<=It.clientX&&It.clientX<=Kt.right;for(let di=1;di<dt.length;di++){const pi=dt[di-1],Li=dt[di];if(pi.offset<=n.mouseContentHorizontalOffset&&n.mouseContentHorizontalOffset<=Li.offset){const bi=new he.e(X,pi.column,X,Li.column);return n.fulfill(6,N,bi,{mightBeForeignElement:!qt||!!A})}}return n.fulfill(6,N,null,{mightBeForeignElement:!qt||!!A})}static _doHitTestWithCaretRangeFromPoint(e,n){const d=e.getLineNumberAtVerticalOffset(n.mouseVerticalOffset),A=e.getVerticalOffsetForLineNumber(d)+Math.floor(e.lineHeight/2);let X=n.pos.y+(A-n.mouseVerticalOffset);X<=n.editorPos.y&&(X=n.editorPos.y+1),X>=n.editorPos.y+e.layoutInfo.height&&(X=n.editorPos.y+e.layoutInfo.height-1);const Le=new b(n.pos.x,X),Re=this._actualDoHitTestWithCaretRangeFromPoint(e,Le.toClientCoordinates());return Re.type===1?Re:this._actualDoHitTestWithCaretRangeFromPoint(e,n.pos.toClientCoordinates())}static _actualDoHitTestWithCaretRangeFromPoint(e,n){const d=I.Ay(e.viewDomNode);let N;if(d?typeof d.caretRangeFromPoint=="undefined"?N=oi(d,n.clientX,n.clientY):N=d.caretRangeFromPoint(n.clientX,n.clientY):N=document.caretRangeFromPoint(n.clientX,n.clientY),!N||!N.startContainer)return new it;const A=N.startContainer;if(A.nodeType===A.TEXT_NODE){const X=A.parentNode,Le=X?X.parentNode:null,Re=Le?Le.parentNode:null;return(Re&&Re.nodeType===Re.ELEMENT_NODE?Re.className:null)===Ve.CLASS_NAME?vt.createFromDOMInfo(e,X,N.startOffset):new it(A.parentNode)}else if(A.nodeType===A.ELEMENT_NODE){const X=A.parentNode,Le=X?X.parentNode:null;return(Le&&Le.nodeType===Le.ELEMENT_NODE?Le.className:null)===Ve.CLASS_NAME?vt.createFromDOMInfo(e,A,A.textContent.length):new it(A)}return new it}static _doHitTestWithCaretPositionFromPoint(e,n){const d=document.caretPositionFromPoint(n.clientX,n.clientY);if(d.offsetNode.nodeType===d.offsetNode.TEXT_NODE){const N=d.offsetNode.parentNode,A=N?N.parentNode:null,X=A?A.parentNode:null;return(X&&X.nodeType===X.ELEMENT_NODE?X.className:null)===Ve.CLASS_NAME?vt.createFromDOMInfo(e,d.offsetNode.parentNode,d.offset):new it(d.offsetNode.parentNode)}if(d.offsetNode.nodeType===d.offsetNode.ELEMENT_NODE){const N=d.offsetNode.parentNode,A=N&&N.nodeType===N.ELEMENT_NODE?N.className:null,X=N?N.parentNode:null,Le=X&&X.nodeType===X.ELEMENT_NODE?X.className:null;if(A===Ve.CLASS_NAME){const Re=d.offsetNode.childNodes[Math.min(d.offset,d.offsetNode.childNodes.length-1)];if(Re)return vt.createFromDOMInfo(e,Re,0)}else if(Le===Ve.CLASS_NAME)return vt.createFromDOMInfo(e,d.offsetNode,0)}return new it(d.offsetNode)}static _snapToSoftTabBoundary(e,n){const d=n.getLineContent(e.lineNumber),{tabSize:N}=n.getTextModelOptions(),A=Ye.l.atomicPosition(d,e.column-1,N,2);return A!==-1?new ee.L(e.lineNumber,A+1):e}static _doHitTest(e,n){let d=new it;if(typeof document.caretRangeFromPoint=="function"?d=this._doHitTestWithCaretRangeFromPoint(e,n):document.caretPositionFromPoint&&(d=this._doHitTestWithCaretPositionFromPoint(e,n.pos.toClientCoordinates())),d.type===1){const N=e.model.getInjectedTextAt(d.position),A=e.model.normalizePosition(d.position,2);(N||!A.equals(d.position))&&(d=new rt(A,d.spanNode,N))}return d.type===1&&e.stickyTabStops&&(d=new rt(this._snapToSoftTabBoundary(d.position,e.model),d.spanNode,d.injectedText)),d}}function oi(Tt,e,n){const d=document.createRange();let N=Tt.elementFromPoint(e,n);if(N!==null){for(;N&&N.firstChild&&N.firstChild.nodeType!==N.firstChild.TEXT_NODE&&N.lastChild&&N.lastChild.firstChild;)N=N.lastChild;const A=N.getBoundingClientRect(),X=window.getComputedStyle(N,null).getPropertyValue("font"),Le=N.innerText;let Re=A.left,Ge=0,tt;if(e>A.left+A.width)Ge=Le.length;else{const dt=ni.getInstance();for(let Ot=0;Ot<Le.length+1;Ot++){if(tt=dt.getCharWidth(Le.charAt(Ot),X)/2,Re+=tt,e<Re){Ge=Ot;break}Re+=tt}}d.setStart(N.firstChild,Ge),d.setEnd(N.firstChild,Ge)}return d}class ni{constructor(){this._cache={},this._canvas=document.createElement("canvas")}static getInstance(){return ni._INSTANCE||(ni._INSTANCE=new ni),ni._INSTANCE}getCharWidth(e,n){const d=e+n;if(this._cache[d])return this._cache[d];const N=this._canvas.getContext("2d");N.font=n;const X=N.measureText(e).width;return this._cache[d]=X,X}}ni._INSTANCE=null;var hi=i(80724);function Di(Tt){return function(e,n){let d=!1;return Tt&&(d=Tt.mouseTargetIsWidget(n)),d||n.preventDefault(),n}}class Ti extends De{constructor(e,n,d){super(),this._context=e,this.viewController=n,this.viewHelper=d,this.mouseTargetFactory=new Wt(this._context,d),this._mouseDownOperation=this._register(new Ni(this._context,this.viewController,this.viewHelper,(X,Le)=>this._createMouseTarget(X,Le),X=>this._getMouseColumn(X))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(129).height;const N=new oe(this.viewHelper.viewDomNode);this._register(N.onContextMenu(this.viewHelper.viewDomNode,X=>this._onContextMenu(X,!0))),this._register(N.onMouseMoveThrottled(this.viewHelper.viewDomNode,X=>this._onMouseMove(X),Di(this.mouseTargetFactory),Ti.MOUSE_MOVE_MINIMUM_TIME)),this._register(N.onMouseUp(this.viewHelper.viewDomNode,X=>this._onMouseUp(X))),this._register(N.onMouseLeave(this.viewHelper.viewDomNode,X=>this._onMouseLeave(X))),this._register(N.onMouseDown(this.viewHelper.viewDomNode,X=>this._onMouseDown(X)));const A=X=>{if(this.viewController.emitMouseWheel(X),!this._context.configuration.options.get(67))return;const Le=new l.q(X);if(v.dz?(X.metaKey||X.ctrlKey)&&!X.shiftKey&&!X.altKey:X.ctrlKey&&!X.metaKey&&!X.shiftKey&&!X.altKey){const Ge=hi.C.getZoomLevel(),tt=Le.deltaY>0?1:-1;hi.C.setZoomLevel(Ge+tt),Le.preventDefault(),Le.stopPropagation()}};this._register(I.nm(this.viewHelper.viewDomNode,I.tw.MOUSE_WHEEL,A,{capture:!0,passive:!1})),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(129)){const n=this._context.configuration.options.get(129).height;this._height!==n&&(this._height=n,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}onScrollChanged(e){return this._mouseDownOperation.onScrollChanged(),!1}getTargetAtClientPoint(e,n){const N=new L(e,n).toPageCoordinates(),A=M(this.viewHelper.viewDomNode);return N.y<A.y||N.y>A.y+A.height||N.x<A.x||N.x>A.x+A.width?null:this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),A,N,null)}_createMouseTarget(e,n){let d=e.target;if(!this.viewHelper.viewDomNode.contains(d)){const N=I.Ay(this.viewHelper.viewDomNode);N&&(d=N.elementsFromPoint(e.posx,e.posy).find(A=>this.viewHelper.viewDomNode.contains(A)))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,n?d:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.editorPos,e.pos)}_onContextMenu(e,n){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,n)})}_onMouseMove(e){this._mouseDownOperation.isActive()||e.timestamp<this.lastMouseLeaveTime||this.viewController.emitMouseMove({event:e,target:this._createMouseTarget(e,!0)})}_onMouseLeave(e){this.lastMouseLeaveTime=new Date().getTime(),this.viewController.emitMouseLeave({event:e,target:null})}_onMouseUp(e){this.viewController.emitMouseUp({event:e,target:this._createMouseTarget(e,!0)})}_onMouseDown(e){const n=this._createMouseTarget(e,!0),d=n.type===6||n.type===7,N=n.type===2||n.type===3||n.type===4,A=n.type===3,X=this._context.configuration.options.get(97),Le=n.type===8||n.type===5,Re=n.type===9;let Ge=e.leftButton||e.middleButton;v.dz&&e.leftButton&&e.ctrlKey&&(Ge=!1);const tt=()=>{e.preventDefault(),this.viewHelper.focusTextArea()};if(Ge&&(d||A&&X))tt(),this._mouseDownOperation.start(n.type,e);else if(N)e.preventDefault();else if(Le){const dt=n.detail;this.viewHelper.shouldSuppressMouseDownOnViewZone(dt.viewZoneId)&&(tt(),this._mouseDownOperation.start(n.type,e),e.preventDefault())}else Re&&this.viewHelper.shouldSuppressMouseDownOnWidget(n.detail)&&(tt(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:n})}}Ti.MOUSE_MOVE_MINIMUM_TIME=100;class Ni extends p.JT{constructor(e,n,d,N,A){super(),this._context=e,this._viewController=n,this._viewHelper=d,this._createMouseTarget=N,this._getMouseColumn=A,this._mouseMoveMonitor=this._register(new re(this._viewHelper.viewDomNode)),this._onScrollTimeout=this._register(new m._F),this._mouseState=new ai,this._currentSelection=new C.Y(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);const n=this._findMousePosition(e,!0);n&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:n}):this._dispatchMouse(n,!0))}start(e,n){this._lastMouseEvent=n,this._mouseState.setStartedOnLineNumbers(e===3),this._mouseState.setStartButtons(n),this._mouseState.setModifiers(n);const d=this._findMousePosition(n,!0);if(!d||!d.position)return;this._mouseState.trySetCount(n.detail,d.position),n.detail=this._mouseState.count;const N=this._context.configuration.options;if(!N.get(80)&&N.get(31)&&!N.get(18)&&!this._mouseState.altKey&&n.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&d.type===6&&d.position&&this._currentSelection.containsPosition(d.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(n.target,n.buttons,Di(null),A=>this._onMouseDownThenMove(A),A=>{const X=this._findMousePosition(this._lastMouseEvent,!0);A&&A instanceof KeyboardEvent?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:X?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}this._mouseState.isDragAndDrop=!1,this._dispatchMouse(d,n.shiftKey),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(n.target,n.buttons,Di(null),A=>this._onMouseDownThenMove(A),()=>this._stop()))}_stop(){this._isActive=!1,this._onScrollTimeout.cancel()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onScrollChanged(){this._isActive&&this._onScrollTimeout.setIfNotSet(()=>{if(!this._lastMouseEvent)return;const e=this._findMousePosition(this._lastMouseEvent,!1);e&&(this._mouseState.isDragAndDrop||this._dispatchMouse(e,!0))},10)}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){const n=e.editorPos,d=this._context.model,N=this._context.viewLayout,A=this._getMouseColumn(e);if(e.posy<n.y){const Le=Math.max(N.getCurrentScrollTop()-(n.y-e.posy),0),Re=Xe.getZoneAtCoord(this._context,Le);if(Re){const tt=this._helpPositionJumpOverViewZone(Re);if(tt)return new Ht(null,13,A,tt)}const Ge=N.getLineNumberAtVerticalOffset(Le);return new Ht(null,13,A,new ee.L(Ge,1))}if(e.posy>n.y+n.height){const Le=N.getCurrentScrollTop()+(e.posy-n.y),Re=Xe.getZoneAtCoord(this._context,Le);if(Re){const tt=this._helpPositionJumpOverViewZone(Re);if(tt)return new Ht(null,13,A,tt)}const Ge=N.getLineNumberAtVerticalOffset(Le);return new Ht(null,13,A,new ee.L(Ge,d.getLineMaxColumn(Ge)))}const X=N.getLineNumberAtVerticalOffset(N.getCurrentScrollTop()+(e.posy-n.y));return e.posx<n.x?new Ht(null,13,A,new ee.L(X,1)):e.posx>n.x+n.width?new Ht(null,13,A,new ee.L(X,d.getLineMaxColumn(X))):null}_findMousePosition(e,n){const d=this._getPositionOutsideEditor(e);if(d)return d;const N=this._createMouseTarget(e,n);if(!N.position)return null;if(N.type===8||N.type===5){const X=this._helpPositionJumpOverViewZone(N.detail);if(X)return new Ht(N.element,N.type,N.mouseColumn,X,null,N.detail)}return N}_helpPositionJumpOverViewZone(e){const n=new ee.L(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),d=e.positionBefore,N=e.positionAfter;return d&&N?d.isBefore(n)?d:N:null}_dispatchMouse(e,n){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,inSelectionMode:n,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton})}}class ai{constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}get count(){return this._lastMouseDownCount}setModifiers(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey}setStartButtons(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton}setStartedOnLineNumbers(e){this._startedOnLineNumbers=e}trySetCount(e,n){const d=new Date().getTime();d-this._lastSetMouseDownCountTime>ai.CLEAR_MOUSE_DOWN_COUNT_TIME&&(e=1),this._lastSetMouseDownCountTime=d,e>this._lastMouseDownCount+1&&(e=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(n)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=n,this._lastMouseDownCount=Math.min(e,this._lastMouseDownPositionEqualCount)}}ai.CLEAR_MOUSE_DOWN_COUNT_TIME=400;var Pt=i(23725),Gt=i(79193);class st extends Ti{constructor(e,n,d){super(e,n,d),this._register(r.o.addTarget(this.viewHelper.linesContentDomNode)),this._register(I.nm(this.viewHelper.linesContentDomNode,r.t.Tap,A=>this.onTap(A))),this._register(I.nm(this.viewHelper.linesContentDomNode,r.t.Change,A=>this.onChange(A))),this._register(I.nm(this.viewHelper.linesContentDomNode,r.t.Contextmenu,A=>this._onContextMenu(new z(A,this.viewHelper.viewDomNode),!1))),this._lastPointerType="mouse",this._register(I.nm(this.viewHelper.linesContentDomNode,"pointerdown",A=>{const X=A.pointerType;if(X==="mouse"){this._lastPointerType="mouse";return}else X==="touch"?this._lastPointerType="touch":this._lastPointerType="pen"}));const N=new se(this.viewHelper.viewDomNode);this._register(N.onPointerMoveThrottled(this.viewHelper.viewDomNode,A=>this._onMouseMove(A),Di(this.mouseTargetFactory),Ti.MOUSE_MOVE_MINIMUM_TIME)),this._register(N.onPointerUp(this.viewHelper.viewDomNode,A=>this._onMouseUp(A))),this._register(N.onPointerLeave(this.viewHelper.viewDomNode,A=>this._onMouseLeave(A))),this._register(N.onPointerDown(this.viewHelper.viewDomNode,A=>this._onMouseDown(A)))}onTap(e){if(!e.initialTarget||!this.viewHelper.linesContentDomNode.contains(e.initialTarget))return;e.preventDefault(),this.viewHelper.focusTextArea();const n=this._createMouseTarget(new z(e,this.viewHelper.viewDomNode),!1);n.position&&this.viewController.dispatchMouse({position:n.position,mouseColumn:n.position.column,startedOnLineNumbers:!1,mouseDownCount:e.tapCount,inSelectionMode:!1,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1})}onChange(e){this._lastPointerType==="touch"&&this._context.model.deltaScrollNow(-e.translationX,-e.translationY)}_onMouseDown(e){e.browserEvent.pointerType!=="touch"&&super._onMouseDown(e)}}class gt extends Ti{constructor(e,n,d){super(e,n,d),this._register(r.o.addTarget(this.viewHelper.linesContentDomNode)),this._register(I.nm(this.viewHelper.linesContentDomNode,r.t.Tap,N=>this.onTap(N))),this._register(I.nm(this.viewHelper.linesContentDomNode,r.t.Change,N=>this.onChange(N))),this._register(I.nm(this.viewHelper.linesContentDomNode,r.t.Contextmenu,N=>this._onContextMenu(new z(N,this.viewHelper.viewDomNode),!1)))}onTap(e){e.preventDefault(),this.viewHelper.focusTextArea();const n=this._createMouseTarget(new z(e,this.viewHelper.viewDomNode),!1);if(n.position){const d=document.createEvent("CustomEvent");d.initEvent(Gt.pd.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(d),this.viewController.moveTo(n.position)}}onChange(e){this._context.model.deltaScrollNow(-e.translationX,-e.translationY)}}class ht extends p.JT{constructor(e,n,d){super(),v.gn&&Pt.D.pointerEvents?this.handler=this._register(new st(e,n,d)):window.TouchEvent?this.handler=this._register(new gt(e,n,d)):this.handler=this._register(new Ti(e,n,d))}getTargetAtClientPoint(e,n){return this.handler.getTargetAtClientPoint(e,n)}}var Qe=i(82983),$e=i(56842);class Ie extends De{}var Oe=i(30297),Ke=i(49055);class ct extends Ie{constructor(e){super(),this._context=e,this._readConfig(),this._lastCursorModelPosition=new ee.L(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const e=this._context.configuration.options;this._lineHeight=e.get(58);const n=e.get(59);this._renderLineNumbers=n.renderType,this._renderCustomLineNumbers=n.renderFn,this._renderFinalNewline=e.get(83);const d=e.get(129);this._lineNumbersLeft=d.lineNumbersLeft,this._lineNumbersWidth=d.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return this._readConfig(),!0}onCursorStateChanged(e){const n=e.selections[0].getPosition();this._lastCursorModelPosition=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(n);let d=!1;return this._activeLineNumber!==n.lineNumber&&(this._activeLineNumber=n.lineNumber,d=!0),(this._renderLineNumbers===2||this._renderLineNumbers===3)&&(d=!0),d}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getLineRenderLineNumber(e){const n=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new ee.L(e,1));if(n.column!==1)return"";const d=n.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(d);if(this._renderLineNumbers===2){const N=Math.abs(this._lastCursorModelPosition.lineNumber-d);return N===0?'<span class="relative-current-line-number">'+d+"</span>":String(N)}return this._renderLineNumbers===3?this._lastCursorModelPosition.lineNumber===d||d%10===0?String(d):"":String(d)}prepareRender(e){if(this._renderLineNumbers===0){this._renderResult=null;return}const n=v.IJ?this._lineHeight%2===0?" lh-even":" lh-odd":"",d=e.visibleRange.startLineNumber,N=e.visibleRange.endLineNumber,A='<div class="'+ct.CLASS_NAME+n+'" style="left:'+this._lineNumbersLeft+"px;width:"+this._lineNumbersWidth+'px;">',X=this._context.model.getLineCount(),Le=[];for(let Re=d;Re<=N;Re++){const Ge=Re-d;if(!this._renderFinalNewline&&Re===X&&this._context.model.getLineLength(Re)===0){Le[Ge]="";continue}const tt=this._getLineRenderLineNumber(Re);tt?Re===this._activeLineNumber?Le[Ge]='<div class="active-line-number '+ct.CLASS_NAME+n+'" style="left:'+this._lineNumbersLeft+"px;width:"+this._lineNumbersWidth+'px;">'+tt+"</div>":Le[Ge]=A+tt+"</div>":Le[Ge]=""}this._renderResult=Le}render(e,n){if(!this._renderResult)return"";const d=n-e;return d<0||d>=this._renderResult.length?"":this._renderResult[d]}}ct.CLASS_NAME="line-numbers",(0,Ke.Ic)((Tt,e)=>{const n=Tt.getColor(Oe.hw);n&&e.addRule(`.monaco-editor .line-numbers { color: ${n}; }`);const d=Tt.getColor(Oe.DD);d&&e.addRule(`.monaco-editor .line-numbers.active-line-number { color: ${d}; }`)});class Nt extends J{constructor(e){super(e);const n=this._context.configuration.options,d=n.get(129);this._canUseLayerHinting=!n.get(28),this._contentLeft=d.contentLeft,this._glyphMarginLeft=d.glyphMarginLeft,this._glyphMarginWidth=d.glyphMarginWidth,this._domNode=(0,f.X)(document.createElement("div")),this._domNode.setClassName(Nt.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=(0,f.X)(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(Nt.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(e){const n=this._context.configuration.options,d=n.get(129);return this._canUseLayerHinting=!n.get(28),this._contentLeft=d.contentLeft,this._glyphMarginLeft=d.glyphMarginLeft,this._glyphMarginWidth=d.glyphMarginWidth,!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollTopChanged}prepareRender(e){}render(e){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");const n=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-n);const d=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(d),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(d)}}Nt.CLASS_NAME="glyph-margin",Nt.OUTER_CLASS_NAME="margin";var $t=i(21981),Xt=i(28652);class Ci{constructor(e,n,d){this._visibleTextAreaBrand=void 0,this.top=e,this.left=n,this.width=d}setWidth(e){return new Ci(this.top,this.left,e)}}const Zt=s.vU;class mi extends J{constructor(e,n,d){super(e),this._primaryCursorPosition=new ee.L(1,1),this._primaryCursorVisibleRange=null,this._viewController=n,this._viewHelper=d,this._scrollLeft=0,this._scrollTop=0;const N=this._context.configuration.options,A=N.get(129);this._setAccessibilityOptions(N),this._contentLeft=A.contentLeft,this._contentWidth=A.contentWidth,this._contentHeight=A.height,this._fontInfo=N.get(43),this._lineHeight=N.get(58),this._emptySelectionClipboard=N.get(32),this._copyWithSyntaxHighlighting=N.get(21),this._visibleTextArea=null,this._selections=[new C.Y(1,1,1,1)],this._modelSelections=[new C.Y(1,1,1,1)],this._lastRenderPosition=null,this.textArea=(0,f.X)(document.createElement("textarea")),Z.write(this.textArea,6),this.textArea.setClassName(`inputarea ${Xt.S}`),this.textArea.setAttribute("wrap","off"),this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(N)),this.textArea.setAttribute("tabindex",String(N.get(111))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",G.N("editor","editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),N.get(30)&&N.get(80)&&this.textArea.setAttribute("readonly","true"),this.textAreaCover=(0,f.X)(document.createElement("div")),this.textAreaCover.setPosition("absolute");const X={getLineCount:()=>this._context.model.getLineCount(),getLineMaxColumn:Re=>this._context.model.getLineMaxColumn(Re),getValueInRange:(Re,Ge)=>this._context.model.getValueInRange(Re,Ge)},Le={getDataToCopy:Re=>{const Ge=this._context.model.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,v.ED),tt=this._context.model.getEOL(),dt=this._emptySelectionClipboard&&this._modelSelections.length===1&&this._modelSelections[0].isEmpty(),Ot=Array.isArray(Ge)?Ge:null,It=Array.isArray(Ge)?Ge.join(tt):Ge;let Kt,qt=null;if(Re&&(Gt.RA.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&It.length<65536)){const di=this._context.model.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);di&&(Kt=di.html,qt=di.mode)}return{isFromEmptySelection:dt,multicursorText:Ot,text:It,html:Kt,mode:qt}},getScreenReaderContent:Re=>{if(this._accessibilitySupport===1){if(v.dz){const Ge=this._selections[0];if(Ge.isEmpty()){const tt=Ge.getStartPosition();let dt=this._getWordBeforePosition(tt);if(dt.length===0&&(dt=this._getCharacterBeforePosition(tt)),dt.length>0)return new $e.un(dt,dt.length,dt.length,tt,tt)}}return $e.un.EMPTY}if(s.Dt){const Ge=this._selections[0];if(Ge.isEmpty()){const tt=Ge.getStartPosition(),[dt,Ot]=this._getAndroidWordAtPosition(tt);if(dt.length>0)return new $e.un(dt,Ot,Ot,tt,tt)}return $e.un.EMPTY}return $e.ee.fromEditorSelection(Re,X,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0)},deduceModelPosition:(Re,Ge,tt)=>this._context.model.deduceModelPositionRelativeToViewPosition(Re,Ge,tt)};this._textAreaInput=this._register(new Gt.Fz(Le,this.textArea)),this._register(this._textAreaInput.onKeyDown(Re=>{this._viewController.emitKeyDown(Re)})),this._register(this._textAreaInput.onKeyUp(Re=>{this._viewController.emitKeyUp(Re)})),this._register(this._textAreaInput.onPaste(Re=>{let Ge=!1,tt=null,dt=null;Re.metadata&&(Ge=this._emptySelectionClipboard&&!!Re.metadata.isFromEmptySelection,tt=typeof Re.metadata.multicursorText!="undefined"?Re.metadata.multicursorText:null,dt=Re.metadata.mode),this._viewController.paste(Re.text,Ge,tt,dt)})),this._register(this._textAreaInput.onCut(()=>{this._viewController.cut()})),this._register(this._textAreaInput.onType(Re=>{Re.replacePrevCharCnt||Re.replaceNextCharCnt||Re.positionDelta?($e.al&&console.log(` => compositionType: <<${Re.text}>>, ${Re.replacePrevCharCnt}, ${Re.replaceNextCharCnt}, ${Re.positionDelta}`),this._viewController.compositionType(Re.text,Re.replacePrevCharCnt,Re.replaceNextCharCnt,Re.positionDelta)):($e.al&&console.log(` => type: <<${Re.text}>>`),this._viewController.type(Re.text))})),this._register(this._textAreaInput.onSelectionChangeRequest(Re=>{this._viewController.setSelection(Re)})),this._register(this._textAreaInput.onCompositionStart(Re=>{const Ge=this._selections[0].startLineNumber,tt=this._selections[0].startColumn+Re.revealDeltaColumns;this._context.model.revealRange("keyboard",!0,new he.e(Ge,tt,Ge,tt),0,1);const dt=this._viewHelper.visibleRangeForPositionRelativeToEditor(Ge,tt);dt&&(this._visibleTextArea=new Ci(this._context.viewLayout.getVerticalOffsetForLineNumber(Ge),dt.left,Zt?0:1),this._render()),this.textArea.setClassName(`inputarea ${Xt.S} ime-input`),this._viewController.compositionStart(),this._context.model.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(Re=>{this._visibleTextArea&&(this._visibleTextArea=this._visibleTextArea.setWidth(mt(Re.data,this._fontInfo)),this._render())})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this._render(),this.textArea.setClassName(`inputarea ${Xt.S}`),this._viewController.compositionEnd(),this._context.model.onCompositionEnd()})),this._register(this._textAreaInput.onFocus(()=>{this._context.model.setHasFocus(!0)})),this._register(this._textAreaInput.onBlur(()=>{this._context.model.setHasFocus(!1)}))}dispose(){super.dispose()}_getAndroidWordAtPosition(e){const n='`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',d=this._context.model.getLineContent(e.lineNumber),N=(0,$t.u)(n);let A=!0,X=e.column,Le=!0,Re=e.column,Ge=0;for(;Ge<50&&(A||Le);){if(A&&X<=1&&(A=!1),A){const tt=d.charCodeAt(X-2);N.get(tt)!==0?A=!1:X--}if(Le&&Re>d.length&&(Le=!1),Le){const tt=d.charCodeAt(Re-1);N.get(tt)!==0?Le=!1:Re++}Ge++}return[d.substring(X-1,Re-1),e.column-X]}_getWordBeforePosition(e){const n=this._context.model.getLineContent(e.lineNumber),d=(0,$t.u)(this._context.configuration.options.get(115));let N=e.column,A=0;for(;N>1;){const X=n.charCodeAt(N-2);if(d.get(X)!==0||A>50)return n.substring(N-1,e.column-1);A++,N--}return n.substring(0,e.column-1)}_getCharacterBeforePosition(e){if(e.column>1){const d=this._context.model.getLineContent(e.lineNumber).charAt(e.column-2);if(!Qe.ZG(d.charCodeAt(0)))return d}return""}_getAriaLabel(e){return e.get(2)===1?G.N("accessibilityOffAriaLabel","The editor is not accessible at this time. Press {0} for options.",v.IJ?"Shift+Alt+F1":"Alt+F1"):e.get(4)}_setAccessibilityOptions(e){this._accessibilitySupport=e.get(2);const n=e.get(3);this._accessibilitySupport===2&&n===ve.BH.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=n}onConfigurationChanged(e){const n=this._context.configuration.options,d=n.get(129);return this._setAccessibilityOptions(n),this._contentLeft=d.contentLeft,this._contentWidth=d.contentWidth,this._contentHeight=d.height,this._fontInfo=n.get(43),this._lineHeight=n.get(58),this._emptySelectionClipboard=n.get(32),this._copyWithSyntaxHighlighting=n.get(21),this.textArea.setAttribute("aria-label",this._getAriaLabel(n)),this.textArea.setAttribute("tabindex",String(n.get(111))),(e.hasChanged(30)||e.hasChanged(80))&&(n.get(30)&&n.get(80)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")),e.hasChanged(2)&&this._textAreaInput.writeScreenReaderContent("strategy changed"),!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),this._modelSelections=e.modelSelections.slice(0),this._textAreaInput.writeScreenReaderContent("selection changed"),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(e){e.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",e.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),e.role&&this.textArea.setAttribute("role",e.role)}prepareRender(e){this._primaryCursorPosition=new ee.L(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primaryCursorPosition)}render(e){this._textAreaInput.writeScreenReaderContent("render"),this._render()}_render(){if(this._visibleTextArea){this._renderInsideEditor(null,this._visibleTextArea.top-this._scrollTop,this._contentLeft+this._visibleTextArea.left-this._scrollLeft,this._visibleTextArea.width,this._lineHeight);return}if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const e=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(e<this._contentLeft||e>this._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const n=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(n<0||n>this._contentHeight){this._renderAtTopLeft();return}if(v.dz){this._renderInsideEditor(this._primaryCursorPosition,n,e,Zt?0:1,this._lineHeight);return}this._renderInsideEditor(this._primaryCursorPosition,n,e,Zt?0:1,Zt?0:1)}_renderInsideEditor(e,n,d,N,A){this._lastRenderPosition=e;const X=this.textArea,Le=this.textAreaCover;g.V.applyFontInfo(X,this._fontInfo),X.setTop(n),X.setLeft(d),X.setWidth(N),X.setHeight(A),Le.setTop(0),Le.setLeft(0),Le.setWidth(0),Le.setHeight(0)}_renderAtTopLeft(){this._lastRenderPosition=null;const e=this.textArea,n=this.textAreaCover;if(g.V.applyFontInfo(e,this._fontInfo),e.setTop(0),e.setLeft(0),n.setTop(0),n.setLeft(0),Zt){e.setWidth(0),e.setHeight(0),n.setWidth(0),n.setHeight(0);return}e.setWidth(1),e.setHeight(1),n.setWidth(1),n.setHeight(1);const d=this._context.configuration.options;d.get(49)?n.setClassName("monaco-editor-background textAreaCover "+Nt.OUTER_CLASS_NAME):d.get(59).renderType!==0?n.setClassName("monaco-editor-background textAreaCover "+ct.CLASS_NAME):n.setClassName("monaco-editor-background textAreaCover")}}function mt(Tt,e){const d=document.createElement("canvas").getContext("2d");d.font=ut(e);const N=d.measureText(Tt);return s.vU?N.width+2:N.width}function ut(Tt){return qe("normal",Tt.fontWeight,Tt.fontSize,Tt.lineHeight,Tt.fontFamily)}function qe(Tt,e,n,d,N){return`${Tt} normal ${e} ${n}px / ${d}px ${N}`}var de=i(46343);class Se{constructor(e,n,d,N){this.configuration=e,this.viewModel=n,this.userInputEvents=d,this.commandDelegate=N}paste(e,n,d,N){this.commandDelegate.paste(e,n,d,N)}type(e){this.commandDelegate.type(e)}compositionType(e,n,d,N){this.commandDelegate.compositionType(e,n,d,N)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){de.CoreNavigationCommands.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:e})}_validateViewColumn(e){const n=this.viewModel.getLineMinColumn(e.lineNumber);return e.column<n?new ee.L(e.lineNumber,n):e}_hasMulticursorModifier(e){switch(this.configuration.options.get(69)){case"altKey":return e.altKey;case"ctrlKey":return e.ctrlKey;case"metaKey":return e.metaKey;default:return!1}}_hasNonMulticursorModifier(e){switch(this.configuration.options.get(69)){case"altKey":return e.ctrlKey||e.metaKey;case"ctrlKey":return e.altKey||e.metaKey;case"metaKey":return e.ctrlKey||e.altKey;default:return!1}}dispatchMouse(e){const n=this.configuration.options,d=v.IJ&&n.get(95),N=n.get(18);e.middleButton&&!d?this._columnSelect(e.position,e.mouseColumn,e.inSelectionMode):e.startedOnLineNumbers?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelect(e.position):this._createCursor(e.position,!0):e.inSelectionMode?this._lineSelectDrag(e.position):this._lineSelect(e.position):e.mouseDownCount>=4?this._selectAll():e.mouseDownCount===3?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position):this._lastCursorLineSelect(e.position):e.inSelectionMode?this._lineSelectDrag(e.position):this._lineSelect(e.position):e.mouseDownCount===2?this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position):e.inSelectionMode?this._wordSelectDrag(e.position):this._wordSelect(e.position):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey?this._columnSelect(e.position,e.mouseColumn,!0):N?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position):this.moveTo(e.position)}_usualArgs(e){return e=this._validateViewColumn(e),{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e}}moveTo(e){de.CoreNavigationCommands.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_moveToSelect(e){de.CoreNavigationCommands.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_columnSelect(e,n,d){e=this._validateViewColumn(e),de.CoreNavigationCommands.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:n,doColumnSelect:d})}_createCursor(e,n){e=this._validateViewColumn(e),de.CoreNavigationCommands.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:n})}_lastCursorMoveToSelect(e){de.CoreNavigationCommands.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_wordSelect(e){de.CoreNavigationCommands.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_wordSelectDrag(e){de.CoreNavigationCommands.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_lastCursorWordSelect(e){de.CoreNavigationCommands.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_lineSelect(e){de.CoreNavigationCommands.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_lineSelectDrag(e){de.CoreNavigationCommands.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_lastCursorLineSelect(e){de.CoreNavigationCommands.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_lastCursorLineSelectDrag(e){de.CoreNavigationCommands.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_selectAll(){de.CoreNavigationCommands.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}}class Y{constructor(e){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=e}emitKeyDown(e){this.onKeyDown&&this.onKeyDown(e)}emitKeyUp(e){this.onKeyUp&&this.onKeyUp(e)}emitContextMenu(e){this.onContextMenu&&this.onContextMenu(this._convertViewToModelMouseEvent(e))}emitMouseMove(e){this.onMouseMove&&this.onMouseMove(this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){this.onMouseLeave&&this.onMouseLeave(this._convertViewToModelMouseEvent(e))}emitMouseDown(e){this.onMouseDown&&this.onMouseDown(this._convertViewToModelMouseEvent(e))}emitMouseUp(e){this.onMouseUp&&this.onMouseUp(this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){this.onMouseDrag&&this.onMouseDrag(this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){this.onMouseDrop&&this.onMouseDrop(this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){this.onMouseDropCanceled&&this.onMouseDropCanceled()}emitMouseWheel(e){this.onMouseWheel&&this.onMouseWheel(e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(e){return Y.convertViewToModelMouseTarget(e,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,n){return new _e(e.element,e.type,e.mouseColumn,e.position?n.convertViewPositionToModelPosition(e.position):null,e.range?n.convertViewRangeToModelRange(e.range):null,e.detail)}}class _e{constructor(e,n,d,N,A,X){this.element=e,this.type=n,this.mouseColumn=d,this.position=N,this.range=A,this.detail=X}toString(){return Ht.toString(this)}}var ke=i(48772),lt;class nt{constructor(e){this._createLine=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,n){this._lines=n,this._rendLineNumberStart=e}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(e){const n=e-this._rendLineNumberStart;if(n<0||n>=this._lines.length)throw new Error("Illegal value for lineNumber");return this._lines[n]}onLinesDeleted(e,n){if(this.getCount()===0)return null;const d=this.getStartLineNumber(),N=this.getEndLineNumber();if(n<d){const Re=n-e+1;return this._rendLineNumberStart-=Re,null}if(e>N)return null;let A=0,X=0;for(let Re=d;Re<=N;Re++){const Ge=Re-this._rendLineNumberStart;e<=Re&&Re<=n&&(X===0?(A=Ge,X=1):X++)}if(e<d){let Re=0;n<d?Re=n-e+1:Re=d-e,this._rendLineNumberStart-=Re}return this._lines.splice(A,X)}onLinesChanged(e,n){if(this.getCount()===0)return!1;const d=this.getStartLineNumber(),N=this.getEndLineNumber();let A=!1;for(let X=e;X<=n;X++)X>=d&&X<=N&&(this._lines[X-this._rendLineNumberStart].onContentChanged(),A=!0);return A}onLinesInserted(e,n){if(this.getCount()===0)return null;const d=n-e+1,N=this.getStartLineNumber(),A=this.getEndLineNumber();if(e<=N)return this._rendLineNumberStart+=d,null;if(e>A)return null;if(d+e>A)return this._lines.splice(e-this._rendLineNumberStart,A-e+1);const X=[];for(let dt=0;dt<d;dt++)X[dt]=this._createLine();const Le=e-this._rendLineNumberStart,Re=this._lines.slice(0,Le),Ge=this._lines.slice(Le,this._lines.length-d),tt=this._lines.slice(this._lines.length-d,this._lines.length);return this._lines=Re.concat(X).concat(Ge),tt}onTokensChanged(e){if(this.getCount()===0)return!1;const n=this.getStartLineNumber(),d=this.getEndLineNumber();let N=!1;for(let A=0,X=e.length;A<X;A++){const Le=e[A];if(Le.toLineNumber<n||Le.fromLineNumber>d)continue;const Re=Math.max(n,Le.fromLineNumber),Ge=Math.min(d,Le.toLineNumber);for(let tt=Re;tt<=Ge;tt++){const dt=tt-this._rendLineNumberStart;this._lines[dt].onTokensChanged(),N=!0}}return N}}class pt{constructor(e){this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new nt(()=>this._host.createVisibleLine())}_createDomNode(){const e=(0,f.X)(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e}onConfigurationChanged(e){return!!e.hasChanged(129)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.toLineNumber)}onLinesDeleted(e){const n=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(n)for(let d=0,N=n.length;d<N;d++){const A=n[d].getDomNode();A&&this.domNode.domNode.removeChild(A)}return!0}onLinesInserted(e){const n=this._linesCollection.onLinesInserted(e.fromLineNumber,e.toLineNumber);if(n)for(let d=0,N=n.length;d<N;d++){const A=n[d].getDomNode();A&&this.domNode.domNode.removeChild(A)}return!0}onScrollChanged(e){return e.scrollTopChanged}onTokensChanged(e){return this._linesCollection.onTokensChanged(e.ranges)}onZonesChanged(e){return!0}getStartLineNumber(){return this._linesCollection.getStartLineNumber()}getEndLineNumber(){return this._linesCollection.getEndLineNumber()}getVisibleLine(e){return this._linesCollection.getLine(e)}renderLines(e){const n=this._linesCollection._get(),d=new Dt(this.domNode.domNode,this._host,e),N={rendLineNumberStart:n.rendLineNumberStart,lines:n.lines,linesLength:n.lines.length},A=d.render(N,e.startLineNumber,e.endLineNumber,e.relativeVerticalOffset);this._linesCollection._set(A.rendLineNumberStart,A.lines)}}class Dt{constructor(e,n,d){this.domNode=e,this.host=n,this.viewportData=d}render(e,n,d,N){const A={rendLineNumberStart:e.rendLineNumberStart,lines:e.lines.slice(0),linesLength:e.linesLength};if(A.rendLineNumberStart+A.linesLength-1<n||d<A.rendLineNumberStart){A.rendLineNumberStart=n,A.linesLength=d-n+1,A.lines=[];for(let X=n;X<=d;X++)A.lines[X-n]=this.host.createVisibleLine();return this._finishRendering(A,!0,N),A}if(this._renderUntouchedLines(A,Math.max(n-A.rendLineNumberStart,0),Math.min(d-A.rendLineNumberStart,A.linesLength-1),N,n),A.rendLineNumberStart>n){const X=n,Le=Math.min(d,A.rendLineNumberStart-1);X<=Le&&(this._insertLinesBefore(A,X,Le,N,n),A.linesLength+=Le-X+1)}else if(A.rendLineNumberStart<n){const X=Math.min(A.linesLength,n-A.rendLineNumberStart);X>0&&(this._removeLinesBefore(A,X),A.linesLength-=X)}if(A.rendLineNumberStart=n,A.rendLineNumberStart+A.linesLength-1<d){const X=A.rendLineNumberStart+A.linesLength,Le=d;X<=Le&&(this._insertLinesAfter(A,X,Le,N,n),A.linesLength+=Le-X+1)}else if(A.rendLineNumberStart+A.linesLength-1>d){const X=Math.max(0,d-A.rendLineNumberStart+1),Re=A.linesLength-1-X+1;Re>0&&(this._removeLinesAfter(A,Re),A.linesLength-=Re)}return this._finishRendering(A,!1,N),A}_renderUntouchedLines(e,n,d,N,A){const X=e.rendLineNumberStart,Le=e.lines;for(let Re=n;Re<=d;Re++){const Ge=X+Re;Le[Re].layoutLine(Ge,N[Ge-A])}}_insertLinesBefore(e,n,d,N,A){const X=[];let Le=0;for(let Re=n;Re<=d;Re++)X[Le++]=this.host.createVisibleLine();e.lines=X.concat(e.lines)}_removeLinesBefore(e,n){for(let d=0;d<n;d++){const N=e.lines[d].getDomNode();N&&this.domNode.removeChild(N)}e.lines.splice(0,n)}_insertLinesAfter(e,n,d,N,A){const X=[];let Le=0;for(let Re=n;Re<=d;Re++)X[Le++]=this.host.createVisibleLine();e.lines=e.lines.concat(X)}_removeLinesAfter(e,n){const d=e.linesLength-n;for(let N=0;N<n;N++){const A=e.lines[d+N].getDomNode();A&&this.domNode.removeChild(A)}e.lines.splice(d,n)}_finishRenderingNewLines(e,n,d,N){Dt._ttPolicy&&(d=Dt._ttPolicy.createHTML(d));const A=this.domNode.lastChild;n||!A?this.domNode.innerHTML=d:A.insertAdjacentHTML("afterend",d);let X=this.domNode.lastChild;for(let Le=e.linesLength-1;Le>=0;Le--){const Re=e.lines[Le];N[Le]&&(Re.setDomNode(X),X=X.previousSibling)}}_finishRenderingInvalidLines(e,n,d){const N=document.createElement("div");Dt._ttPolicy&&(n=Dt._ttPolicy.createHTML(n)),N.innerHTML=n;for(let A=0;A<e.linesLength;A++){const X=e.lines[A];if(d[A]){const Le=N.firstChild,Re=X.getDomNode();Re.parentNode.replaceChild(Le,Re),X.setDomNode(Le)}}}_finishRendering(e,n,d){const N=Dt._sb,A=e.linesLength,X=e.lines,Le=e.rendLineNumberStart,Re=[];{N.reset();let Ge=!1;for(let tt=0;tt<A;tt++){const dt=X[tt];Re[tt]=!1,!(dt.getDomNode()||!dt.renderLine(tt+Le,d[tt],this.viewportData,N))&&(Re[tt]=!0,Ge=!0)}Ge&&this._finishRenderingNewLines(e,n,N.build(),Re)}{N.reset();let Ge=!1;const tt=[];for(let dt=0;dt<A;dt++){const Ot=X[dt];tt[dt]=!1,!(Re[dt]||!Ot.renderLine(dt+Le,d[dt],this.viewportData,N))&&(tt[dt]=!0,Ge=!0)}Ge&&this._finishRenderingInvalidLines(e,N.build(),tt)}}}Dt._ttPolicy=(lt=window.trustedTypes)===null||lt===void 0?void 0:lt.createPolicy("editorViewLayer",{createHTML:Tt=>Tt}),Dt._sb=(0,ke.l$)(1e5);class Vt extends J{constructor(e){super(e),this._visibleLines=new pt(this),this.domNode=this._visibleLines.domNode,this._dynamicOverlays=[],this._isFocused=!1,this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let e=0,n=this._dynamicOverlays.length;e<n;e++)if(this._dynamicOverlays[e].shouldRender())return!0;return!1}dispose(){super.dispose();for(let e=0,n=this._dynamicOverlays.length;e<n;e++)this._dynamicOverlays[e].dispose();this._dynamicOverlays=[]}getDomNode(){return this.domNode}createVisibleLine(){return new Mt(this._context.configuration,this._dynamicOverlays)}addDynamicOverlay(e){this._dynamicOverlays.push(e)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e);const n=this._visibleLines.getStartLineNumber(),d=this._visibleLines.getEndLineNumber();for(let N=n;N<=d;N++)this._visibleLines.getVisibleLine(N).onConfigurationChanged(e);return!0}onFlushed(e){return this._visibleLines.onFlushed(e)}onFocusChanged(e){return this._isFocused=e.isFocused,!0}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onScrollChanged(e){return this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._visibleLines.onZonesChanged(e)}prepareRender(e){const n=this._dynamicOverlays.filter(d=>d.shouldRender());for(let d=0,N=n.length;d<N;d++){const A=n[d];A.prepareRender(e),A.onDidRender()}}render(e){this._viewOverlaysRender(e),this.domNode.toggleClassName("focused",this._isFocused)}_viewOverlaysRender(e){this._visibleLines.renderLines(e.viewportData)}}class Mt{constructor(e,n){this._configuration=e,this._lineHeight=this._configuration.options.get(58),this._dynamicOverlays=n,this._domNode=null,this._renderedContent=null}getDomNode(){return this._domNode?this._domNode.domNode:null}setDomNode(e){this._domNode=(0,f.X)(e)}onContentChanged(){}onTokensChanged(){}onConfigurationChanged(e){this._lineHeight=this._configuration.options.get(58)}renderLine(e,n,d,N){let A="";for(let X=0,Le=this._dynamicOverlays.length;X<Le;X++){const Re=this._dynamicOverlays[X];A+=Re.render(d.startLineNumber,e)}return this._renderedContent===A?!1:(this._renderedContent=A,N.appendASCIIString('<div style="position:absolute;top:'),N.appendASCIIString(String(n)),N.appendASCIIString("px;width:100%;height:"),N.appendASCIIString(String(this._lineHeight)),N.appendASCIIString('px;">'),N.appendASCIIString(A),N.appendASCIIString("</div>"),!0)}layoutLine(e,n){this._domNode&&(this._domNode.setTop(n),this._domNode.setHeight(this._lineHeight))}}class Jt extends Vt{constructor(e){super(e);const d=this._context.configuration.options.get(129);this._contentWidth=d.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){const d=this._context.configuration.options.get(129);return this._contentWidth=d.contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}}class jt extends Vt{constructor(e){super(e);const n=this._context.configuration.options,d=n.get(129);this._contentLeft=d.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),g.V.applyFontInfo(this.domNode,n.get(43))}onConfigurationChanged(e){const n=this._context.configuration.options;g.V.applyFontInfo(this.domNode,n.get(43));const d=n.get(129);return this._contentLeft=d.contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);const n=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(n),this.domNode.setWidth(this._contentLeft)}}class ui{constructor(e,n){this._coordinateBrand=void 0,this.top=e,this.left=n}}class vi extends J{constructor(e,n){super(e),this._viewDomNode=n,this._widgets={},this.domNode=(0,f.X)(document.createElement("div")),Z.write(this.domNode,1),this.domNode.setClassName("contentWidgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=(0,f.X)(document.createElement("div")),Z.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets")}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(e){const n=Object.keys(this._widgets);for(const d of n)this._widgets[d].onConfigurationChanged(e);return!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLineMappingChanged(e){const n=Object.keys(this._widgets);for(const d of n)this._widgets[d].onLineMappingChanged(e);return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return!0}onZonesChanged(e){return!0}addWidget(e){const n=new Si(this._context,this._viewDomNode,e);this._widgets[n.id]=n,n.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(n.domNode):this.domNode.appendChild(n.domNode),this.setShouldRender()}setWidgetPosition(e,n,d){this._widgets[e.getId()].setPosition(n,d),this.setShouldRender()}removeWidget(e){const n=e.getId();if(this._widgets.hasOwnProperty(n)){const d=this._widgets[n];delete this._widgets[n];const N=d.domNode.domNode;N.parentNode.removeChild(N),N.removeAttribute("monaco-visible-content-widget"),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(e){return this._widgets.hasOwnProperty(e)?this._widgets[e].suppressMouseDown:!1}onBeforeRender(e){const n=Object.keys(this._widgets);for(const d of n)this._widgets[d].onBeforeRender(e)}prepareRender(e){const n=Object.keys(this._widgets);for(const d of n)this._widgets[d].prepareRender(e)}render(e){const n=Object.keys(this._widgets);for(const d of n)this._widgets[d].render(e)}}class Si{constructor(e,n,d){this._context=e,this._viewDomNode=n,this._actual=d,this.domNode=(0,f.X)(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1;const N=this._context.configuration.options,A=N.get(129);this._fixedOverflowWidgets=N.get(36),this._contentWidth=A.contentWidth,this._contentLeft=A.contentLeft,this._lineHeight=N.get(58),this._range=null,this._viewRange=null,this._preference=[],this._cachedDomNodeClientWidth=-1,this._cachedDomNodeClientHeight=-1,this._maxWidth=this._getMaxWidth(),this._isVisible=!1,this._renderData=null,this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?"fixed":"absolute"),this.domNode.setVisibility("hidden"),this.domNode.setAttribute("widgetId",this.id),this.domNode.setMaxWidth(this._maxWidth)}onConfigurationChanged(e){const n=this._context.configuration.options;if(this._lineHeight=n.get(58),e.hasChanged(129)){const d=n.get(129);this._contentLeft=d.contentLeft,this._contentWidth=d.contentWidth,this._maxWidth=this._getMaxWidth()}}onLineMappingChanged(e){this._setPosition(this._range)}_setPosition(e){if(this._range=e,this._viewRange=null,this._range){const n=this._context.model.validateModelRange(this._range);(this._context.model.coordinatesConverter.modelPositionIsVisible(n.getStartPosition())||this._context.model.coordinatesConverter.modelPositionIsVisible(n.getEndPosition()))&&(this._viewRange=this._context.model.coordinatesConverter.convertModelRangeToViewRange(n))}}_getMaxWidth(){return this.allowEditorOverflow?window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth:this._contentWidth}setPosition(e,n){this._setPosition(e),this._preference=n,this._cachedDomNodeClientWidth=-1,this._cachedDomNodeClientHeight=-1}_layoutBoxInViewport(e,n,d,N,A){const X=e.top,Le=X,Re=n.top+this._lineHeight,Ge=A.viewportHeight-Re,tt=X-N,dt=Le>=N,Ot=Re,It=Ge>=N;let Kt=e.left,qt=n.left;return Kt+d>A.scrollLeft+A.viewportWidth&&(Kt=A.scrollLeft+A.viewportWidth-d),qt+d>A.scrollLeft+A.viewportWidth&&(qt=A.scrollLeft+A.viewportWidth-d),Kt<A.scrollLeft&&(Kt=A.scrollLeft),qt<A.scrollLeft&&(qt=A.scrollLeft),{fitsAbove:dt,aboveTop:tt,aboveLeft:Kt,fitsBelow:It,belowTop:Ot,belowLeft:qt}}_layoutHorizontalSegmentInPage(e,n,d,N){const A=Math.max(0,n.left-N),X=Math.min(n.left+n.width+N,e.width);let Le=n.left+d-I.DI.scrollX;if(Le+N>X){const Re=Le-(X-N);Le-=Re,d-=Re}if(Le<A){const Re=Le-A;Le-=Re,d-=Re}return[d,Le]}_layoutBoxInPage(e,n,d,N,A){const X=e.top-N,Le=n.top+this._lineHeight,Re=I.i(this._viewDomNode.domNode),Ge=Re.top+X-I.DI.scrollY,tt=Re.top+Le-I.DI.scrollY,dt=I.D6(document.body),[Ot,It]=this._layoutHorizontalSegmentInPage(dt,Re,e.left-A.scrollLeft+this._contentLeft,d),[Kt,qt]=this._layoutHorizontalSegmentInPage(dt,Re,n.left-A.scrollLeft+this._contentLeft,d),di=22,pi=22,Li=Ge>=di,bi=tt+N<=dt.height-pi;return this._fixedOverflowWidgets?{fitsAbove:Li,aboveTop:Math.max(Ge,di),aboveLeft:It,fitsBelow:bi,belowTop:tt,belowLeft:qt}:{fitsAbove:Li,aboveTop:X,aboveLeft:Ot,fitsBelow:bi,belowTop:Le,belowLeft:Kt}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new ui(e.top,e.left+this._contentLeft)}_getTopAndBottomLeft(e){if(!this._viewRange)return[null,null];const n=e.linesVisibleRangesForRange(this._viewRange,!1);if(!n||n.length===0)return[null,null];let d=n[0],N=n[0];for(const dt of n)dt.lineNumber<d.lineNumber&&(d=dt),dt.lineNumber>N.lineNumber&&(N=dt);let A=1073741824;for(const dt of d.ranges)dt.left<A&&(A=dt.left);let X=1073741824;for(const dt of N.ranges)dt.left<X&&(X=dt.left);const Le=e.getVerticalOffsetForLineNumber(d.lineNumber)-e.scrollTop,Re=new ui(Le,A),Ge=e.getVerticalOffsetForLineNumber(N.lineNumber)-e.scrollTop,tt=new ui(Ge,X);return[Re,tt]}_prepareRenderWidget(e){const[n,d]=this._getTopAndBottomLeft(e);if(!n||!d)return null;if(this._cachedDomNodeClientWidth===-1||this._cachedDomNodeClientHeight===-1){let A=null;if(typeof this._actual.beforeRender=="function"&&(A=Oi(this._actual.beforeRender,this._actual)),A)this._cachedDomNodeClientWidth=A.width,this._cachedDomNodeClientHeight=A.height;else{const X=this.domNode.domNode;this._cachedDomNodeClientWidth=X.clientWidth,this._cachedDomNodeClientHeight=X.clientHeight}}let N;if(this.allowEditorOverflow?N=this._layoutBoxInPage(n,d,this._cachedDomNodeClientWidth,this._cachedDomNodeClientHeight,e):N=this._layoutBoxInViewport(n,d,this._cachedDomNodeClientWidth,this._cachedDomNodeClientHeight,e),this._preference)for(let A=1;A<=2;A++)for(const X of this._preference)if(X===1){if(!N)return null;if(A===2||N.fitsAbove)return{coordinate:new ui(N.aboveTop,N.aboveLeft),position:1}}else if(X===2){if(!N)return null;if(A===2||N.fitsBelow)return{coordinate:new ui(N.belowTop,N.belowLeft),position:2}}else return this.allowEditorOverflow?{coordinate:this._prepareRenderWidgetAtExactPositionOverflowing(n),position:0}:{coordinate:n,position:0};return null}onBeforeRender(e){!this._viewRange||!this._preference||this._viewRange.endLineNumber<e.startLineNumber||this._viewRange.startLineNumber>e.endLineNumber||this.domNode.setMaxWidth(this._maxWidth)}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){if(!this._renderData){this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden")),typeof this._actual.afterRender=="function"&&Oi(this._actual.afterRender,this._actual,null);return}this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),typeof this._actual.afterRender=="function"&&Oi(this._actual.afterRender,this._actual,this._renderData.position)}}function Oi(Tt,e,...n){try{return Tt.call(e,...n)}catch(d){return null}}var Ri=i(43506);let zi=!0;class hn extends Ie{constructor(e){super(),this._context=e;const n=this._context.configuration.options,d=n.get(129);this._lineHeight=n.get(58),this._renderLineHighlight=n.get(84),this._renderLineHighlightOnlyWhenFocus=n.get(85),this._contentLeft=d.contentLeft,this._contentWidth=d.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new C.Y(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1;const n=zi?this._selections.slice(0,1):this._selections,d=n.map(A=>A.positionLineNumber);d.sort((A,X)=>A-X),Ri.fS(this._cursorLineNumbers,d)||(this._cursorLineNumbers=d,e=!0);const N=n.every(A=>A.isEmpty());return this._selectionIsEmpty!==N&&(this._selectionIsEmpty=N,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){const n=this._context.configuration.options,d=n.get(129);return this._lineHeight=n.get(58),this._renderLineHighlight=n.get(84),this._renderLineHighlightOnlyWhenFocus=n.get(85),this._contentLeft=d.contentLeft,this._contentWidth=d.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return this._renderLineHighlightOnlyWhenFocus?(this._focused=e.isFocused,!0):!1}prepareRender(e){if(!this._shouldRenderThis()){this._renderData=null;return}const n=this._renderOne(e),d=e.visibleRange.startLineNumber,N=e.visibleRange.endLineNumber,A=this._cursorLineNumbers.length;let X=0;const Le=[];for(let Re=d;Re<=N;Re++){const Ge=Re-d;for(;X<A&&this._cursorLineNumbers[X]<Re;)X++;X<A&&this._cursorLineNumbers[X]===Re?Le[Ge]=n:Le[Ge]=""}this._renderData=Le}render(e,n){if(!this._renderData)return"";const d=n-e;return d>=this._renderData.length?"":this._renderData[d]}}class bn extends hn{_renderOne(e){return`<div class="${"current-line"+(this._shouldRenderOther()?" current-line-both":"")}" style="width:${Math.max(e.scrollWidth,this._contentWidth)}px; height:${this._lineHeight}px;"></div>`}_shouldRenderThis(){return(this._renderLineHighlight==="line"||this._renderLineHighlight==="all")&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderOther(){return(this._renderLineHighlight==="gutter"||this._renderLineHighlight==="all")&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class qi extends hn{_renderOne(e){return`<div class="${"current-line"+(this._shouldRenderMargin()?" current-line-margin":"")+(this._shouldRenderOther()?" current-line-margin-both":"")}" style="width:${this._contentLeft}px; height:${this._lineHeight}px;"></div>`}_shouldRenderMargin(){return(this._renderLineHighlight==="gutter"||this._renderLineHighlight==="all")&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderThis(){return!0}_shouldRenderOther(){return(this._renderLineHighlight==="line"||this._renderLineHighlight==="all")&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}(0,Ke.Ic)((Tt,e)=>{zi=!1;const n=Tt.getColor(Oe.Kh);if(n&&(e.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${n}; }`),e.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${n}; border: none; }`)),!n||n.isTransparent()||Tt.defines(Oe.Mm)){const d=Tt.getColor(Oe.Mm);d&&(zi=!0,e.addRule(`.monaco-editor .view-overlays .current-line { border: 2px solid ${d}; }`),e.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid ${d}; }`),Tt.type==="hc"&&(e.addRule(".monaco-editor .view-overlays .current-line { border-width: 1px; }"),e.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }")))}});class Rn extends Ie{constructor(e){super(),this._context=e;const n=this._context.configuration.options;this._lineHeight=n.get(58),this._typicalHalfwidthCharacterWidth=n.get(43).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const n=this._context.configuration.options;return this._lineHeight=n.get(58),this._typicalHalfwidthCharacterWidth=n.get(43).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){const n=e.getDecorationsInViewport();let d=[],N=0;for(let Re=0,Ge=n.length;Re<Ge;Re++){const tt=n[Re];tt.options.className&&(d[N++]=tt)}d=d.sort((Re,Ge)=>{if(Re.options.zIndex<Ge.options.zIndex)return-1;if(Re.options.zIndex>Ge.options.zIndex)return 1;const tt=Re.options.className,dt=Ge.options.className;return tt<dt?-1:tt>dt?1:he.e.compareRangesUsingStarts(Re.range,Ge.range)});const A=e.visibleRange.startLineNumber,X=e.visibleRange.endLineNumber,Le=[];for(let Re=A;Re<=X;Re++){const Ge=Re-A;Le[Ge]=""}this._renderWholeLineDecorations(e,d,Le),this._renderNormalDecorations(e,d,Le),this._renderResult=Le}_renderWholeLineDecorations(e,n,d){const N=String(this._lineHeight),A=e.visibleRange.startLineNumber,X=e.visibleRange.endLineNumber;for(let Le=0,Re=n.length;Le<Re;Le++){const Ge=n[Le];if(!Ge.options.isWholeLine)continue;const tt='<div class="cdr '+Ge.options.className+'" style="left:0;width:100%;height:'+N+'px;"></div>',dt=Math.max(Ge.range.startLineNumber,A),Ot=Math.min(Ge.range.endLineNumber,X);for(let It=dt;It<=Ot;It++){const Kt=It-A;d[Kt]+=tt}}}_renderNormalDecorations(e,n,d){const N=String(this._lineHeight),A=e.visibleRange.startLineNumber;let X=null,Le=!1,Re=null;for(let Ge=0,tt=n.length;Ge<tt;Ge++){const dt=n[Ge];if(dt.options.isWholeLine)continue;const Ot=dt.options.className,It=!!dt.options.showIfCollapsed;let Kt=dt.range;if(It&&Kt.endColumn===1&&Kt.endLineNumber!==Kt.startLineNumber&&(Kt=new he.e(Kt.startLineNumber,Kt.startColumn,Kt.endLineNumber-1,this._context.model.getLineMaxColumn(Kt.endLineNumber-1))),X===Ot&&Le===It&&he.e.areIntersectingOrTouching(Re,Kt)){Re=he.e.plusRange(Re,Kt);continue}X!==null&&this._renderNormalDecoration(e,Re,X,Le,N,A,d),X=Ot,Le=It,Re=Kt}X!==null&&this._renderNormalDecoration(e,Re,X,Le,N,A,d)}_renderNormalDecoration(e,n,d,N,A,X,Le){const Re=e.linesVisibleRangesForRange(n,d==="findMatch");if(Re)for(let Ge=0,tt=Re.length;Ge<tt;Ge++){const dt=Re[Ge];if(dt.outsideRenderedLine)continue;const Ot=dt.lineNumber-X;if(N&&dt.ranges.length===1){const It=dt.ranges[0];It.width===0&&(dt.ranges[0]=new j(It.left,this._typicalHalfwidthCharacterWidth))}for(let It=0,Kt=dt.ranges.length;It<Kt;It++){const qt=dt.ranges[It],di='<div class="cdr '+d+'" style="left:'+String(qt.left)+"px;width:"+String(qt.width)+"px;height:"+A+'px;"></div>';Le[Ot]+=di}}}render(e,n){if(!this._renderResult)return"";const d=n-e;return d<0||d>=this._renderResult.length?"":this._renderResult[d]}}var yn=i(1336),nn=i(44350);class kn extends J{constructor(e,n,d,N){super(e);const A=this._context.configuration.options,X=A.get(91),Le=A.get(66),Re=A.get(34),Ge=A.get(94),tt={listenOnDomNode:d.domNode,className:"editor-scrollable "+(0,Ke.m6)(e.theme.type),useShadows:!1,lazyRender:!0,vertical:X.vertical,horizontal:X.horizontal,verticalHasArrows:X.verticalHasArrows,horizontalHasArrows:X.horizontalHasArrows,verticalScrollbarSize:X.verticalScrollbarSize,verticalSliderSize:X.verticalSliderSize,horizontalScrollbarSize:X.horizontalScrollbarSize,horizontalSliderSize:X.horizontalSliderSize,handleMouseWheel:X.handleMouseWheel,alwaysConsumeMouseWheel:X.alwaysConsumeMouseWheel,arrowSize:X.arrowSize,mouseWheelScrollSensitivity:Le,fastScrollSensitivity:Re,scrollPredominantAxis:Ge,scrollByPage:X.scrollByPage};this.scrollbar=this._register(new yn.$Z(n.domNode,tt,this._context.viewLayout.getScrollable())),Z.write(this.scrollbar.getDomNode(),5),this.scrollbarDomNode=(0,f.X)(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const dt=(Ot,It,Kt)=>{const qt={};if(It){const di=Ot.scrollTop;di&&(qt.scrollTop=this._context.viewLayout.getCurrentScrollTop()+di,Ot.scrollTop=0)}if(Kt){const di=Ot.scrollLeft;di&&(qt.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+di,Ot.scrollLeft=0)}this._context.model.setScrollPosition(qt,1)};this._register(I.nm(d.domNode,"scroll",Ot=>dt(d.domNode,!0,!0))),this._register(I.nm(n.domNode,"scroll",Ot=>dt(n.domNode,!0,!1))),this._register(I.nm(N.domNode,"scroll",Ot=>dt(N.domNode,!0,!1))),this._register(I.nm(this.scrollbarDomNode.domNode,"scroll",Ot=>dt(this.scrollbarDomNode.domNode,!0,!1)))}dispose(){super.dispose()}_setLayout(){const e=this._context.configuration.options,n=e.get(129);this.scrollbarDomNode.setLeft(n.contentLeft),e.get(64).side==="right"?this.scrollbarDomNode.setWidth(n.contentWidth+n.minimap.minimapWidth):this.scrollbarDomNode.setWidth(n.contentWidth),this.scrollbarDomNode.setHeight(n.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarMouseDown(e){this.scrollbar.delegateVerticalScrollbarMouseDown(e)}onConfigurationChanged(e){if(e.hasChanged(91)||e.hasChanged(66)||e.hasChanged(34)){const n=this._context.configuration.options,d=n.get(91),N=n.get(66),A=n.get(34),X=n.get(94),Le={vertical:d.vertical,horizontal:d.horizontal,verticalScrollbarSize:d.verticalScrollbarSize,horizontalScrollbarSize:d.horizontalScrollbarSize,scrollByPage:d.scrollByPage,handleMouseWheel:d.handleMouseWheel,mouseWheelScrollSensitivity:N,fastScrollSensitivity:A,scrollPredominantAxis:X};this.scrollbar.updateOptions(Le)}return e.hasChanged(129)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName("editor-scrollable "+(0,Ke.m6)(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}}(0,Ke.Ic)((Tt,e)=>{const n=Tt.getColor(nn._w);n&&e.addRule(`
.monaco-scrollable-element > .shadow.top {
box-shadow: ${n} 0 6px 6px -6px inset;
}
.monaco-scrollable-element > .shadow.left {
box-shadow: ${n} 6px 0 6px -6px inset;
}
.monaco-scrollable-element > .shadow.top.left {
box-shadow: ${n} 6px 6px 6px -6px inset;
}
`);const d=Tt.getColor(nn.et);d&&e.addRule(`
.monaco-scrollable-element > .scrollbar > .slider {
background: ${d};
}
`);const N=Tt.getColor(nn.AB);N&&e.addRule(`
.monaco-scrollable-element > .scrollbar > .slider:hover {
background: ${N};
}
`);const A=Tt.getColor(nn.yn);A&&e.addRule(`
.monaco-scrollable-element > .scrollbar > .slider.active {
background: ${A};
}
`)});class Dn{constructor(e,n,d){this._decorationToRenderBrand=void 0,this.startLineNumber=+e,this.endLineNumber=+n,this.className=String(d)}}class En extends Ie{_render(e,n,d){const N=[];for(let Le=e;Le<=n;Le++){const Re=Le-e;N[Re]=[]}if(d.length===0)return N;d.sort((Le,Re)=>Le.className===Re.className?Le.startLineNumber===Re.startLineNumber?Le.endLineNumber-Re.endLineNumber:Le.startLineNumber-Re.startLineNumber:Le.className<Re.className?-1:1);let A=null,X=0;for(let Le=0,Re=d.length;Le<Re;Le++){const Ge=d[Le],tt=Ge.className;let dt=Math.max(Ge.startLineNumber,e)-e;const Ot=Math.min(Ge.endLineNumber,n)-e;A===tt?(dt=Math.max(X+1,dt),X=Math.max(X,Ot)):(A=tt,X=Ot);for(let It=dt;It<=X;It++)N[It].push(A)}return N}}class Jn extends En{constructor(e){super(),this._context=e;const n=this._context.configuration.options,d=n.get(129);this._lineHeight=n.get(58),this._glyphMargin=n.get(49),this._glyphMarginLeft=d.glyphMarginLeft,this._glyphMarginWidth=d.glyphMarginWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const n=this._context.configuration.options,d=n.get(129);return this._lineHeight=n.get(58),this._glyphMargin=n.get(49),this._glyphMarginLeft=d.glyphMarginLeft,this._glyphMarginWidth=d.glyphMarginWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){const n=e.getDecorationsInViewport();let d=[],N=0;for(let A=0,X=n.length;A<X;A++){const Le=n[A],Re=Le.options.glyphMarginClassName;Re&&(d[N++]=new Dn(Le.range.startLineNumber,Le.range.endLineNumber,Re))}return d}prepareRender(e){if(!this._glyphMargin){this._renderResult=null;return}const n=e.visibleRange.startLineNumber,d=e.visibleRange.endLineNumber,N=this._render(n,d,this._getDecorations(e)),A=this._lineHeight.toString(),X=this._glyphMarginLeft.toString(),Le=this._glyphMarginWidth.toString(),Re='" style="left:'+X+"px;width:"+Le+"px;height:"+A+'px;"></div>',Ge=[];for(let tt=n;tt<=d;tt++){const dt=tt-n,Ot=N[dt];Ot.length===0?Ge[dt]="":Ge[dt]='<div class="cgmr codicon '+Ot.join(" ")+Re}this._renderResult=Ge}render(e,n){if(!this._renderResult)return"";const d=n-e;return d<0||d>=this._renderResult.length?"":this._renderResult[d]}}var ln=i(51682),$n=i(31276),Gn=i(72999);class ss extends Ie{constructor(e){super(),this._context=e,this._primaryPosition=null;const n=this._context.configuration.options,d=n.get(130),N=n.get(43);this._lineHeight=n.get(58),this._spaceWidth=N.spaceWidth,this._maxIndentLeft=d.wrappingColumn===-1?-1:d.wrappingColumn*N.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=n.get(13),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const n=this._context.configuration.options,d=n.get(130),N=n.get(43);return this._lineHeight=n.get(58),this._spaceWidth=N.spaceWidth,this._maxIndentLeft=d.wrappingColumn===-1?-1:d.wrappingColumn*N.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=n.get(13),!0}onCursorStateChanged(e){var n;const N=e.selections[0].getPosition();return!((n=this._primaryPosition)===null||n===void 0)&&n.equals(N)?!1:(this._primaryPosition=N,!0)}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onLanguageConfigurationChanged(e){return!0}prepareRender(e){var n,d,N,A;if(!this._bracketPairGuideOptions.indentation&&this._bracketPairGuideOptions.bracketPairs===!1){this._renderResult=null;return}const X=e.visibleRange.startLineNumber,Le=e.visibleRange.endLineNumber,Re=e.scrollWidth,Ge=this._lineHeight,tt=this._primaryPosition,dt=this.getGuidesByLine(X,Le,tt),Ot=[];for(let It=X;It<=Le;It++){const Kt=It-X,qt=dt[Kt];let di="";const pi=(d=(n=e.visibleRangeForPosition(new ee.L(It,1)))===null||n===void 0?void 0:n.left)!==null&&d!==void 0?d:0;for(const Li of qt){const bi=pi+(Li.visibleColumn-1)*this._spaceWidth;if(bi>Re||this._maxIndentLeft>0&&bi>this._maxIndentLeft)break;const Ki=Li.horizontalLine?Li.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",Wi=Li.horizontalLine?((A=(N=e.visibleRangeForPosition(new ee.L(It,Li.horizontalLine.endColumn)))===null||N===void 0?void 0:N.left)!==null&&A!==void 0?A:bi+this._spaceWidth)-bi:this._spaceWidth;di+=`<div class="core-guide ${Li.className} ${Ki}" style="left:${bi}px;height:${Ge}px;width:${Wi}px"></div>`}Ot[Kt]=di}this._renderResult=Ot}getGuidesByLine(e,n,d){const N=this._bracketPairGuideOptions.bracketPairs!==!1?this._context.model.getBracketGuidesInRangeByLine(e,n,d,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:this._bracketPairGuideOptions.bracketPairsHorizontal===!0?ln.s6.Enabled:this._bracketPairGuideOptions.bracketPairsHorizontal==="active"?ln.s6.EnabledForActive:ln.s6.Disabled,includeInactive:this._bracketPairGuideOptions.bracketPairs===!0}):null,A=this._bracketPairGuideOptions.indentation?this._context.model.getLinesIndentGuides(e,n):null;let X=0,Le=0,Re=0;if(this._bracketPairGuideOptions.highlightActiveIndentation&&d){const dt=this._context.model.getActiveIndentGuide(d.lineNumber,e,n);X=dt.startLineNumber,Le=dt.endLineNumber,Re=dt.indent}const{indentSize:Ge}=this._context.model.getTextModelOptions(),tt=[];for(let dt=e;dt<=n;dt++){const Ot=new Array;tt.push(Ot);const It=N?N[dt-e]:[],Kt=new Ri.H9(It),qt=A?A[dt-e]:[];for(let di=1;di<=qt;di++){const pi=(di-1)*Ge+1,Li=It.length===0&&X<=dt&&dt<=Le&&di===Re;Ot.push(...Kt.takeWhile(Ki=>Ki.visibleColumn<pi)||[]);const bi=Kt.peek();(!bi||bi.visibleColumn!==pi||bi.horizontalLine)&&Ot.push(new ln.UO(pi,Li?"core-guide-indent-active":"core-guide-indent",null))}Ot.push(...Kt.takeWhile(di=>!0)||[])}return tt}render(e,n){if(!this._renderResult)return"";const d=n-e;return d<0||d>=this._renderResult.length?"":this._renderResult[d]}}function pn(Tt){if(!(Tt&&Tt.isTransparent()))return Tt}(0,Ke.Ic)((Tt,e)=>{const n=Tt.getColor(Oe.tR);n&&e.addRule(`.monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 ${n} inset; }`);const d=Tt.getColor(Oe.Ym)||n;d&&e.addRule(`.monaco-editor .lines-content .core-guide-indent-active { box-shadow: 1px 0 0 0 ${d} inset; }`);const N=[{bracketColor:Oe.zJ,guideColor:Oe.oV,guideColorActive:Oe.Qb},{bracketColor:Oe.Vs,guideColor:Oe.m$,guideColorActive:Oe.m3},{bracketColor:Oe.CE,guideColor:Oe.DS,guideColorActive:Oe.To},{bracketColor:Oe.UP,guideColor:Oe.lS,guideColorActive:Oe.L7},{bracketColor:Oe.r0,guideColor:Oe.Jn,guideColorActive:Oe.HV},{bracketColor:Oe.m1,guideColor:Oe.YF,guideColorActive:Oe.f9}],A=new $n.WE;let X=N.map(Le=>{var Re,Ge;const tt=Tt.getColor(Le.bracketColor),dt=Tt.getColor(Le.guideColor),Ot=Tt.getColor(Le.guideColorActive),It=pn((Re=pn(dt))!==null&&Re!==void 0?Re:tt==null?void 0:tt.transparent(.3)),Kt=pn((Ge=pn(Ot))!==null&&Ge!==void 0?Ge:tt);if(!(!It||!Kt))return{guideColor:It,guideColorActive:Kt}}).filter(Gn.$K);if(X.length>0){for(let Le=0;Le<30;Le++){const Re=X[Le%X.length];e.addRule(`.monaco-editor .${A.getInlineClassNameOfLevel(Le).replace(/ /g,".")} { --guide-color: ${Re.guideColor}; --guide-color-active: ${Re.guideColorActive}; }`)}e.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),e.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),e.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),e.addRule(`.monaco-editor .vertical.${A.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),e.addRule(`.monaco-editor .horizontal-top.${A.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),e.addRule(`.monaco-editor .horizontal-bottom.${A.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}});class Yn{constructor(){this._currentVisibleRange=new he.e(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}}class Vn{constructor(e,n,d,N,A,X){this.lineNumber=e,this.startColumn=n,this.endColumn=d,this.startScrollTop=N,this.stopScrollTop=A,this.scrollType=X,this.type="range",this.minLineNumber=e,this.maxLineNumber=e}}class An{constructor(e,n,d,N){this.selections=e,this.startScrollTop=n,this.stopScrollTop=d,this.scrollType=N,this.type="selections";let A=e[0].startLineNumber,X=e[0].endLineNumber;for(let Le=1,Re=e.length;Le<Re;Le++){const Ge=e[Le];A=Math.min(A,Ge.startLineNumber),X=Math.max(X,Ge.endLineNumber)}this.minLineNumber=A,this.maxLineNumber=X}}class On extends J{constructor(e,n){super(e),this._linesContent=n,this._textRangeRestingSpot=document.createElement("div"),this._visibleLines=new pt(this),this.domNode=this._visibleLines.domNode;const d=this._context.configuration,N=this._context.configuration.options,A=N.get(43),X=N.get(130);this._lineHeight=N.get(58),this._typicalHalfwidthCharacterWidth=A.typicalHalfwidthCharacterWidth,this._isViewportWrapping=X.isViewportWrapping,this._revealHorizontalRightPadding=N.get(88),this._cursorSurroundingLines=N.get(25),this._cursorSurroundingLinesStyle=N.get(26),this._canUseLayerHinting=!N.get(28),this._viewLineOptions=new ce(d,this._context.theme.type),Z.write(this.domNode,7),this.domNode.setClassName(`view-lines ${Xt.S}`),g.V.applyFontInfo(this.domNode,A),this._maxLineWidth=0,this._asyncUpdateLineWidths=new m.pY(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new m.pY(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new Yn,this._horizontalRevealRequest=null}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new Ve(this._viewLineOptions)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(130)&&(this._maxLineWidth=0);const n=this._context.configuration.options,d=n.get(43),N=n.get(130);return this._lineHeight=n.get(58),this._typicalHalfwidthCharacterWidth=d.typicalHalfwidthCharacterWidth,this._isViewportWrapping=N.isViewportWrapping,this._revealHorizontalRightPadding=n.get(88),this._cursorSurroundingLines=n.get(25),this._cursorSurroundingLinesStyle=n.get(26),this._canUseLayerHinting=!n.get(28),g.V.applyFontInfo(this.domNode,d),this._onOptionsMaybeChanged(),e.hasChanged(129)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const e=this._context.configuration,n=new ce(e,this._context.theme.type);if(!this._viewLineOptions.equals(n)){this._viewLineOptions=n;const d=this._visibleLines.getStartLineNumber(),N=this._visibleLines.getEndLineNumber();for(let A=d;A<=N;A++)this._visibleLines.getVisibleLine(A).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(e){const n=this._visibleLines.getStartLineNumber(),d=this._visibleLines.getEndLineNumber();let N=!1;for(let A=n;A<=d;A++)N=this._visibleLines.getVisibleLine(A).onSelectionChanged()||N;return N}onDecorationsChanged(e){{const n=this._visibleLines.getStartLineNumber(),d=this._visibleLines.getEndLineNumber();for(let N=n;N<=d;N++)this._visibleLines.getVisibleLine(N).onDecorationsChanged()}return!0}onFlushed(e){const n=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,n}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){const n=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.range,e.selections,e.verticalType);if(n===-1)return!1;let d=this._context.viewLayout.validateScrollPosition({scrollTop:n});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?d={scrollTop:d.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new Vn(e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),d.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new An(e.selections,this._context.viewLayout.getCurrentScrollTop(),d.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;const A=Math.abs(this._context.viewLayout.getCurrentScrollTop()-d.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.model.setScrollPosition(d,A),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){const n=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),d=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTop<n||e.scrollTop>d)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.model.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,n){const d=this._getViewLineDomNode(e);if(d===null)return null;const N=this._getLineNumberFor(d);if(N===-1||N<1||N>this._context.model.getLineCount())return null;if(this._context.model.getLineMaxColumn(N)===1)return new ee.L(N,1);const A=this._visibleLines.getStartLineNumber(),X=this._visibleLines.getEndLineNumber();if(N<A||N>X)return null;let Le=this._visibleLines.getVisibleLine(N).getColumnOfNodeOffset(N,e,n);const Re=this._context.model.getLineMinColumn(N);return Le<Re&&(Le=Re),new ee.L(N,Le)}_getViewLineDomNode(e){for(;e&&e.nodeType===1;){if(e.className===Ve.CLASS_NAME)return e;e=e.parentElement}return null}_getLineNumberFor(e){const n=this._visibleLines.getStartLineNumber(),d=this._visibleLines.getEndLineNumber();for(let N=n;N<=d;N++){const A=this._visibleLines.getVisibleLine(N);if(e===A.getDomNode())return N}return-1}getLineWidth(e){const n=this._visibleLines.getStartLineNumber(),d=this._visibleLines.getEndLineNumber();return e<n||e>d?-1:this._visibleLines.getVisibleLine(e).getWidth()}linesVisibleRangesForRange(e,n){if(this.shouldRender())return null;const d=e.endLineNumber,N=he.e.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!N)return null;let A=[],X=0;const Le=new ue(this.domNode.domNode,this._textRangeRestingSpot);let Re=0;n&&(Re=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new ee.L(N.startLineNumber,1)).lineNumber);const Ge=this._visibleLines.getStartLineNumber(),tt=this._visibleLines.getEndLineNumber();for(let dt=N.startLineNumber;dt<=N.endLineNumber;dt++){if(dt<Ge||dt>tt)continue;const Ot=dt===N.startLineNumber?N.startColumn:1,It=dt===N.endLineNumber?N.endColumn:this._context.model.getLineMaxColumn(dt),Kt=this._visibleLines.getVisibleLine(dt).getVisibleRangesForRange(dt,Ot,It,Le);if(Kt){if(n&&dt<d){const qt=Re;Re=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new ee.L(dt+1,1)).lineNumber,qt!==Re&&(Kt.ranges[Kt.ranges.length-1].width+=this._typicalHalfwidthCharacterWidth)}A[X++]=new xe(Kt.outsideRenderedLine,dt,j.from(Kt.ranges))}}return X===0?null:A}_visibleRangesForLineRange(e,n,d){return this.shouldRender()||e<this._visibleLines.getStartLineNumber()||e>this._visibleLines.getEndLineNumber()?null:this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,n,d,new ue(this.domNode.domNode,this._textRangeRestingSpot))}visibleRangeForPosition(e){const n=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return n?new V(n.outsideRenderedLine,n.ranges[0].left):null}updateLineWidths(){this._updateLineWidths(!1)}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidths(e){const n=this._visibleLines.getStartLineNumber(),d=this._visibleLines.getEndLineNumber();let N=1,A=!0;for(let X=n;X<=d;X++){const Le=this._visibleLines.getVisibleLine(X);if(e&&!Le.getWidthIsFast()){A=!1;continue}N=Math.max(N,Le.getWidth())}return A&&n===1&&d===this._context.model.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(N),A}_checkMonospaceFontAssumptions(){let e=-1,n=-1;const d=this._visibleLines.getStartLineNumber(),N=this._visibleLines.getEndLineNumber();for(let A=d;A<=N;A++){const X=this._visibleLines.getVisibleLine(A);if(X.needsMonospaceFontCheck()){const Le=X.getWidth();Le>n&&(n=Le,e=A)}}if(e!==-1&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let A=d;A<=N;A++)this._visibleLines.getVisibleLine(A).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const d=this._horizontalRevealRequest;if(e.startLineNumber<=d.minLineNumber&&d.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const N=this._computeScrollLeftToReveal(d);N&&(this._isViewportWrapping||this._ensureMaxLineWidth(N.maxHorizontalOffset),this._context.model.setScrollPosition({scrollLeft:N.scrollLeft},d.scrollType))}}if(this._updateLineWidthsFast()||this._asyncUpdateLineWidths.schedule(),v.IJ&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const d=this._visibleLines.getStartLineNumber(),N=this._visibleLines.getEndLineNumber();for(let A=d;A<=N;A++)if(this._visibleLines.getVisibleLine(A).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const n=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-n),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){const n=Math.ceil(e);this._maxLineWidth<n&&(this._maxLineWidth=n,this._context.model.setMaxLineWidth(this._maxLineWidth))}_computeScrollTopToRevealRange(e,n,d,N,A){const X=e.top,Le=e.height,Re=X+Le;let Ge,tt,dt;if(N&&N.length>0){let Kt=N[0].startLineNumber,qt=N[0].endLineNumber;for(let di=1,pi=N.length;di<pi;di++){const Li=N[di];Kt=Math.min(Kt,Li.startLineNumber),qt=Math.max(qt,Li.endLineNumber)}Ge=!1,tt=this._context.viewLayout.getVerticalOffsetForLineNumber(Kt),dt=this._context.viewLayout.getVerticalOffsetForLineNumber(qt)+this._lineHeight}else if(d)Ge=!0,tt=this._context.viewLayout.getVerticalOffsetForLineNumber(d.startLineNumber),dt=this._context.viewLayout.getVerticalOffsetForLineNumber(d.endLineNumber)+this._lineHeight;else return-1;if(!(n==="mouse"&&this._cursorSurroundingLinesStyle==="default")){const Kt=Math.min(Le/this._lineHeight/2,this._cursorSurroundingLines);tt-=Kt*this._lineHeight,dt+=Math.max(0,Kt-1)*this._lineHeight}(A===0||A===4)&&(dt+=this._lineHeight);let It;if(dt-tt>Le){if(!Ge)return-1;It=tt}else if(A===5||A===6)if(A===6&&X<=tt&&dt<=Re)It=X;else{const Kt=Math.max(5*this._lineHeight,Le*.2),qt=tt-Kt,di=dt-Le;It=Math.max(di,qt)}else if(A===1||A===2)if(A===2&&X<=tt&&dt<=Re)It=X;else{const Kt=(tt+dt)/2;It=Math.max(0,Kt-Le/2)}else It=this._computeMinimumScrolling(X,Re,tt,dt,A===3,A===4);return It}_computeScrollLeftToReveal(e){const n=this._context.viewLayout.getCurrentViewport(),d=n.left,N=d+n.width;let A=1073741824,X=0;if(e.type==="range"){const Re=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!Re)return null;for(const Ge of Re.ranges)A=Math.min(A,Math.round(Ge.left)),X=Math.max(X,Math.round(Ge.left+Ge.width))}else for(const Re of e.selections){if(Re.startLineNumber!==Re.endLineNumber)return null;const Ge=this._visibleRangesForLineRange(Re.startLineNumber,Re.startColumn,Re.endColumn);if(!Ge)return null;for(const tt of Ge.ranges)A=Math.min(A,Math.round(tt.left)),X=Math.max(X,Math.round(tt.left+tt.width))}return A=Math.max(0,A-On.HORIZONTAL_EXTRA_PX),X+=this._revealHorizontalRightPadding,e.type==="selections"&&X-A>n.width?null:{scrollLeft:this._computeMinimumScrolling(d,N,A,X),maxHorizontalOffset:X}}_computeMinimumScrolling(e,n,d,N,A,X){e=e|0,n=n|0,d=d|0,N=N|0,A=!!A,X=!!X;const Le=n-e;if(N-d<Le){if(A)return d;if(X)return Math.max(0,N-Le);if(d<e)return d;if(N>n)return Math.max(0,N-Le)}else return d;return e}}On.HORIZONTAL_EXTRA_PX=30;class ts extends En{constructor(e){super(),this._context=e;const d=this._context.configuration.options.get(129);this._decorationsLeft=d.decorationsLeft,this._decorationsWidth=d.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const d=this._context.configuration.options.get(129);return this._decorationsLeft=d.decorationsLeft,this._decorationsWidth=d.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){const n=e.getDecorationsInViewport();let d=[],N=0;for(let A=0,X=n.length;A<X;A++){const Le=n[A],Re=Le.options.linesDecorationsClassName;Re&&(d[N++]=new Dn(Le.range.startLineNumber,Le.range.endLineNumber,Re));const Ge=Le.options.firstLineDecorationClassName;Ge&&(d[N++]=new Dn(Le.range.startLineNumber,Le.range.startLineNumber,Ge))}return d}prepareRender(e){const n=e.visibleRange.startLineNumber,d=e.visibleRange.endLineNumber,N=this._render(n,d,this._getDecorations(e)),A=this._decorationsLeft.toString(),X=this._decorationsWidth.toString(),Le='" style="left:'+A+"px;width:"+X+'px;"></div>',Re=[];for(let Ge=n;Ge<=d;Ge++){const tt=Ge-n,dt=N[tt];let Ot="";for(let It=0,Kt=dt.length;It<Kt;It++)Ot+='<div class="cldr '+dt[It]+Le;Re[tt]=Ot}this._renderResult=Re}render(e,n){return this._renderResult?this._renderResult[n-e]:""}}class Un extends En{constructor(e){super(),this._context=e,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){const n=e.getDecorationsInViewport();let d=[],N=0;for(let A=0,X=n.length;A<X;A++){const Le=n[A],Re=Le.options.marginClassName;Re&&(d[N++]=new Dn(Le.range.startLineNumber,Le.range.endLineNumber,Re))}return d}prepareRender(e){const n=e.visibleRange.startLineNumber,d=e.visibleRange.endLineNumber,N=this._render(n,d,this._getDecorations(e)),A=[];for(let X=n;X<=d;X++){const Le=X-n,Re=N[Le];let Ge="";for(let tt=0,dt=Re.length;tt<dt;tt++)Ge+='<div class="cmdr '+Re[tt]+'" style=""></div>';A[Le]=Ge}this._renderResult=A}render(e,n){return this._renderResult?this._renderResult[n-e]:""}}class sn{constructor(e,n,d,N){this._rgba8Brand=void 0,this.r=sn._clamp(e),this.g=sn._clamp(n),this.b=sn._clamp(d),this.a=sn._clamp(N)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:e|0}}sn.Empty=new sn(0,0,0,0);var Lt=i(27347);class F extends p.JT{constructor(){super(),this._onDidChange=new E.Q5,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(Lt.RW.onDidChange(e=>{e.changedColorMap&&this._updateColorMap()}))}static getInstance(){return this._INSTANCE||(this._INSTANCE=(0,p.dk)(new F)),this._INSTANCE}_updateColorMap(){const e=Lt.RW.getColorMap();if(!e){this._colors=[sn.Empty],this._backgroundIsLight=!0;return}this._colors=[sn.Empty];for(let d=1;d<e.length;d++){const N=e[d].rgba;this._colors[d]=new sn(N.r,N.g,N.b,Math.round(N.a*255))}let n=e[2].getRelativeLuminance();this._backgroundIsLight=n>=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}}F._INSTANCE=null;var pe=i(8829);const Ne=(()=>{const Tt=[];for(let e=32;e<=126;e++)Tt.push(e);return Tt.push(65533),Tt})(),je=(Tt,e)=>(Tt-=32,Tt<0||Tt>96?e<=2?(Tt+96)%96:95:Tt);var Je=i(41301);class St{constructor(e,n){this.scale=n,this._minimapCharRendererBrand=void 0,this.charDataNormal=St.soften(e,12/15),this.charDataLight=St.soften(e,50/60)}static soften(e,n){let d=new Uint8ClampedArray(e.length);for(let N=0,A=e.length;N<A;N++)d[N]=(0,Je.K)(e[N]*n);return d}renderChar(e,n,d,N,A,X,Le,Re,Ge,tt,dt){const Ot=1*this.scale,It=2*this.scale,Kt=dt?1:It;if(n+Ot>e.width||d+Kt>e.height){console.warn("bad render request outside image data");return}const qt=tt?this.charDataLight:this.charDataNormal,di=je(N,Ge),pi=e.width*4,Li=Le.r,bi=Le.g,Ki=Le.b,Wi=A.r-Li,Zi=A.g-bi,ji=A.b-Ki,Fi=Math.max(X,Re),Gi=e.data;let _n=di*Ot*It,Xi=d*pi+n*4;for(let Kn=0;Kn<Kt;Kn++){let Zn=Xi;for(let Qn=0;Qn<Ot;Qn++){const wn=qt[_n++]/255*(X/255);Gi[Zn++]=Li+Wi*wn,Gi[Zn++]=bi+Zi*wn,Gi[Zn++]=Ki+ji*wn,Gi[Zn++]=Fi}Xi+=pi}}blockRenderChar(e,n,d,N,A,X,Le,Re){const Ge=1*this.scale,tt=2*this.scale,dt=Re?1:tt;if(n+Ge>e.width||d+dt>e.height){console.warn("bad render request outside image data");return}const Ot=e.width*4,It=.5*(A/255),Kt=X.r,qt=X.g,di=X.b,pi=N.r-Kt,Li=N.g-qt,bi=N.b-di,Ki=Kt+pi*It,Wi=qt+Li*It,Zi=di+bi*It,ji=Math.max(A,Le),Fi=e.data;let Gi=d*Ot+n*4;for(let _n=0;_n<dt;_n++){let Xi=Gi;for(let Kn=0;Kn<Ge;Kn++)Fi[Xi++]=Ki,Fi[Xi++]=Wi,Fi[Xi++]=Zi,Fi[Xi++]=ji;Gi+=Ot}}}var Rt=i(17845);const ti={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15},fi=Tt=>{const e=new Uint8ClampedArray(Tt.length/2);for(let n=0;n<Tt.length;n+=2)e[n>>1]=ti[Tt[n]]<<4|ti[Tt[n+1]]&15;return e},ii={1:(0,Rt.I)(()=>fi("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")),2:(0,Rt.I)(()=>fi("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126"))};class Ct{static create(e,n){if(this.lastCreated&&e===this.lastCreated.scale&&n===this.lastFontFamily)return this.lastCreated;let d;return ii[e]?d=new St(ii[e](),e):d=Ct.createFromSampleData(Ct.createSampleData(n).data,e),this.lastFontFamily=n,this.lastCreated=d,d}static createSampleData(e){const n=document.createElement("canvas"),d=n.getContext("2d");n.style.height="16px",n.height=16,n.width=96*10,n.style.width=96*10+"px",d.fillStyle="#ffffff",d.font=`bold 16px ${e}`,d.textBaseline="middle";let N=0;for(const A of Ne)d.fillText(String.fromCharCode(A),N,16/2),N+=10;return d.getImageData(0,0,96*10,16)}static createFromSampleData(e,n){if(e.length!==61440)throw new Error("Unexpected source in MinimapCharRenderer");let N=Ct._downsample(e,n);return new St(N,n)}static _downsampleChar(e,n,d,N,A){const X=1*A,Le=2*A;let Re=N,Ge=0;for(let tt=0;tt<Le;tt++){const dt=tt/Le*16,Ot=(tt+1)/Le*16;for(let It=0;It<X;It++){const Kt=It/X*10,qt=(It+1)/X*10;let di=0,pi=0;for(let bi=dt;bi<Ot;bi++){const Ki=n+Math.floor(bi)*3840,Wi=1-(bi-Math.floor(bi));for(let Zi=Kt;Zi<qt;Zi++){const ji=1-(Zi-Math.floor(Zi)),Fi=Ki+Math.floor(Zi)*4,Gi=ji*Wi;pi+=Gi,di+=e[Fi]*e[Fi+3]/255*Gi}}const Li=di/pi;Ge=Math.max(Ge,Li),d[Re++]=(0,Je.K)(Li)}}return Ge}static _downsample(e,n){const d=2*n*1*n,N=d*96,A=new Uint8ClampedArray(N);let X=0,Le=0,Re=0;for(let Ge=0;Ge<96;Ge++)Re=Math.max(Re,this._downsampleChar(e,Le,A,X,n)),X+=d,Le+=10*4;if(Re>0){const Ge=255/Re;for(let tt=0;tt<N;tt++)A[tt]*=Ge}return A}}const k=140,Ce=2;class Be{constructor(e,n,d){const N=e.options,A=N.get(127),X=N.get(129),Le=X.minimap,Re=N.get(43),Ge=N.get(64);this.renderMinimap=Le.renderMinimap,this.size=Ge.size,this.minimapHeightIsEditorHeight=Le.minimapHeightIsEditorHeight,this.scrollBeyondLastLine=N.get(93),this.showSlider=Ge.showSlider,this.pixelRatio=A,this.typicalHalfwidthCharacterWidth=Re.typicalHalfwidthCharacterWidth,this.lineHeight=N.get(58),this.minimapLeft=Le.minimapLeft,this.minimapWidth=Le.minimapWidth,this.minimapHeight=X.height,this.canvasInnerWidth=Le.minimapCanvasInnerWidth,this.canvasInnerHeight=Le.minimapCanvasInnerHeight,this.canvasOuterWidth=Le.minimapCanvasOuterWidth,this.canvasOuterHeight=Le.minimapCanvasOuterHeight,this.isSampling=Le.minimapIsSampling,this.editorHeight=X.height,this.fontScale=Le.minimapScale,this.minimapLineHeight=Le.minimapLineHeight,this.minimapCharWidth=1*this.fontScale,this.charRenderer=(0,Rt.I)(()=>Ct.create(this.fontScale,Re.fontFamily)),this.defaultBackgroundColor=d.getColor(2),this.backgroundColor=Be._getMinimapBackground(n,this.defaultBackgroundColor),this.foregroundAlpha=Be._getMinimapForegroundOpacity(n)}static _getMinimapBackground(e,n){const d=e.getColor(nn.kV);return d?new sn(d.rgba.r,d.rgba.g,d.rgba.b,Math.round(255*d.rgba.a)):n}static _getMinimapForegroundOpacity(e){const n=e.getColor(nn.It);return n?sn._clamp(Math.round(255*n.rgba.a)):255}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.showSlider===e.showSlider&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}}class ot{constructor(e,n,d,N,A,X,Le,Re){this.scrollTop=e,this.scrollHeight=n,this.sliderNeeded=d,this._computedSliderRatio=N,this.sliderTop=A,this.sliderHeight=X,this.startLineNumber=Le,this.endLineNumber=Re}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}static create(e,n,d,N,A,X,Le,Re,Ge,tt,dt){const Ot=e.pixelRatio,It=e.minimapLineHeight,Kt=Math.floor(e.canvasInnerHeight/It),qt=e.lineHeight;if(e.minimapHeightIsEditorHeight){const Wi=Re*e.lineHeight+(e.scrollBeyondLastLine?A-e.lineHeight:0),Zi=Math.max(1,Math.floor(A*A/Wi)),ji=Math.max(0,e.minimapHeight-Zi),Fi=ji/(tt-A),Gi=Ge*Fi,_n=ji>0,Xi=Math.floor(e.canvasInnerHeight/e.minimapLineHeight);return new ot(Ge,tt,_n,Fi,Gi,Zi,1,Math.min(Le,Xi))}let di;if(X&&d!==Le){const Wi=d-n+1;di=Math.floor(Wi*It/Ot)}else{const Wi=A/qt;di=Math.floor(Wi*It/Ot)}let pi;e.scrollBeyondLastLine?pi=(Le-1)*It/Ot:pi=Math.max(0,Le*It/Ot-di),pi=Math.min(e.minimapHeight-di,pi);const Li=pi/(tt-A),bi=Ge*Li;let Ki=0;if(e.scrollBeyondLastLine&&(Ki=A/qt-1),Kt>=Le+Ki){const Zi=Le,ji=pi>0;return new ot(Ge,tt,ji,Li,bi,di,1,Zi)}else{let Wi=Math.max(1,Math.floor(n-bi*Ot/It));dt&&dt.scrollHeight===tt&&(dt.scrollTop>Ge&&(Wi=Math.min(Wi,dt.startLineNumber)),dt.scrollTop<Ge&&(Wi=Math.max(Wi,dt.startLineNumber)));const Zi=Math.min(Le,Wi+Kt-1),ji=(Ge-N)/qt,Fi=(n-Wi+ji)*It/Ot;return new ot(Ge,tt,!0,Li,Fi,di,Wi,Zi)}}}class wt{constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}wt.INVALID=new wt(-1);class Ut{constructor(e,n,d){this.renderedLayout=e,this._imageData=n,this._renderedLines=new nt(()=>wt.INVALID),this._renderedLines._set(e.startLineNumber,d)}linesEquals(e){if(!this.scrollEquals(e))return!1;const d=this._renderedLines._get().lines;for(let N=0,A=d.length;N<A;N++)if(d[N].dy===-1)return!1;return!0}scrollEquals(e){return this.renderedLayout.startLineNumber===e.startLineNumber&&this.renderedLayout.endLineNumber===e.endLineNumber}_get(){const e=this._renderedLines._get();return{imageData:this._imageData,rendLineNumberStart:e.rendLineNumberStart,lines:e.lines}}onLinesChanged(e,n){return this._renderedLines.onLinesChanged(e,n)}onLinesDeleted(e,n){this._renderedLines.onLinesDeleted(e,n)}onLinesInserted(e,n){this._renderedLines.onLinesInserted(e,n)}onTokensChanged(e){return this._renderedLines.onTokensChanged(e)}}class Yt{constructor(e,n,d,N){this._backgroundFillData=Yt._createBackgroundFillData(n,d,N),this._buffers=[e.createImageData(n,d),e.createImageData(n,d)],this._lastUsedBuffer=0}getBuffer(){this._lastUsedBuffer=1-this._lastUsedBuffer;const e=this._buffers[this._lastUsedBuffer];return e.data.set(this._backgroundFillData),e}static _createBackgroundFillData(e,n,d){const N=d.r,A=d.g,X=d.b,Le=d.a,Re=new Uint8ClampedArray(e*n*4);let Ge=0;for(let tt=0;tt<n;tt++)for(let dt=0;dt<e;dt++)Re[Ge]=N,Re[Ge+1]=A,Re[Ge+2]=X,Re[Ge+3]=Le,Ge+=4;return Re}}class ei{constructor(e,n){this.samplingRatio=e,this.minimapLines=n}static compute(e,n,d){if(e.renderMinimap===0||!e.isSampling)return[null,[]];const N=e.pixelRatio,A=e.lineHeight,X=e.scrollBeyondLastLine,{minimapLineCount:Le}=ve.gk.computeContainedMinimapLineCount({viewLineCount:n,scrollBeyondLastLine:X,height:e.editorHeight,lineHeight:A,pixelRatio:N}),Re=n/Le,Ge=Re/2;if(!d||d.minimapLines.length===0){let bi=[];if(bi[0]=1,Le>1){for(let Ki=0,Wi=Le-1;Ki<Wi;Ki++)bi[Ki]=Math.round(Ki*Re+Ge);bi[Le-1]=n}return[new ei(Re,bi),[]]}const tt=d.minimapLines,dt=tt.length;let Ot=[],It=0,Kt=0,qt=1;const di=10;let pi=[],Li=null;for(let bi=0;bi<Le;bi++){const Ki=Math.max(qt,Math.round(bi*Re)),Wi=Math.max(Ki,Math.round((bi+1)*Re));for(;It<dt&&tt[It]<Ki;){if(pi.length<di){const ji=It+1+Kt;Li&&Li.type==="deleted"&&Li._oldIndex===It-1?Li.deleteToLineNumber++:(Li={type:"deleted",_oldIndex:It,deleteFromLineNumber:ji,deleteToLineNumber:ji},pi.push(Li)),Kt--}It++}let Zi;if(It<dt&&tt[It]<=Wi)Zi=tt[It],It++;else if(bi===0?Zi=1:bi+1===Le?Zi=n:Zi=Math.round(bi*Re+Ge),pi.length<di){const ji=It+1+Kt;Li&&Li.type==="inserted"&&Li._i===bi-1?Li.insertToLineNumber++:(Li={type:"inserted",_i:bi,insertFromLineNumber:ji,insertToLineNumber:ji},pi.push(Li)),Kt++}Ot[bi]=Zi,qt=Zi}if(pi.length<di)for(;It<dt;){const bi=It+1+Kt;Li&&Li.type==="deleted"&&Li._oldIndex===It-1?Li.deleteToLineNumber++:(Li={type:"deleted",_oldIndex:It,deleteFromLineNumber:bi,deleteToLineNumber:bi},pi.push(Li)),Kt--,It++}else pi=[{type:"flush"}];return[new ei(Re,Ot),pi]}modelLineToMinimapLine(e){return Math.min(this.minimapLines.length,Math.max(1,Math.round(e/this.samplingRatio)))}modelLineRangeToMinimapLineRange(e,n){let d=this.modelLineToMinimapLine(e)-1;for(;d>0&&this.minimapLines[d-1]>=e;)d--;let N=this.modelLineToMinimapLine(n)-1;for(;N+1<this.minimapLines.length&&this.minimapLines[N+1]<=n;)N++;if(d===N){const A=this.minimapLines[d];if(A<e||A>n)return null}return[d+1,N+1]}decorationLineRangeToMinimapLineRange(e,n){let d=this.modelLineToMinimapLine(e),N=this.modelLineToMinimapLine(n);return e!==n&&N===d&&(N===this.minimapLines.length?d>1&&d--:N++),[d,N]}onLinesDeleted(e){const n=e.toLineNumber-e.fromLineNumber+1;let d=this.minimapLines.length,N=0;for(let A=this.minimapLines.length-1;A>=0&&!(this.minimapLines[A]<e.fromLineNumber);A--)this.minimapLines[A]<=e.toLineNumber?(this.minimapLines[A]=Math.max(1,e.fromLineNumber-1),d=Math.min(d,A),N=Math.max(N,A)):this.minimapLines[A]-=n;return[d,N]}onLinesInserted(e){const n=e.toLineNumber-e.fromLineNumber+1;for(let d=this.minimapLines.length-1;d>=0&&!(this.minimapLines[d]<e.fromLineNumber);d--)this.minimapLines[d]+=n}}class ri extends J{constructor(e){super(e),this.tokensColorTracker=F.getInstance(),this._selections=[],this._minimapSelections=null,this.options=new Be(this._context.configuration,this._context.theme,this.tokensColorTracker);const[n]=ei.compute(this.options,this._context.model.getLineCount(),null);this._samplingState=n,this._shouldCheckSampling=!1,this._actual=new gi(e.theme,this)}dispose(){this._actual.dispose(),super.dispose()}getDomNode(){return this._actual.getDomNode()}_onOptionsMaybeChanged(){const e=new Be(this._context.configuration,this._context.theme,this.tokensColorTracker);return this.options.equals(e)?!1:(this.options=e,this._recreateLineSampling(),this._actual.onDidChangeOptions(),!0)}onConfigurationChanged(e){return this._onOptionsMaybeChanged()}onCursorStateChanged(e){return this._selections=e.selections,this._minimapSelections=null,this._actual.onSelectionChanged()}onDecorationsChanged(e){return e.affectsMinimap?this._actual.onDecorationsChanged():!1}onFlushed(e){return this._samplingState&&(this._shouldCheckSampling=!0),this._actual.onFlushed()}onLinesChanged(e){if(this._samplingState){const n=this._samplingState.modelLineRangeToMinimapLineRange(e.fromLineNumber,e.toLineNumber);return n?this._actual.onLinesChanged(n[0],n[1]):!1}else return this._actual.onLinesChanged(e.fromLineNumber,e.toLineNumber)}onLinesDeleted(e){if(this._samplingState){const[n,d]=this._samplingState.onLinesDeleted(e);return n<=d&&this._actual.onLinesChanged(n+1,d+1),this._shouldCheckSampling=!0,!0}else return this._actual.onLinesDeleted(e.fromLineNumber,e.toLineNumber)}onLinesInserted(e){return this._samplingState?(this._samplingState.onLinesInserted(e),this._shouldCheckSampling=!0,!0):this._actual.onLinesInserted(e.fromLineNumber,e.toLineNumber)}onScrollChanged(e){return this._actual.onScrollChanged()}onThemeChanged(e){return this._context.model.invalidateMinimapColorCache(),this._actual.onThemeChanged(),this._onOptionsMaybeChanged(),!0}onTokensChanged(e){if(this._samplingState){let n=[];for(const d of e.ranges){const N=this._samplingState.modelLineRangeToMinimapLineRange(d.fromLineNumber,d.toLineNumber);N&&n.push({fromLineNumber:N[0],toLineNumber:N[1]})}return n.length?this._actual.onTokensChanged(n):!1}else return this._actual.onTokensChanged(e.ranges)}onTokensColorsChanged(e){return this._onOptionsMaybeChanged(),this._actual.onTokensColorsChanged()}onZonesChanged(e){return this._actual.onZonesChanged()}prepareRender(e){this._shouldCheckSampling&&(this._shouldCheckSampling=!1,this._recreateLineSampling())}render(e){let n=e.visibleRange.startLineNumber,d=e.visibleRange.endLineNumber;this._samplingState&&(n=this._samplingState.modelLineToMinimapLine(n),d=this._samplingState.modelLineToMinimapLine(d));const N={viewportContainsWhitespaceGaps:e.viewportData.whitespaceViewportData.length>0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:n,viewportEndLineNumber:d,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(n),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(N)}_recreateLineSampling(){this._minimapSelections=null;const e=!!this._samplingState,[n,d]=ei.compute(this.options,this._context.model.getLineCount(),this._samplingState);if(this._samplingState=n,e&&this._samplingState)for(const N of d)switch(N.type){case"deleted":this._actual.onLinesDeleted(N.deleteFromLineNumber,N.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(N.insertFromLineNumber,N.insertToLineNumber);break;case"flush":this._actual.onFlushed();break}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.model.getLineCount()}getRealLineCount(){return this._context.model.getLineCount()}getLineContent(e){return this._samplingState?this._context.model.getLineContent(this._samplingState.minimapLines[e-1]):this._context.model.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.model.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.model.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,n,d){if(this._samplingState){let N=[];for(let A=0,X=n-e+1;A<X;A++)d[A]?N[A]=this._context.model.getViewLineData(this._samplingState.minimapLines[e+A-1]):N[A]=null;return N}return this._context.model.getMinimapLinesRenderingData(e,n,d).data}getSelections(){if(this._minimapSelections===null)if(this._samplingState){this._minimapSelections=[];for(const e of this._selections){const[n,d]=this._samplingState.decorationLineRangeToMinimapLineRange(e.startLineNumber,e.endLineNumber);this._minimapSelections.push(new C.Y(n,e.startColumn,d,e.endColumn))}}else this._minimapSelections=this._selections;return this._minimapSelections}getMinimapDecorationsInViewport(e,n){let d;if(this._samplingState){const A=this._samplingState.minimapLines[e-1],X=this._samplingState.minimapLines[n-1];d=new he.e(A,1,X,this._context.model.getLineMaxColumn(X))}else d=new he.e(e,1,n,this._context.model.getLineMaxColumn(n));const N=this._context.model.getDecorationsInViewport(d);if(this._samplingState){let A=[];for(const X of N){if(!X.options.minimap)continue;const Le=X.range,Re=this._samplingState.modelLineToMinimapLine(Le.startLineNumber),Ge=this._samplingState.modelLineToMinimapLine(Le.endLineNumber);A.push(new pe.$l(new he.e(Re,Le.startColumn,Ge,Le.endColumn),X.options))}return A}return N}getOptions(){return this._context.model.getTextModelOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.model.revealRange("mouse",!1,new he.e(e,1,e,1),1,0)}setScrollTop(e){this._context.model.setScrollPosition({scrollTop:e},1)}}class gi extends p.JT{constructor(e,n){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=n,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(nn.ov),this._domNode=(0,f.X)(document.createElement("div")),Z.write(this._domNode,8),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._shadow=(0,f.X)(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=(0,f.X)(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=(0,f.X)(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=(0,f.X)(document.createElement("div")),this._slider.setPosition("absolute"),this._slider.setClassName("minimap-slider"),this._slider.setLayerHinting(!0),this._slider.setContain("strict"),this._domNode.appendChild(this._slider),this._sliderHorizontal=(0,f.X)(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._mouseDownListener=I.mu(this._domNode.domNode,"mousedown",d=>{if(d.preventDefault(),this._model.options.renderMinimap===0||!this._lastRenderData)return;if(this._model.options.size!=="proportional"){if(d.leftButton&&this._lastRenderData){const Ge=I.i(this._slider.domNode),tt=Ge.top+Ge.height/2;this._startSliderDragging(d.buttons,d.posx,tt,d.posy,this._lastRenderData.renderedLayout)}return}const A=this._model.options.minimapLineHeight,X=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*d.browserEvent.offsetY;let Re=Math.floor(X/A)+this._lastRenderData.renderedLayout.startLineNumber;Re=Math.min(Re,this._model.getLineCount()),this._model.revealLineNumber(Re)}),this._sliderMouseMoveMonitor=new c.Z,this._sliderMouseDownListener=I.mu(this._slider.domNode,"mousedown",d=>{d.preventDefault(),d.stopPropagation(),d.leftButton&&this._lastRenderData&&this._startSliderDragging(d.buttons,d.posx,d.posy,d.posy,this._lastRenderData.renderedLayout)}),this._gestureDisposable=r.o.addTarget(this._domNode.domNode),this._sliderTouchStartListener=I.nm(this._domNode.domNode,r.t.Start,d=>{d.preventDefault(),d.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(d))},{passive:!1}),this._sliderTouchMoveListener=I.nm(this._domNode.domNode,r.t.Change,d=>{d.preventDefault(),d.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(d)},{passive:!1}),this._sliderTouchEndListener=I.mu(this._domNode.domNode,r.t.End,d=>{d.preventDefault(),d.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)})}_startSliderDragging(e,n,d,N,A){this._slider.toggleClassName("active",!0);const X=(Le,Re)=>{const Ge=Math.abs(Re-n);if(v.ED&&Ge>k){this._model.setScrollTop(A.scrollTop);return}const tt=Le-d;this._model.setScrollTop(A.getDesiredScrollTopFromDelta(tt))};N!==d&&X(N,n),this._sliderMouseMoveMonitor.startMonitoring(this._slider.domNode,e,c.e,Le=>X(Le.posy,Le.posx),()=>{this._slider.toggleClassName("active",!1)})}scrollDueToTouchEvent(e){const n=this._domNode.domNode.getBoundingClientRect().top,d=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-n);this._model.setScrollTop(d)}dispose(){this._mouseDownListener.dispose(),this._sliderMouseMoveMonitor.dispose(),this._sliderMouseDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){return this._model.options.showSlider==="always"?"minimap slider-always":"minimap slider-mouseover"}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new Yt(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(e,n){return this._lastRenderData?this._lastRenderData.onLinesChanged(e,n):!1}onLinesDeleted(e,n){return this._lastRenderData&&this._lastRenderData.onLinesDeleted(e,n),!0}onLinesInserted(e,n){return this._lastRenderData&&this._lastRenderData.onLinesInserted(e,n),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(nn.ov),this._renderDecorations=!0,!0}onTokensChanged(e){return this._lastRenderData?this._lastRenderData.onTokensChanged(e):!1}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(this._model.options.renderMinimap===0){this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const d=ot.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(d.sliderNeeded?"block":"none"),this._slider.setTop(d.sliderTop),this._slider.setHeight(d.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(d.sliderHeight),this.renderDecorations(d),this._lastRenderData=this.renderLines(d)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;const n=this._model.getSelections();n.sort(he.e.compareRangesUsingStarts);const d=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);d.sort((Ot,It)=>(Ot.options.zIndex||0)-(It.options.zIndex||0));const{canvasInnerWidth:N,canvasInnerHeight:A}=this._model.options,X=this._model.options.minimapLineHeight,Le=this._model.options.minimapCharWidth,Re=this._model.getOptions().tabSize,Ge=this._decorationsCanvas.domNode.getContext("2d");Ge.clearRect(0,0,N,A);const tt=new Mi(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(Ge,n,tt,e,X),this._renderDecorationsLineHighlights(Ge,d,tt,e,X);const dt=new Mi(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(Ge,n,dt,e,X,Re,Le,N),this._renderDecorationsHighlights(Ge,d,dt,e,X,Re,Le,N)}}_renderSelectionLineHighlights(e,n,d,N,A){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let X=0,Le=0;for(const Re of n){const Ge=Math.max(N.startLineNumber,Re.startLineNumber),tt=Math.min(N.endLineNumber,Re.endLineNumber);if(Ge>tt)continue;for(let It=Ge;It<=tt;It++)d.set(It,!0);const dt=(Ge-N.startLineNumber)*A,Ot=(tt-N.startLineNumber)*A+A;Le>=dt||(Le>X&&e.fillRect(ve.y0,X,e.canvas.width,Le-X),X=dt),Le=Ot}Le>X&&e.fillRect(ve.y0,X,e.canvas.width,Le-X)}_renderDecorationsLineHighlights(e,n,d,N,A){const X=new Map;for(let Le=n.length-1;Le>=0;Le--){const Re=n[Le],Ge=Re.options.minimap;if(!Ge||Ge.position!==ln.F5.Inline)continue;const tt=Math.max(N.startLineNumber,Re.range.startLineNumber),dt=Math.min(N.endLineNumber,Re.range.endLineNumber);if(tt>dt)continue;const Ot=Ge.getColor(this._theme);if(!Ot||Ot.isTransparent())continue;let It=X.get(Ot.toString());It||(It=Ot.transparent(.5).toString(),X.set(Ot.toString(),It)),e.fillStyle=It;for(let Kt=tt;Kt<=dt;Kt++){if(d.has(Kt))continue;d.set(Kt,!0);const qt=(tt-N.startLineNumber)*A;e.fillRect(ve.y0,qt,e.canvas.width,A)}}}_renderSelectionsHighlights(e,n,d,N,A,X,Le,Re){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(const Ge of n){const tt=Math.max(N.startLineNumber,Ge.startLineNumber),dt=Math.min(N.endLineNumber,Ge.endLineNumber);if(!(tt>dt))for(let Ot=tt;Ot<=dt;Ot++)this.renderDecorationOnLine(e,d,Ge,this._selectionColor,N,Ot,A,A,X,Le,Re)}}_renderDecorationsHighlights(e,n,d,N,A,X,Le,Re){for(const Ge of n){const tt=Ge.options.minimap;if(!tt)continue;const dt=Math.max(N.startLineNumber,Ge.range.startLineNumber),Ot=Math.min(N.endLineNumber,Ge.range.endLineNumber);if(dt>Ot)continue;const It=tt.getColor(this._theme);if(!(!It||It.isTransparent()))for(let Kt=dt;Kt<=Ot;Kt++)switch(tt.position){case ln.F5.Inline:this.renderDecorationOnLine(e,d,Ge.range,It,N,Kt,A,A,X,Le,Re);continue;case ln.F5.Gutter:const qt=(Kt-N.startLineNumber)*A;this.renderDecoration(e,It,2,qt,Ce,A);continue}}}renderDecorationOnLine(e,n,d,N,A,X,Le,Re,Ge,tt,dt){const Ot=(X-A.startLineNumber)*Re;if(Ot+Le<0||Ot>this._model.options.canvasInnerHeight)return;const{startLineNumber:It,endLineNumber:Kt}=d,qt=It===X?d.startColumn:1,di=Kt===X?d.endColumn:this._model.getLineMaxColumn(X),pi=this.getXOffsetForPosition(n,X,qt,Ge,tt,dt),Li=this.getXOffsetForPosition(n,X,di,Ge,tt,dt);this.renderDecoration(e,N,pi,Ot,Li-pi,Le)}getXOffsetForPosition(e,n,d,N,A,X){if(d===1)return ve.y0;if((d-1)*A>=X)return X;let Re=e.get(n);if(!Re){const Ge=this._model.getLineContent(n);Re=[ve.y0];let tt=ve.y0;for(let dt=1;dt<Ge.length+1;dt++){const Ot=Ge.charCodeAt(dt-1),It=Ot===9?N*A:Qe.K7(Ot)?2*A:A,Kt=tt+It;if(Kt>=X){Re[dt]=X;break}Re[dt]=Kt,tt=Kt}e.set(n,Re)}return d-1<Re.length?Re[d-1]:X}renderDecoration(e,n,d,N,A,X){e.fillStyle=n&&n.toString()||"",e.fillRect(d,N,A,X)}renderLines(e){const n=e.startLineNumber,d=e.endLineNumber,N=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){const wn=this._lastRenderData._get();return new Ut(e,wn.imageData,wn.lines)}const A=this._getBuffer();if(!A)return null;let[X,Le,Re]=gi._renderUntouchedLines(A,n,d,N,this._lastRenderData);const Ge=this._model.getMinimapLinesRenderingData(n,d,Re),tt=this._model.getOptions().tabSize,dt=this._model.options.defaultBackgroundColor,Ot=this._model.options.backgroundColor,It=this._model.options.foregroundAlpha,Kt=this._model.tokensColorTracker,qt=Kt.backgroundIsLight(),di=this._model.options.renderMinimap,pi=this._model.options.charRenderer(),Li=this._model.options.fontScale,bi=this._model.options.minimapCharWidth,Wi=(di===1?2:3)*Li,Zi=N>Wi?Math.floor((N-Wi)/2):0,ji=Ot.a/255,Fi=new sn(Math.round((Ot.r-dt.r)*ji+dt.r),Math.round((Ot.g-dt.g)*ji+dt.g),Math.round((Ot.b-dt.b)*ji+dt.b),255);let Gi=0;const _n=[];for(let wn=0,rs=d-n+1;wn<rs;wn++)Re[wn]&&gi._renderLine(A,Fi,Ot.a,qt,di,bi,Kt,It,pi,Gi,Zi,tt,Ge[wn],Li,N),_n[wn]=new wt(Gi),Gi+=N;const Xi=X===-1?0:X,Zn=(Le===-1?A.height:Le)-Xi;return this._canvas.domNode.getContext("2d").putImageData(A,0,0,0,Xi,A.width,Zn),new Ut(e,A,_n)}static _renderUntouchedLines(e,n,d,N,A){const X=[];if(!A){for(let Fi=0,Gi=d-n+1;Fi<Gi;Fi++)X[Fi]=!0;return[-1,-1,X]}const Le=A._get(),Re=Le.imageData.data,Ge=Le.rendLineNumberStart,tt=Le.lines,dt=tt.length,Ot=e.width,It=e.data,Kt=(d-n+1)*N*Ot*4;let qt=-1,di=-1,pi=-1,Li=-1,bi=-1,Ki=-1,Wi=0;for(let Fi=n;Fi<=d;Fi++){const Gi=Fi-n,_n=Fi-Ge,Xi=_n>=0&&_n<dt?tt[_n].dy:-1;if(Xi===-1){X[Gi]=!0,Wi+=N;continue}const Kn=Xi*Ot*4,Zn=(Xi+N)*Ot*4,Qn=Wi*Ot*4,wn=(Wi+N)*Ot*4;Li===Kn&&Ki===Qn?(Li=Zn,Ki=wn):(pi!==-1&&(It.set(Re.subarray(pi,Li),bi),qt===-1&&pi===0&&pi===bi&&(qt=Li),di===-1&&Li===Kt&&pi===bi&&(di=pi)),pi=Kn,Li=Zn,bi=Qn,Ki=wn),X[Gi]=!1,Wi+=N}pi!==-1&&(It.set(Re.subarray(pi,Li),bi),qt===-1&&pi===0&&pi===bi&&(qt=Li),di===-1&&Li===Kt&&pi===bi&&(di=pi));const Zi=qt===-1?-1:qt/(Ot*4),ji=di===-1?-1:di/(Ot*4);return[Zi,ji,X]}static _renderLine(e,n,d,N,A,X,Le,Re,Ge,tt,dt,Ot,It,Kt,qt){const di=It.content,pi=It.tokens,Li=e.width-X,bi=qt===1;let Ki=ve.y0,Wi=0,Zi=0;for(let ji=0,Fi=pi.getCount();ji<Fi;ji++){const Gi=pi.getEndOffset(ji),_n=pi.getForeground(ji),Xi=Le.getColor(_n);for(;Wi<Gi;Wi++){if(Ki>Li)return;const Kn=di.charCodeAt(Wi);if(Kn===9){const Zn=Ot-(Wi+Zi)%Ot;Zi+=Zn-1,Ki+=Zn*X}else if(Kn===32)Ki+=X;else{const Zn=Qe.K7(Kn)?2:1;for(let Qn=0;Qn<Zn;Qn++)if(A===2?Ge.blockRenderChar(e,Ki,tt+dt,Xi,Re,n,d,bi):Ge.renderChar(e,Ki,tt+dt,Kn,Xi,Re,n,d,Kt,N,bi),Ki+=X,Ki>Li)return}}}}}class Mi{constructor(e,n,d){this._startLineNumber=e,this._endLineNumber=n,this._defaultValue=d,this._values=[];for(let N=0,A=this._endLineNumber-this._startLineNumber+1;N<A;N++)this._values[N]=d}has(e){return this.get(e)!==this._defaultValue}set(e,n){e<this._startLineNumber||e>this._endLineNumber||(this._values[e-this._startLineNumber]=n)}get(e){return e<this._startLineNumber||e>this._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}}(0,Ke.Ic)((Tt,e)=>{const n=Tt.getColor(nn.CA);n&&e.addRule(`.monaco-editor .minimap-slider .minimap-slider-horizontal { background: ${n}; }`);const d=Tt.getColor(nn.Xy);d&&e.addRule(`.monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: ${d}; }`);const N=Tt.getColor(nn.br);N&&e.addRule(`.monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: ${N}; }`);const A=Tt.getColor(nn._w);A&&e.addRule(`.monaco-editor .minimap-shadow-visible { box-shadow: ${A} -6px 0 6px -6px inset; }`)});class Ei extends J{constructor(e){super(e);const d=this._context.configuration.options.get(129);this._widgets={},this._verticalScrollbarWidth=d.verticalScrollbarWidth,this._minimapWidth=d.minimap.minimapWidth,this._horizontalScrollbarHeight=d.horizontalScrollbarHeight,this._editorHeight=d.height,this._editorWidth=d.width,this._domNode=(0,f.X)(document.createElement("div")),Z.write(this._domNode,4),this._domNode.setClassName("overlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){const d=this._context.configuration.options.get(129);return this._verticalScrollbarWidth=d.verticalScrollbarWidth,this._minimapWidth=d.minimap.minimapWidth,this._horizontalScrollbarHeight=d.horizontalScrollbarHeight,this._editorHeight=d.height,this._editorWidth=d.width,!0}addWidget(e){const n=(0,f.X)(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:n},n.setPosition("absolute"),n.setAttribute("widgetId",e.getId()),this._domNode.appendChild(n),this.setShouldRender()}setWidgetPosition(e,n){const d=this._widgets[e.getId()];return d.preference===n?!1:(d.preference=n,this.setShouldRender(),!0)}removeWidget(e){const n=e.getId();if(this._widgets.hasOwnProperty(n)){const N=this._widgets[n].domNode.domNode;delete this._widgets[n],N.parentNode.removeChild(N),this.setShouldRender()}}_renderWidget(e){const n=e.domNode;if(e.preference===null){n.unsetTop();return}if(e.preference===0)n.setTop(0),n.setRight(2*this._verticalScrollbarWidth+this._minimapWidth);else if(e.preference===1){const d=n.domNode.clientHeight;n.setTop(this._editorHeight-d-2*this._horizontalScrollbarHeight),n.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else e.preference===2&&(n.setTop(0),n.domNode.style.right="50%")}prepareRender(e){}render(e){this._domNode.setWidth(this._editorWidth);const n=Object.keys(this._widgets);for(let d=0,N=n.length;d<N;d++){const A=n[d];this._renderWidget(this._widgets[A])}}}var xi=i(51737);class Pi{constructor(e,n){const d=e.options;this.lineHeight=d.get(58),this.pixelRatio=d.get(127),this.overviewRulerLanes=d.get(73),this.renderBorder=d.get(72);const N=n.getColor(Oe.zw);this.borderColor=N?N.toString():null,this.hideCursor=d.get(51);const A=n.getColor(Oe.n0);this.cursorColor=A?A.transparent(.7).toString():null,this.themeType=n.type;const X=d.get(64),Le=X.enabled,Re=X.side,Ge=Le?n.getColor(Oe.e_)||Lt.RW.getDefaultBackground():null;Ge===null||Re==="left"?this.backgroundColor=null:this.backgroundColor=xi.Il.Format.CSS.formatHex(Ge);const dt=d.get(129).overviewRuler;this.top=dt.top,this.right=dt.right,this.domWidth=dt.width,this.domHeight=dt.height,this.overviewRulerLanes===0?(this.canvasWidth=0,this.canvasHeight=0):(this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0);const[Ot,It]=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes);this.x=Ot,this.w=It}_initLanes(e,n,d){const N=n-e;if(d>=3){const A=Math.floor(N/3),X=Math.floor(N/3),Le=N-A-X,Re=e,Ge=Re+A,tt=Re+A+Le;return[[0,Re,Ge,Re,tt,Re,Ge,Re],[0,A,Le,A+Le,X,A+Le+X,Le+X,A+Le+X]]}else if(d===2){const A=Math.floor(N/2),X=N-A,Le=e,Re=Le+A;return[[0,Le,Le,Le,Re,Le,Le,Le],[0,A,A,A,X,A+X,A+X,A+X]]}else{const A=e,X=N;return[[0,A,A,A,A,A,A,A],[0,X,X,X,X,X,X,X]]}}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColor===e.cursorColor&&this.themeType===e.themeType&&this.backgroundColor===e.backgroundColor&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}}class ki extends J{constructor(e){super(e),this._domNode=(0,f.X)(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=Lt.RW.onDidChange(n=>{n.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){const n=new Pi(this._context.configuration,this._context.theme);return this._settings&&this._settings.equals(n)?!1:(this._settings=n,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)}onConfigurationChanged(e){return this._updateSettings(!1)}onCursorStateChanged(e){this._cursorPositions=[];for(let n=0,d=e.selections.length;n<d;n++)this._cursorPositions[n]=e.selections[n].getPosition();return this._cursorPositions.sort(ee.L.compare),!0}onDecorationsChanged(e){return!!e.affectsOverviewRuler}onFlushed(e){return!0}onScrollChanged(e){return e.scrollHeightChanged}onZonesChanged(e){return!0}onThemeChanged(e){return this._context.model.invalidateOverviewRulerColorCache(),this._updateSettings(!1)}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render()}_render(){if(this._settings.overviewRulerLanes===0){this._domNode.setBackgroundColor(this._settings.backgroundColor?this._settings.backgroundColor:"");return}const e=this._settings.canvasWidth,n=this._settings.canvasHeight,d=this._settings.lineHeight,N=this._context.viewLayout,A=this._context.viewLayout.getScrollHeight(),X=n/A,Le=this._context.model.getAllOverviewRulerDecorations(this._context.theme),Re=6*this._settings.pixelRatio|0,Ge=Re/2|0,tt=this._domNode.domNode.getContext("2d");this._settings.backgroundColor===null?tt.clearRect(0,0,e,n):(tt.fillStyle=this._settings.backgroundColor,tt.fillRect(0,0,e,n));const dt=this._settings.x,Ot=this._settings.w;Le.sort(pe.SQ.cmp);for(const It of Le){const Kt=It.color,qt=It.data;tt.fillStyle=Kt;let di=0,pi=0,Li=0;for(let bi=0,Ki=qt.length/3;bi<Ki;bi++){const Wi=qt[3*bi],Zi=qt[3*bi+1],ji=qt[3*bi+2];let Fi=N.getVerticalOffsetForLineNumber(Zi)*X|0,Gi=(N.getVerticalOffsetForLineNumber(ji)+d)*X|0;if(Gi-Fi<Re){let Xi=(Fi+Gi)/2|0;Xi<Ge?Xi=Ge:Xi+Ge>n&&(Xi=n-Ge),Fi=Xi-Ge,Gi=Xi+Ge}Fi>Li+1||Wi!==di?(bi!==0&&tt.fillRect(dt[di],pi,Ot[di],Li-pi),di=Wi,pi=Fi,Li=Gi):Gi>Li&&(Li=Gi)}tt.fillRect(dt[di],pi,Ot[di],Li-pi)}if(!this._settings.hideCursor&&this._settings.cursorColor){const It=2*this._settings.pixelRatio|0,Kt=It/2|0,qt=this._settings.x[7],di=this._settings.w[7];tt.fillStyle=this._settings.cursorColor;let pi=-100,Li=-100;for(let bi=0,Ki=this._cursorPositions.length;bi<Ki;bi++){const Wi=this._cursorPositions[bi];let Zi=N.getVerticalOffsetForLineNumber(Wi.lineNumber)*X|0;Zi<Kt?Zi=Kt:Zi+Kt>n&&(Zi=n-Kt);const ji=Zi-Kt,Fi=ji+It;ji>Li+1?(bi!==0&&tt.fillRect(qt,pi,di,Li-pi),pi=ji,Li=Fi):Fi>Li&&(Li=Fi)}tt.fillRect(qt,pi,di,Li-pi)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(tt.beginPath(),tt.lineWidth=1,tt.strokeStyle=this._settings.borderColor,tt.moveTo(0,0),tt.lineTo(0,n),tt.stroke(),tt.moveTo(0,0),tt.lineTo(e,0),tt.stroke())}}var Bi=i(13169);class on extends De{constructor(e,n){super(),this._context=e;const d=this._context.configuration.options;this._domNode=(0,f.X)(document.createElement("canvas")),this._domNode.setClassName(n),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new Bi.Tj(N=>this._context.viewLayout.getVerticalOffsetForLineNumber(N)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(d.get(58)),this._zoneManager.setPixelRatio(d.get(127)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){const n=this._context.configuration.options;return e.hasChanged(58)&&(this._zoneManager.setLineHeight(n.get(58)),this._render()),e.hasChanged(127)&&(this._zoneManager.setPixelRatio(n.get(127)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let n=!1;n=this._zoneManager.setDOMWidth(e.width)||n,n=this._zoneManager.setDOMHeight(e.height)||n,n&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(e){this._zoneManager.setZones(e),this._render()}_render(){if(this._zoneManager.getOuterHeight()===0)return!1;const e=this._zoneManager.getCanvasWidth(),n=this._zoneManager.getCanvasHeight(),d=this._zoneManager.resolveColorZones(),N=this._zoneManager.getId2Color(),A=this._domNode.domNode.getContext("2d");return A.clearRect(0,0,e,n),d.length>0&&this._renderOneLane(A,d,N,e),!0}_renderOneLane(e,n,d,N){let A=0,X=0,Le=0;for(const Re of n){const Ge=Re.colorId,tt=Re.from,dt=Re.to;Ge!==A?(e.fillRect(0,X,N,Le-X),A=Ge,e.fillStyle=d[A],X=tt,Le=dt):Le>=tt?Le=Math.max(Le,dt):(e.fillRect(0,X,N,Le-X),X=tt,Le=dt)}e.fillRect(0,X,N,Le-X)}}class zn extends J{constructor(e){super(e),this.domNode=(0,f.X)(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const n=this._context.configuration.options;this._rulers=n.get(90),this._typicalHalfwidthCharacterWidth=n.get(43).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){const n=this._context.configuration.options;return this._rulers=n.get(90),this._typicalHalfwidthCharacterWidth=n.get(43).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){const e=this._renderedRulers.length,n=this._rulers.length;if(e===n)return;if(e<n){const{tabSize:N}=this._context.model.getTextModelOptions(),A=N;let X=n-e;for(;X>0;){const Le=(0,f.X)(document.createElement("div"));Le.setClassName("view-ruler"),Le.setWidth(A),this.domNode.appendChild(Le),this._renderedRulers.push(Le),X--}return}let d=e-n;for(;d>0;){const N=this._renderedRulers.pop();this.domNode.removeChild(N),d--}}render(e){this._ensureRulersCount();for(let n=0,d=this._rulers.length;n<d;n++){const N=this._renderedRulers[n],A=this._rulers[n];N.setBoxShadow(A.color?`1px 0 0 0 ${A.color} inset`:""),N.setHeight(Math.min(e.scrollHeight,1e6)),N.setLeft(A.column*this._typicalHalfwidthCharacterWidth)}}}(0,Ke.Ic)((Tt,e)=>{const n=Tt.getColor(Oe.zk);n&&e.addRule(`.monaco-editor .view-ruler { box-shadow: 1px 0 0 0 ${n} inset; }`)});class hs extends J{constructor(e){super(e),this._scrollTop=0,this._width=0,this._updateWidth(),this._shouldShow=!1;const d=this._context.configuration.options.get(91);this._useShadows=d.useShadows,this._domNode=(0,f.X)(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true")}dispose(){super.dispose()}_updateShouldShow(){const e=this._useShadows&&this._scrollTop>0;return this._shouldShow!==e?(this._shouldShow=e,!0):!1}getDomNode(){return this._domNode}_updateWidth(){const n=this._context.configuration.options.get(129);n.minimap.renderMinimap===0||n.minimap.minimapWidth>0&&n.minimap.minimapLeft===0?this._width=n.width:this._width=n.width-n.minimap.minimapWidth-n.verticalScrollbarWidth}onConfigurationChanged(e){const d=this._context.configuration.options.get(91);return this._useShadows=d.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}(0,Ke.Ic)((Tt,e)=>{const n=Tt.getColor(nn._w);n&&e.addRule(`.monaco-editor .scroll-decoration { box-shadow: ${n} 0 6px 6px -6px inset; }`)});class en{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}class mn{constructor(e,n){this.lineNumber=e,this.ranges=n}}function Pn(Tt){return new en(Tt)}function Yi(Tt){return new mn(Tt.lineNumber,Tt.ranges.map(Pn))}class tn extends Ie{constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;const n=this._context.configuration.options;this._lineHeight=n.get(58),this._roundedSelection=n.get(89),this._typicalHalfwidthCharacterWidth=n.get(43).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const n=this._context.configuration.options;return this._lineHeight=n.get(58),this._roundedSelection=n.get(89),this._typicalHalfwidthCharacterWidth=n.get(43).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let n=0,d=e.length;n<d;n++)if(e[n].ranges.length>1)return!0;return!1}_enrichVisibleRangesWithStyle(e,n,d){const N=this._typicalHalfwidthCharacterWidth/4;let A=null,X=null;if(d&&d.length>0&&n.length>0){const Le=n[0].lineNumber;if(Le===e.startLineNumber)for(let Ge=0;!A&&Ge<d.length;Ge++)d[Ge].lineNumber===Le&&(A=d[Ge].ranges[0]);const Re=n[n.length-1].lineNumber;if(Re===e.endLineNumber)for(let Ge=d.length-1;!X&&Ge>=0;Ge--)d[Ge].lineNumber===Re&&(X=d[Ge].ranges[0]);A&&!A.startStyle&&(A=null),X&&!X.startStyle&&(X=null)}for(let Le=0,Re=n.length;Le<Re;Le++){const Ge=n[Le].ranges[0],tt=Ge.left,dt=Ge.left+Ge.width,Ot={top:0,bottom:0},It={top:0,bottom:0};if(Le>0){const Kt=n[Le-1].ranges[0].left,qt=n[Le-1].ranges[0].left+n[Le-1].ranges[0].width;Bn(tt-Kt)<N?Ot.top=2:tt>Kt&&(Ot.top=1),Bn(dt-qt)<N?It.top=2:Kt<dt&&dt<qt&&(It.top=1)}else A&&(Ot.top=A.startStyle.top,It.top=A.endStyle.top);if(Le+1<Re){const Kt=n[Le+1].ranges[0].left,qt=n[Le+1].ranges[0].left+n[Le+1].ranges[0].width;Bn(tt-Kt)<N?Ot.bottom=2:Kt<tt&&tt<qt&&(Ot.bottom=1),Bn(dt-qt)<N?It.bottom=2:dt<qt&&(It.bottom=1)}else X&&(Ot.bottom=X.startStyle.bottom,It.bottom=X.endStyle.bottom);Ge.startStyle=Ot,Ge.endStyle=It}}_getVisibleRangesWithStyle(e,n,d){const A=(n.linesVisibleRangesForRange(e,!0)||[]).map(Yi);return!this._visibleRangesHaveGaps(A)&&this._roundedSelection&&this._enrichVisibleRangesWithStyle(n.visibleRange,A,d),A}_createSelectionPiece(e,n,d,N,A){return'<div class="cslr '+d+'" style="top:'+e.toString()+"px;left:"+N.toString()+"px;width:"+A.toString()+"px;height:"+n+'px;"></div>'}_actualRenderOneSelection(e,n,d,N){if(N.length===0)return;const A=!!N[0].ranges[0].startStyle,X=this._lineHeight.toString(),Le=(this._lineHeight-1).toString(),Re=N[0].lineNumber,Ge=N[N.length-1].lineNumber;for(let tt=0,dt=N.length;tt<dt;tt++){const Ot=N[tt],It=Ot.lineNumber,Kt=It-n,qt=d&&(It===Ge||It===Re)?Le:X,di=d&&It===Re?1:0;let pi="",Li="";for(let bi=0,Ki=Ot.ranges.length;bi<Ki;bi++){const Wi=Ot.ranges[bi];if(A){const ji=Wi.startStyle,Fi=Wi.endStyle;if(ji.top===1||ji.bottom===1){pi+=this._createSelectionPiece(di,qt,tn.SELECTION_CLASS_NAME,Wi.left-tn.ROUNDED_PIECE_WIDTH,tn.ROUNDED_PIECE_WIDTH);let Gi=tn.EDITOR_BACKGROUND_CLASS_NAME;ji.top===1&&(Gi+=" "+tn.SELECTION_TOP_RIGHT),ji.bottom===1&&(Gi+=" "+tn.SELECTION_BOTTOM_RIGHT),pi+=this._createSelectionPiece(di,qt,Gi,Wi.left-tn.ROUNDED_PIECE_WIDTH,tn.ROUNDED_PIECE_WIDTH)}if(Fi.top===1||Fi.bottom===1){pi+=this._createSelectionPiece(di,qt,tn.SELECTION_CLASS_NAME,Wi.left+Wi.width,tn.ROUNDED_PIECE_WIDTH);let Gi=tn.EDITOR_BACKGROUND_CLASS_NAME;Fi.top===1&&(Gi+=" "+tn.SELECTION_TOP_LEFT),Fi.bottom===1&&(Gi+=" "+tn.SELECTION_BOTTOM_LEFT),pi+=this._createSelectionPiece(di,qt,Gi,Wi.left+Wi.width,tn.ROUNDED_PIECE_WIDTH)}}let Zi=tn.SELECTION_CLASS_NAME;if(A){const ji=Wi.startStyle,Fi=Wi.endStyle;ji.top===0&&(Zi+=" "+tn.SELECTION_TOP_LEFT),ji.bottom===0&&(Zi+=" "+tn.SELECTION_BOTTOM_LEFT),Fi.top===0&&(Zi+=" "+tn.SELECTION_TOP_RIGHT),Fi.bottom===0&&(Zi+=" "+tn.SELECTION_BOTTOM_RIGHT)}Li+=this._createSelectionPiece(di,qt,Zi,Wi.left,Wi.width)}e[Kt][0]+=pi,e[Kt][1]+=Li}}prepareRender(e){const n=[],d=e.visibleRange.startLineNumber,N=e.visibleRange.endLineNumber;for(let X=d;X<=N;X++){const Le=X-d;n[Le]=["",""]}const A=[];for(let X=0,Le=this._selections.length;X<Le;X++){const Re=this._selections[X];if(Re.isEmpty()){A[X]=null;continue}const Ge=this._getVisibleRangesWithStyle(Re,e,this._previousFrameVisibleRangesWithStyle[X]);A[X]=Ge,this._actualRenderOneSelection(n,d,this._selections.length>1,Ge)}this._previousFrameVisibleRangesWithStyle=A,this._renderResult=n.map(([X,Le])=>X+Le)}render(e,n){if(!this._renderResult)return"";const d=n-e;return d<0||d>=this._renderResult.length?"":this._renderResult[d]}}tn.SELECTION_CLASS_NAME="selected-text",tn.SELECTION_TOP_LEFT="top-left-radius",tn.SELECTION_BOTTOM_LEFT="bottom-left-radius",tn.SELECTION_TOP_RIGHT="top-right-radius",tn.SELECTION_BOTTOM_RIGHT="bottom-right-radius",tn.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",tn.ROUNDED_PIECE_WIDTH=10,(0,Ke.Ic)((Tt,e)=>{const n=Tt.getColor(nn.hE);n&&e.addRule(`.monaco-editor .focused .selected-text { background-color: ${n}; }`);const d=Tt.getColor(nn.ES);d&&e.addRule(`.monaco-editor .selected-text { background-color: ${d}; }`);const N=Tt.getColor(nn.yb);N&&!N.isTransparent()&&e.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${N}; }`)});function Bn(Tt){return Tt<0?-Tt:Tt}class vs{constructor(e,n,d,N,A,X){this.top=e,this.left=n,this.width=d,this.height=N,this.textContent=A,this.textContentClassName=X}}class ws{constructor(e){this._context=e;const n=this._context.configuration.options,d=n.get(43);this._cursorStyle=n.get(24),this._lineHeight=n.get(58),this._typicalHalfwidthCharacterWidth=d.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(n.get(27),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=(0,f.X)(document.createElement("div")),this._domNode.setClassName(`cursor ${Xt.S}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),g.V.applyFontInfo(this._domNode,d),this._domNode.setDisplay("none"),this._position=new ee.L(1,1),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(e){const n=this._context.configuration.options,d=n.get(43);return this._cursorStyle=n.get(24),this._lineHeight=n.get(58),this._typicalHalfwidthCharacterWidth=d.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(n.get(27),this._typicalHalfwidthCharacterWidth),g.V.applyFontInfo(this._domNode,d),!0}onCursorPositionChanged(e){return this._position=e,!0}_prepareRender(e){let n="";if(this._cursorStyle===ve.d2.Line||this._cursorStyle===ve.d2.LineThin){const Ot=e.visibleRangeForPosition(this._position);if(!Ot||Ot.outsideRenderedLine)return null;let It;if(this._cursorStyle===ve.d2.Line){if(It=I.Uh(this._lineCursorWidth>0?this._lineCursorWidth:2),It>2){const di=this._context.model.getLineContent(this._position.lineNumber),pi=Qe.vH(di,this._position.column-1);n=di.substr(this._position.column-1,pi)}}else It=I.Uh(1);let Kt=Ot.left;It>=2&&Kt>=1&&(Kt-=1);const qt=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta;return new vs(qt,Kt,It,this._lineHeight,n,"")}const d=this._context.model.getLineContent(this._position.lineNumber),N=Qe.vH(d,this._position.column-1),A=e.linesVisibleRangesForRange(new he.e(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column+N),!1);if(!A||A.length===0)return null;const X=A[0];if(X.outsideRenderedLine||X.ranges.length===0)return null;const Le=X.ranges[0],Re=Le.width<1?this._typicalHalfwidthCharacterWidth:Le.width;let Ge="";if(this._cursorStyle===ve.d2.Block){const Ot=this._context.model.getViewLineData(this._position.lineNumber);n=d.substr(this._position.column-1,N);const It=Ot.tokens.findTokenIndexAtOffset(this._position.column-1);Ge=Ot.tokens.getClassName(It)}let tt=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta,dt=this._lineHeight;return(this._cursorStyle===ve.d2.Underline||this._cursorStyle===ve.d2.UnderlineThin)&&(tt+=this._lineHeight-2,dt=2),new vs(tt,Le.left,Re,dt,n,Ge)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${Xt.S} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}class ds extends J{constructor(e){super(e);const n=this._context.configuration.options;this._readOnly=n.get(80),this._cursorBlinking=n.get(22),this._cursorStyle=n.get(24),this._cursorSmoothCaretAnimation=n.get(23),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new ws(this._context),this._secondaryCursors=[],this._renderData=[],this._domNode=(0,f.X)(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new m._F,this._cursorFlatBlinkInterval=new m.zh,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){const n=this._context.configuration.options;this._readOnly=n.get(80),this._cursorBlinking=n.get(22),this._cursorStyle=n.get(24),this._cursorSmoothCaretAnimation=n.get(23),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let d=0,N=this._secondaryCursors.length;d<N;d++)this._secondaryCursors[d].onConfigurationChanged(e);return!0}_onCursorPositionChanged(e,n){if(this._primaryCursor.onCursorPositionChanged(e),this._updateBlinking(),this._secondaryCursors.length<n.length){const d=n.length-this._secondaryCursors.length;for(let N=0;N<d;N++){const A=new ws(this._context);this._domNode.domNode.insertBefore(A.getDomNode().domNode,this._primaryCursor.getDomNode().domNode.nextSibling),this._secondaryCursors.push(A)}}else if(this._secondaryCursors.length>n.length){const d=this._secondaryCursors.length-n.length;for(let N=0;N<d;N++)this._domNode.removeChild(this._secondaryCursors[0].getDomNode()),this._secondaryCursors.splice(0,1)}for(let d=0;d<n.length;d++)this._secondaryCursors[d].onCursorPositionChanged(n[d])}onCursorStateChanged(e){const n=[];for(let N=0,A=e.selections.length;N<A;N++)n[N]=e.selections[N].getPosition();this._onCursorPositionChanged(n[0],n.slice(1));const d=e.selections[0].isEmpty();return this._selectionIsEmpty!==d&&(this._selectionIsEmpty=d,this._updateDomClassName()),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onFocusChanged(e){return this._editorHasFocus=e.isFocused,this._updateBlinking(),!1}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return!0}onTokensChanged(e){const n=d=>{for(let N=0,A=e.ranges.length;N<A;N++)if(e.ranges[N].fromLineNumber<=d.lineNumber&&d.lineNumber<=e.ranges[N].toLineNumber)return!0;return!1};if(n(this._primaryCursor.getPosition()))return!0;for(const d of this._secondaryCursors)if(n(d.getPosition()))return!0;return!1}onZonesChanged(e){return!0}_getCursorBlinking(){return this._isComposingInput||!this._editorHasFocus?0:this._readOnly?5:this._cursorBlinking}_updateBlinking(){this._startCursorBlinkAnimation.cancel(),this._cursorFlatBlinkInterval.cancel();const e=this._getCursorBlinking(),n=e===0,d=e===5;n?this._hide():this._show(),this._blinkingEnabled=!1,this._updateDomClassName(),!n&&!d&&(e===1?this._cursorFlatBlinkInterval.cancelAndSet(()=>{this._isVisible?this._hide():this._show()},ds.BLINK_INTERVAL):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},ds.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case ve.d2.Line:e+=" cursor-line-style";break;case ve.d2.Block:e+=" cursor-block-style";break;case ve.d2.Underline:e+=" cursor-underline-style";break;case ve.d2.LineThin:e+=" cursor-line-thin-style";break;case ve.d2.BlockOutline:e+=" cursor-block-outline-style";break;case ve.d2.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=" cursor-blink";break;case 2:e+=" cursor-smooth";break;case 3:e+=" cursor-phase";break;case 4:e+=" cursor-expand";break;case 5:e+=" cursor-solid";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return this._cursorSmoothCaretAnimation&&(e+=" cursor-smooth-caret-animation"),e}_show(){this._primaryCursor.show();for(let e=0,n=this._secondaryCursors.length;e<n;e++)this._secondaryCursors[e].show();this._isVisible=!0}_hide(){this._primaryCursor.hide();for(let e=0,n=this._secondaryCursors.length;e<n;e++)this._secondaryCursors[e].hide();this._isVisible=!1}prepareRender(e){this._primaryCursor.prepareRender(e);for(let n=0,d=this._secondaryCursors.length;n<d;n++)this._secondaryCursors[n].prepareRender(e)}render(e){let n=[],d=0;const N=this._primaryCursor.render(e);N&&(n[d++]=N);for(let A=0,X=this._secondaryCursors.length;A<X;A++){const Le=this._secondaryCursors[A].render(e);Le&&(n[d++]=Le)}this._renderData=n}getLastRenderData(){return this._renderData}}ds.BLINK_INTERVAL=500,(0,Ke.Ic)((Tt,e)=>{const n=Tt.getColor(Oe.n0);if(n){let d=Tt.getColor(Oe.fY);d||(d=n.opposite()),e.addRule(`.monaco-editor .cursors-layer .cursor { background-color: ${n}; border-color: ${n}; color: ${d}; }`),Tt.type==="hc"&&e.addRule(`.monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid ${d}; border-right: 1px solid ${d}; }`)}});const ms=()=>{throw new Error("Invalid change accessor")};class cs extends J{constructor(e){super(e);const n=this._context.configuration.options,d=n.get(129);this._lineHeight=n.get(58),this._contentWidth=d.contentWidth,this._contentLeft=d.contentLeft,this.domNode=(0,f.X)(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=(0,f.X)(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const e=this._context.viewLayout.getWhitespaces(),n=new Map;for(const N of e)n.set(N.id,N);let d=!1;return this._context.model.changeWhitespace(N=>{const A=Object.keys(this._zones);for(let X=0,Le=A.length;X<Le;X++){const Re=A[X],Ge=this._zones[Re],tt=this._computeWhitespaceProps(Ge.delegate);Ge.isInHiddenArea=tt.isInHiddenArea;const dt=n.get(Re);dt&&(dt.afterLineNumber!==tt.afterViewLineNumber||dt.height!==tt.heightInPx)&&(N.changeOneWhitespace(Re,tt.afterViewLineNumber,tt.heightInPx),this._safeCallOnComputedHeight(Ge.delegate,tt.heightInPx),d=!0)}}),d}onConfigurationChanged(e){const n=this._context.configuration.options,d=n.get(129);return this._lineHeight=n.get(58),this._contentWidth=d.contentWidth,this._contentLeft=d.contentLeft,e.hasChanged(58)&&this._recomputeWhitespacesProps(),!0}onLineMappingChanged(e){return this._recomputeWhitespacesProps()}onLinesDeleted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}onLinesInserted(e){return!0}_getZoneOrdinal(e){return typeof e.afterColumn!="undefined"?e.afterColumn:1e4}_computeWhitespaceProps(e){if(e.afterLineNumber===0)return{isInHiddenArea:!1,afterViewLineNumber:0,heightInPx:this._heightInPixels(e),minWidthInPx:this._minWidthInPixels(e)};let n;if(typeof e.afterColumn!="undefined")n=this._context.model.validateModelPosition({lineNumber:e.afterLineNumber,column:e.afterColumn});else{const X=this._context.model.validateModelPosition({lineNumber:e.afterLineNumber,column:1}).lineNumber;n=new ee.L(X,this._context.model.getModelLineMaxColumn(X))}let d;n.column===this._context.model.getModelLineMaxColumn(n.lineNumber)?d=this._context.model.validateModelPosition({lineNumber:n.lineNumber+1,column:1}):d=this._context.model.validateModelPosition({lineNumber:n.lineNumber,column:n.column+1});const N=this._context.model.coordinatesConverter.convertModelPositionToViewPosition(n),A=this._context.model.coordinatesConverter.modelPositionIsVisible(d);return{isInHiddenArea:!A,afterViewLineNumber:N.lineNumber,heightInPx:A?this._heightInPixels(e):0,minWidthInPx:this._minWidthInPixels(e)}}changeViewZones(e){let n=!1;return this._context.model.changeWhitespace(d=>{const N={addZone:A=>(n=!0,this._addZone(d,A)),removeZone:A=>{A&&(n=this._removeZone(d,A)||n)},layoutZone:A=>{A&&(n=this._layoutZone(d,A)||n)}};us(e,N),N.addZone=ms,N.removeZone=ms,N.layoutZone=ms}),n}_addZone(e,n){const d=this._computeWhitespaceProps(n),A={whitespaceId:e.insertWhitespace(d.afterViewLineNumber,this._getZoneOrdinal(n),d.heightInPx,d.minWidthInPx),delegate:n,isInHiddenArea:d.isInHiddenArea,isVisible:!1,domNode:(0,f.X)(n.domNode),marginDomNode:n.marginDomNode?(0,f.X)(n.marginDomNode):null};return this._safeCallOnComputedHeight(A.delegate,d.heightInPx),A.domNode.setPosition("absolute"),A.domNode.domNode.style.width="100%",A.domNode.setDisplay("none"),A.domNode.setAttribute("monaco-view-zone",A.whitespaceId),this.domNode.appendChild(A.domNode),A.marginDomNode&&(A.marginDomNode.setPosition("absolute"),A.marginDomNode.domNode.style.width="100%",A.marginDomNode.setDisplay("none"),A.marginDomNode.setAttribute("monaco-view-zone",A.whitespaceId),this.marginDomNode.appendChild(A.marginDomNode)),this._zones[A.whitespaceId]=A,this.setShouldRender(),A.whitespaceId}_removeZone(e,n){if(this._zones.hasOwnProperty(n)){const d=this._zones[n];return delete this._zones[n],e.removeWhitespace(d.whitespaceId),d.domNode.removeAttribute("monaco-visible-view-zone"),d.domNode.removeAttribute("monaco-view-zone"),d.domNode.domNode.parentNode.removeChild(d.domNode.domNode),d.marginDomNode&&(d.marginDomNode.removeAttribute("monaco-visible-view-zone"),d.marginDomNode.removeAttribute("monaco-view-zone"),d.marginDomNode.domNode.parentNode.removeChild(d.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(e,n){if(this._zones.hasOwnProperty(n)){const d=this._zones[n],N=this._computeWhitespaceProps(d.delegate);return d.isInHiddenArea=N.isInHiddenArea,e.changeOneWhitespace(d.whitespaceId,N.afterViewLineNumber,N.heightInPx),this._safeCallOnComputedHeight(d.delegate,N.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){return this._zones.hasOwnProperty(e)?!!this._zones[e].delegate.suppressMouseDown:!1}_heightInPixels(e){return typeof e.heightInPx=="number"?e.heightInPx:typeof e.heightInLines=="number"?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return typeof e.minWidthInPx=="number"?e.minWidthInPx:0}_safeCallOnComputedHeight(e,n){if(typeof e.onComputedHeight=="function")try{e.onComputedHeight(n)}catch(d){(0,y.dL)(d)}}_safeCallOnDomNodeTop(e,n){if(typeof e.onDomNodeTop=="function")try{e.onDomNodeTop(n)}catch(d){(0,y.dL)(d)}}prepareRender(e){}render(e){const n=e.viewportData.whitespaceViewportData,d={};let N=!1;for(const X of n)this._zones[X.id].isInHiddenArea||(d[X.id]=X,N=!0);const A=Object.keys(this._zones);for(let X=0,Le=A.length;X<Le;X++){const Re=A[X],Ge=this._zones[Re];let tt=0,dt=0,Ot="none";d.hasOwnProperty(Re)?(tt=d[Re].verticalOffset-e.bigNumbersDelta,dt=d[Re].height,Ot="block",Ge.isVisible||(Ge.domNode.setAttribute("monaco-visible-view-zone","true"),Ge.isVisible=!0),this._safeCallOnDomNodeTop(Ge.delegate,e.getScrolledTopFromAbsoluteTop(d[Re].verticalOffset))):(Ge.isVisible&&(Ge.domNode.removeAttribute("monaco-visible-view-zone"),Ge.isVisible=!1),this._safeCallOnDomNodeTop(Ge.delegate,e.getScrolledTopFromAbsoluteTop(-1e6))),Ge.domNode.setTop(tt),Ge.domNode.setHeight(dt),Ge.domNode.setDisplay(Ot),Ge.marginDomNode&&(Ge.marginDomNode.setTop(tt),Ge.marginDomNode.setHeight(dt),Ge.marginDomNode.setDisplay(Ot))}N&&(this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth)),this.marginDomNode.setWidth(this._contentLeft))}}function us(Tt,e){try{return Tt(e)}catch(n){(0,y.dL)(n)}}class os{constructor(e){this._theme=e}get type(){return this._theme.type}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}}class to{constructor(e,n,d){this.configuration=e,this.theme=new os(n),this.model=d,this.viewLayout=d.viewLayout}addEventHandler(e){this.model.addViewEventHandler(e)}removeEventHandler(e){this.model.removeViewEventHandler(e)}}class rn{constructor(e,n,d,N){this.selections=e,this.startLineNumber=n.startLineNumber|0,this.endLineNumber=n.endLineNumber|0,this.relativeVerticalOffset=n.relativeVerticalOffset,this.bigNumbersDelta=n.bigNumbersDelta|0,this.whitespaceViewportData=d,this._model=N,this.visibleRange=new he.e(n.startLineNumber,this._model.getLineMinColumn(n.startLineNumber),n.endLineNumber,this._model.getLineMaxColumn(n.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}class li extends De{constructor(e,n,d,N,A,X){super(),this._selections=[new C.Y(1,1,1,1)],this._renderAnimationFrame=null;const Le=new Se(n,N,A,e);this._context=new to(n,d.getColorTheme(),N),this._configPixelRatio=this._context.configuration.options.get(127),this._context.addEventHandler(this),this._register(d.onDidColorThemeChange(qt=>{this._context.theme.update(qt),this._context.model.onDidColorThemeChange(),this.render(!0,!1)})),this._viewParts=[],this._textAreaHandler=new mi(this._context,Le,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=(0,f.X)(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=(0,f.X)(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=(0,f.X)(document.createElement("div")),Z.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new kn(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new On(this._context,this._linesContent),this._viewZones=new cs(this._context),this._viewParts.push(this._viewZones);const Re=new ki(this._context);this._viewParts.push(Re);const Ge=new hs(this._context);this._viewParts.push(Ge);const tt=new Jt(this._context);this._viewParts.push(tt),tt.addDynamicOverlay(new bn(this._context)),tt.addDynamicOverlay(new tn(this._context)),tt.addDynamicOverlay(new ss(this._context)),tt.addDynamicOverlay(new Rn(this._context));const dt=new jt(this._context);this._viewParts.push(dt),dt.addDynamicOverlay(new qi(this._context)),dt.addDynamicOverlay(new Jn(this._context)),dt.addDynamicOverlay(new Un(this._context)),dt.addDynamicOverlay(new ts(this._context)),dt.addDynamicOverlay(new ct(this._context));const Ot=new Nt(this._context);Ot.getDomNode().appendChild(this._viewZones.marginDomNode),Ot.getDomNode().appendChild(dt.getDomNode()),this._viewParts.push(Ot),this._contentWidgets=new vi(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new ds(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new Ei(this._context),this._viewParts.push(this._overlayWidgets);const It=new zn(this._context);this._viewParts.push(It);const Kt=new ri(this._context);if(this._viewParts.push(Kt),Re){const qt=this._scrollbar.getOverviewRulerLayoutInfo();qt.parent.insertBefore(Re.getDomNode(),qt.insertBefore)}this._linesContent.appendChild(tt.getDomNode()),this._linesContent.appendChild(It.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(Ot.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(Ge.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(Kt.getDomNode()),this.domNode.appendChild(this._overflowGuardContainer),X?X.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode):this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this._applyLayout(),this._pointerHandler=this._register(new ht(this._context,Le,this._createPointerHandlerHelper()))}_flushAccumulatedAndRenderNow(){this._renderNow()}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>{const e=this._viewCursors.getLastRenderData()||[],n=this._textAreaHandler.getLastRenderData();return new Ft(e,n)},shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,n)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,n)),visibleRangeForPosition:(e,n)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new ee.L(e,n))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPositionRelativeToEditor:(e,n)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new ee.L(e,n)))}}_applyLayout(){const n=this._context.configuration.options.get(129);this.domNode.setWidth(n.width),this.domNode.setHeight(n.height),this._overflowGuardContainer.setWidth(n.width),this._overflowGuardContainer.setHeight(n.height),this._linesContent.setWidth(1e6),this._linesContent.setHeight(1e6)}_getEditorClassName(){const e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(126)+" "+(0,Ke.m6)(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this._configPixelRatio=this._context.configuration.options.get(127),this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){this._renderAnimationFrame!==null&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const e of this._viewParts)e.dispose();super.dispose()}_scheduleRender(){this._renderAnimationFrame===null&&(this._renderAnimationFrame=I.lI(this._onRenderScheduled.bind(this),100))}_onRenderScheduled(){this._renderAnimationFrame=null,this._flushAccumulatedAndRenderNow()}_renderNow(){Ai(()=>this._actualRender())}_getViewPartsToRender(){let e=[],n=0;for(const d of this._viewParts)d.shouldRender()&&(e[n++]=d);return e}_actualRender(){if(!I.Uw(this.domNode.domNode))return;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&e.length===0)return;const n=this._context.viewLayout.getLinesViewportData();this._context.model.setViewport(n.startLineNumber,n.endLineNumber,n.centeredLineNumber);const d=new rn(this._selections,n,this._context.viewLayout.getWhitespaceViewportData(),this._context.model);this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(d),this._viewLines.shouldRender()&&(this._viewLines.renderText(d),this._viewLines.onDidRender(),e=this._getViewPartsToRender());const N=new le(this._context.viewLayout,d,this._viewLines);for(const A of e)A.prepareRender(N);for(const A of e)A.render(N),A.onDidRender();Math.abs(s.mX()-this._configPixelRatio)>.001&&this._context.configuration.updatePixelRatio()}delegateVerticalScrollbarMouseDown(e){this._scrollbar.delegateVerticalScrollbarMouseDown(e)}restoreState(e){this._context.model.setScrollPosition({scrollTop:e.scrollTop},1),this._context.model.tokenizeViewport(),this._renderNow(),this._viewLines.updateLineWidths(),this._context.model.setScrollPosition({scrollLeft:e.scrollLeft},1)}getOffsetForColumn(e,n){const d=this._context.model.validateModelPosition({lineNumber:e,column:n}),N=this._context.model.coordinatesConverter.convertModelPositionToViewPosition(d);this._flushAccumulatedAndRenderNow();const A=this._viewLines.visibleRangeForPosition(new ee.L(N.lineNumber,N.column));return A?A.left:-1}getTargetAtClientPoint(e,n){const d=this._pointerHandler.getTargetAtClientPoint(e,n);return d?Y.convertViewToModelMouseTarget(d,this._context.model.coordinatesConverter):null}createOverviewRuler(e){return new on(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,n){if(n){this._viewLines.forceShouldRender();for(const d of this._viewParts)d.forceShouldRender()}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){let n=e.position&&e.position.range||null;if(n===null){const N=e.position?e.position.position:null;N!==null&&(n=new he.e(N.lineNumber,N.column,N.lineNumber,N.column))}const d=e.position?e.position.preference:null;this._contentWidgets.setWidgetPosition(e.widget,n,d),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){const n=e.position?e.position.preference:null;this._overlayWidgets.setWidgetPosition(e.widget,n)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}}function Ai(Tt){try{return Tt()}catch(e){(0,y.dL)(e)}}class Hi{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new Pe.rS(new he.e(1,1,1,1),0,new ee.L(1,1),0),new Pe.rS(new he.e(1,1,1,1),0,new ee.L(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new Pe.Vi(this.modelState,this.viewState)}readSelectionFromMarkers(e){const n=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.getDirection()===0?new C.Y(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn):new C.Y(n.endLineNumber,n.endColumn,n.startLineNumber,n.startColumn)}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,n,d){this._setState(e,n,d)}static _validatePositionWithCache(e,n,d,N){return n.equals(d)?N:e.normalizePosition(n,2)}static _validateViewState(e,n){const d=n.position,N=n.selectionStart.getStartPosition(),A=n.selectionStart.getEndPosition(),X=e.normalizePosition(d,2),Le=this._validatePositionWithCache(e,N,d,X),Re=this._validatePositionWithCache(e,A,N,Le);return d.equals(X)&&N.equals(Le)&&A.equals(Re)?n:new Pe.rS(he.e.fromPositions(Le,Re),n.selectionStartLeftoverVisibleColumns+N.column-Le.column,X,n.leftoverVisibleColumns+d.column-X.column)}_setState(e,n,d){if(d&&(d=Hi._validateViewState(e.viewModel,d)),n){const N=e.model.validateRange(n.selectionStart),A=n.selectionStart.equalsRange(N)?n.selectionStartLeftoverVisibleColumns:0,X=e.model.validatePosition(n.position),Le=n.position.equals(X)?n.leftoverVisibleColumns:0;n=new Pe.rS(N,A,X,Le)}else{if(!d)return;const N=e.model.validateRange(e.coordinatesConverter.convertViewRangeToModelRange(d.selectionStart)),A=e.model.validatePosition(e.coordinatesConverter.convertViewPositionToModelPosition(d.position));n=new Pe.rS(N,d.selectionStartLeftoverVisibleColumns,A,d.leftoverVisibleColumns)}if(d){const N=e.coordinatesConverter.validateViewRange(d.selectionStart,n.selectionStart),A=e.coordinatesConverter.validateViewPosition(d.position,n.position);d=new Pe.rS(N,n.selectionStartLeftoverVisibleColumns,A,n.leftoverVisibleColumns)}else{const N=e.coordinatesConverter.convertModelPositionToViewPosition(new ee.L(n.selectionStart.startLineNumber,n.selectionStart.startColumn)),A=e.coordinatesConverter.convertModelPositionToViewPosition(new ee.L(n.selectionStart.endLineNumber,n.selectionStart.endColumn)),X=new he.e(N.lineNumber,N.column,A.lineNumber,A.column),Le=e.coordinatesConverter.convertModelPositionToViewPosition(n.position);d=new Pe.rS(X,n.selectionStartLeftoverVisibleColumns,Le,n.leftoverVisibleColumns)}this.modelState=n,this.viewState=d,this._updateTrackedRange(e)}}class vn{constructor(e){this.context=e,this.primaryCursor=new Hi(e),this.secondaryCursors=[],this.lastAddedCursorIndex=0}dispose(){this.primaryCursor.dispose(this.context),this.killSecondaryCursors()}startTrackingSelections(){this.primaryCursor.startTrackingSelection(this.context);for(let e=0,n=this.secondaryCursors.length;e<n;e++)this.secondaryCursors[e].startTrackingSelection(this.context)}stopTrackingSelections(){this.primaryCursor.stopTrackingSelection(this.context);for(let e=0,n=this.secondaryCursors.length;e<n;e++)this.secondaryCursors[e].stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){this.primaryCursor.ensureValidState(this.context);for(let e=0,n=this.secondaryCursors.length;e<n;e++)this.secondaryCursors[e].ensureValidState(this.context)}readSelectionFromMarkers(){let e=[];e[0]=this.primaryCursor.readSelectionFromMarkers(this.context);for(let n=0,d=this.secondaryCursors.length;n<d;n++)e[n+1]=this.secondaryCursors[n].readSelectionFromMarkers(this.context);return e}getAll(){let e=[];e[0]=this.primaryCursor.asCursorState();for(let n=0,d=this.secondaryCursors.length;n<d;n++)e[n+1]=this.secondaryCursors[n].asCursorState();return e}getViewPositions(){let e=[];e[0]=this.primaryCursor.viewState.position;for(let n=0,d=this.secondaryCursors.length;n<d;n++)e[n+1]=this.secondaryCursors[n].viewState.position;return e}getTopMostViewPosition(){let e=this.primaryCursor.viewState.position;for(let n=0,d=this.secondaryCursors.length;n<d;n++){const N=this.secondaryCursors[n].viewState.position;N.isBefore(e)&&(e=N)}return e}getBottomMostViewPosition(){let e=this.primaryCursor.viewState.position;for(let n=0,d=this.secondaryCursors.length;n<d;n++){const N=this.secondaryCursors[n].viewState.position;e.isBeforeOrEqual(N)&&(e=N)}return e}getSelections(){let e=[];e[0]=this.primaryCursor.modelState.selection;for(let n=0,d=this.secondaryCursors.length;n<d;n++)e[n+1]=this.secondaryCursors[n].modelState.selection;return e}getViewSelections(){let e=[];e[0]=this.primaryCursor.viewState.selection;for(let n=0,d=this.secondaryCursors.length;n<d;n++)e[n+1]=this.secondaryCursors[n].viewState.selection;return e}setSelections(e){this.setStates(Pe.Vi.fromModelSelections(e))}getPrimaryCursor(){return this.primaryCursor.asCursorState()}setStates(e){e!==null&&(this.primaryCursor.setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){const n=this.secondaryCursors.length,d=e.length;if(n<d){let N=d-n;for(let A=0;A<N;A++)this._addSecondaryCursor()}else if(n>d){let N=n-d;for(let A=0;A<N;A++)this._removeSecondaryCursor(this.secondaryCursors.length-1)}for(let N=0;N<d;N++)this.secondaryCursors[N].setState(this.context,e[N].modelState,e[N].viewState)}killSecondaryCursors(){this._setSecondaryStates([])}_addSecondaryCursor(){this.secondaryCursors.push(new Hi(this.context)),this.lastAddedCursorIndex=this.secondaryCursors.length}getLastAddedCursorIndex(){return this.secondaryCursors.length===0||this.lastAddedCursorIndex===0?0:this.lastAddedCursorIndex}_removeSecondaryCursor(e){this.lastAddedCursorIndex>=e+1&&this.lastAddedCursorIndex--,this.secondaryCursors[e].dispose(this.context),this.secondaryCursors.splice(e,1)}_getAll(){let e=[];e[0]=this.primaryCursor;for(let n=0,d=this.secondaryCursors.length;n<d;n++)e[n+1]=this.secondaryCursors[n];return e}normalize(){if(this.secondaryCursors.length===0)return;let e=this._getAll(),n=[];for(let d=0,N=e.length;d<N;d++)n.push({index:d,selection:e[d].modelState.selection});n.sort((d,N)=>d.selection.startLineNumber===N.selection.startLineNumber?d.selection.startColumn-N.selection.startColumn:d.selection.startLineNumber-N.selection.startLineNumber);for(let d=0;d<n.length-1;d++){const N=n[d],A=n[d+1],X=N.selection,Le=A.selection;if(!this.context.cursorConfig.multiCursorMergeOverlapping)continue;let Re;if(Le.isEmpty()||X.isEmpty()?Re=Le.getStartPosition().isBeforeOrEqual(X.getEndPosition()):Re=Le.getStartPosition().isBefore(X.getEndPosition()),Re){const Ge=N.index<A.index?d:d+1,tt=N.index<A.index?d+1:d,dt=n[tt].index,Ot=n[Ge].index,It=n[tt].selection,Kt=n[Ge].selection;if(!It.equalsSelection(Kt)){const qt=It.plusRange(Kt),di=It.selectionStartLineNumber===It.startLineNumber&&It.selectionStartColumn===It.startColumn,pi=Kt.selectionStartLineNumber===Kt.startLineNumber&&Kt.selectionStartColumn===Kt.startColumn;let Li;dt===this.lastAddedCursorIndex?(Li=di,this.lastAddedCursorIndex=Ot):Li=pi;let bi;Li?bi=new C.Y(qt.startLineNumber,qt.startColumn,qt.endLineNumber,qt.endColumn):bi=new C.Y(qt.endLineNumber,qt.endColumn,qt.startLineNumber,qt.startColumn),n[Ge].selection=bi;const Ki=Pe.Vi.fromModelSelection(bi);e[Ot].setState(this.context,Ki.modelState,Ki.viewState)}for(const qt of n)qt.index>dt&&qt.index--;e.splice(dt,1),n.splice(tt,1),this._removeSecondaryCursor(dt-1),d--}}}}var is=i(75805),Tn=i(74502),at=i(64685);class u{constructor(){this.type=0}}class x{constructor(){this.type=1}}class U{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}}class be{constructor(e,n){this.type=3,this.selections=e,this.modelSelections=n}}class Me{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0)}}class Ue{constructor(){this.type=5}}class _t{constructor(e){this.type=6,this.isFocused=e}}class yt{constructor(){this.type=7}}class kt{constructor(){this.type=8}}class At{constructor(e,n){this.type=9,this.fromLineNumber=e,this.toLineNumber=n}}class zt{constructor(e,n){this.type=10,this.fromLineNumber=e,this.toLineNumber=n}}class Qt{constructor(e,n){this.type=11,this.fromLineNumber=e,this.toLineNumber=n}}class si{constructor(e,n,d,N,A,X){this.type=12,this.source=e,this.range=n,this.selections=d,this.verticalType=N,this.revealHorizontal=A,this.scrollType=X}}class ci{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}}class wi{constructor(){this.type=14}}class yi{constructor(e){this.type=15,this.ranges=e}}class Ii{constructor(){this.type=16}}class Ui{constructor(){this.type=17}}class Ji extends p.JT{constructor(){super(),this._onEvent=this._register(new E.Q5),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let n=0,d=this._outgoingEvents.length;n<d;n++)if(this._outgoingEvents[n].kind===e.kind){this._outgoingEvents[n]=this._outgoingEvents[n].merge(e);return}this._outgoingEvents.push(e)}_emitOutgoingEvents(){for(;this._outgoingEvents.length>0;){if(this._collector||this._isConsumingViewEventQueue)return;const e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let n=0,d=this._eventHandlers.length;n<d;n++)this._eventHandlers[n]===e&&console.warn("Detected duplicate listener in ViewEventDispatcher",e);this._eventHandlers.push(e)}removeViewEventHandler(e){for(let n=0;n<this._eventHandlers.length;n++)if(this._eventHandlers[n]===e){this._eventHandlers.splice(n,1);break}}beginEmitViewEvents(){return this._collectorCnt++,this._collectorCnt===1&&(this._collector=new Vi),this._collector}endEmitViewEvents(){if(this._collectorCnt--,this._collectorCnt===0){const e=this._collector.outgoingEvents,n=this._collector.viewEvents;this._collector=null;for(const d of e)this._addOutgoingEvent(d);n.length>0&&this._emitMany(n)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(e):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const e=this._viewEventQueue;this._viewEventQueue=null;const n=this._eventHandlers.slice(0);for(const d of n)d.handleEvents(e)}}}class Vi{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}}class an{constructor(e,n,d,N){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=n,this.contentWidth=d,this.contentHeight=N,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}merge(e){return e.kind!==0?this:new an(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}}class Nn{constructor(e,n){this.kind=1,this.oldHasFocus=e,this.hasFocus=n}isNoOp(){return this.oldHasFocus===this.hasFocus}merge(e){return e.kind!==1?this:new Nn(this.oldHasFocus,e.hasFocus)}}class Cn{constructor(e,n,d,N,A,X,Le,Re){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=n,this._oldScrollHeight=d,this._oldScrollTop=N,this.scrollWidth=A,this.scrollLeft=X,this.scrollHeight=Le,this.scrollTop=Re,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}merge(e){return e.kind!==2?this:new Cn(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}}class Sn{constructor(){this.kind=3}isNoOp(){return!1}merge(e){return this}}class xn{constructor(){this.kind=4}isNoOp(){return!1}merge(e){return this}}class as{constructor(e,n,d,N,A,X,Le){this.kind=6,this.oldSelections=e,this.selections=n,this.oldModelVersionId=d,this.modelVersionId=N,this.source=A,this.reason=X,this.reachedMaxCursorCount=Le}static _selectionsAreEqual(e,n){if(!e&&!n)return!0;if(!e||!n)return!1;const d=e.length,N=n.length;if(d!==N)return!1;for(let A=0;A<d;A++)if(!e[A].equalsSelection(n[A]))return!1;return!0}isNoOp(){return as._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}merge(e){return e.kind!==6?this:new as(this.oldSelections,e.selections,this.oldModelVersionId,e.modelVersionId,e.source,e.reason,this.reachedMaxCursorCount||e.reachedMaxCursorCount)}}class bs{constructor(){this.kind=5}isNoOp(){return!1}merge(e){return this}}class fs{constructor(e,n){this.modelVersionId=e.getVersionId(),this.cursorState=n.getCursorStates()}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let n=0,d=this.cursorState.length;n<d;n++)if(!this.cursorState[n].equals(e.cursorState[n]))return!1;return!0}}class Ts{constructor(e,n,d){this._model=e,this._autoClosedCharactersDecorations=n,this._autoClosedEnclosingDecorations=d}static getAllAutoClosedCharacters(e){let n=[];for(const d of e)n=n.concat(d.getAutoClosedCharactersRanges());return n}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){let e=[];for(let n=0;n<this._autoClosedCharactersDecorations.length;n++){const d=this._model.getDecorationRange(this._autoClosedCharactersDecorations[n]);d&&e.push(d)}return e}isValid(e){let n=[];for(let d=0;d<this._autoClosedEnclosingDecorations.length;d++){const N=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[d]);if(N&&(n.push(N),N.startLineNumber!==N.endLineNumber))return!1}n.sort(he.e.compareRangesUsingStarts),e.sort(he.e.compareRangesUsingStarts);for(let d=0;d<e.length;d++)if(d>=n.length||!n[d].strictContainsRange(e[d]))return!1;return!0}}class Is extends p.JT{constructor(e,n,d,N){super(),this._model=e,this._knownModelVersionId=this._model.getVersionId(),this._viewModel=n,this._coordinatesConverter=d,this.context=new Pe.zp(this._model,this._viewModel,this._coordinatesConverter,N),this._cursors=new vn(this.context),this._hasFocus=!1,this._isHandling=!1,this._isDoingComposition=!1,this._selectionsWhenCompositionStarted=null,this._columnSelectData=null,this._autoClosedActions=[],this._prevEditOperationType=0}dispose(){this._cursors.dispose(),this._autoClosedActions=(0,p.B9)(this._autoClosedActions),super.dispose()}updateConfiguration(e){this.context=new Pe.zp(this._model,this._viewModel,this._coordinatesConverter,e),this._cursors.updateContext(this.context)}onLineMappingChanged(e){this._knownModelVersionId===this._model.getVersionId()&&this.setStates(e,"viewModel",0,this.getCursorStates())}setHasFocus(e){this._hasFocus=e}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){let e=this._cursors.getSelections();for(let n=0;n<this._autoClosedActions.length;n++){const d=this._autoClosedActions[n];d.isValid(e)||(d.dispose(),this._autoClosedActions.splice(n,1),n--)}}}getPrimaryCursorState(){return this._cursors.getPrimaryCursor()}getLastAddedCursorIndex(){return this._cursors.getLastAddedCursorIndex()}getCursorStates(){return this._cursors.getAll()}setStates(e,n,d,N){let A=!1;N!==null&&N.length>Is.MAX_CURSOR_COUNT&&(N=N.slice(0,Is.MAX_CURSOR_COUNT),A=!0);const X=new fs(this._model,this);return this._cursors.setStates(N),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,n,d,X,A)}setCursorColumnSelectData(e){this._columnSelectData=e}revealPrimary(e,n,d,N){const A=this._cursors.getViewPositions();if(A.length>1){this._emitCursorRevealRange(e,n,null,this._cursors.getViewSelections(),0,d,N);return}else{const X=A[0],Le=new he.e(X.lineNumber,X.column,X.lineNumber,X.column);this._emitCursorRevealRange(e,n,Le,null,0,d,N)}}_revealPrimaryCursor(e,n,d,N,A){const X=this._cursors.getViewPositions();if(X.length>1)this._emitCursorRevealRange(e,n,null,this._cursors.getViewSelections(),d,N,A);else{const Le=X[0],Re=new he.e(Le.lineNumber,Le.column,Le.lineNumber,Le.column);this._emitCursorRevealRange(e,n,Re,null,d,N,A)}}_emitCursorRevealRange(e,n,d,N,A,X,Le){e.emitViewEvent(new si(n,d,N,A,X,Le))}saveState(){let e=[];const n=this._cursors.getSelections();for(let d=0,N=n.length;d<N;d++){const A=n[d];e.push({inSelectionMode:!A.isEmpty(),selectionStart:{lineNumber:A.selectionStartLineNumber,column:A.selectionStartColumn},position:{lineNumber:A.positionLineNumber,column:A.positionColumn}})}return e}restoreState(e,n){let d=[];for(let N=0,A=n.length;N<A;N++){const X=n[N];let Le=1,Re=1;X.position&&X.position.lineNumber&&(Le=X.position.lineNumber),X.position&&X.position.column&&(Re=X.position.column);let Ge=Le,tt=Re;X.selectionStart&&X.selectionStart.lineNumber&&(Ge=X.selectionStart.lineNumber),X.selectionStart&&X.selectionStart.column&&(tt=X.selectionStart.column),d.push({selectionStartLineNumber:Ge,selectionStartColumn:tt,positionLineNumber:Le,positionColumn:Re})}this.setStates(e,"restoreState",0,Pe.Vi.fromModelSelections(d)),this.revealPrimary(e,"restoreState",!0,1)}onModelContentChanged(e,n){if(n instanceof at.D8){if(this._isHandling)return;this._isHandling=!0;try{this.setStates(e,"modelChange",0,this.getCursorStates())}finally{this._isHandling=!1}}else{if(this._knownModelVersionId=n.versionId,this._isHandling)return;const d=n.containsEvent(1);if(this._prevEditOperationType=0,d)this._cursors.dispose(),this._cursors=new vn(this.context),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,"model",1,null,!1);else if(this._hasFocus&&n.resultingSelection&&n.resultingSelection.length>0){const N=Pe.Vi.fromModelSelections(n.resultingSelection);this.setStates(e,"modelChange",n.isUndoing?5:n.isRedoing?6:2,N)&&this._revealPrimaryCursor(e,"modelChange",0,!0,0)}else{const N=this._cursors.readSelectionFromMarkers();this.setStates(e,"modelChange",2,Pe.Vi.fromModelSelections(N))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const e=this._cursors.getPrimaryCursor(),n=e.viewState.selectionStart.getStartPosition(),d=e.viewState.position;return{isReal:!1,fromViewLineNumber:n.lineNumber,fromViewVisualColumn:Pe.io.visibleColumnFromColumn2(this.context.cursorConfig,this._viewModel,n),toViewLineNumber:d.lineNumber,toViewVisualColumn:Pe.io.visibleColumnFromColumn2(this.context.cursorConfig,this._viewModel,d)}}getSelections(){return this._cursors.getSelections()}setSelections(e,n,d,N){this.setStates(e,n,N,Pe.Vi.fromModelSelections(d))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,n){let d=[],N=[];for(let Le=0,Re=e.length;Le<Re;Le++)d.push({range:e[Le],options:{description:"auto-closed-character",inlineClassName:"auto-closed-character",stickiness:1}}),N.push({range:n[Le],options:{description:"auto-closed-enclosing",stickiness:1}});const A=this._model.deltaDecorations([],d),X=this._model.deltaDecorations([],N);this._autoClosedActions.push(new Ts(this._model,A,X))}_executeEditOperation(e){if(!e)return;e.shouldPushStackElementBefore&&this._model.pushStackElement();const n=Os.executeCommands(this._model,this._cursors.getSelections(),e.commands);if(n){this._interpretCommandResult(n);let d=[],N=[];for(let A=0;A<e.commands.length;A++){const X=e.commands[A];X instanceof Tn.g&&X.enclosingRange&&X.closeCharacterRange&&(d.push(X.closeCharacterRange),N.push(X.enclosingRange))}d.length>0&&this._pushAutoClosedAction(d,N),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){(!e||e.length===0)&&(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,n,d,N,A){const X=new fs(this._model,this);if(X.equals(N))return!1;const Le=this._cursors.getSelections(),Re=this._cursors.getViewSelections();if(e.emitViewEvent(new be(Re,Le)),!N||N.cursorState.length!==X.cursorState.length||X.cursorState.some((Ge,tt)=>!Ge.modelState.equals(N.cursorState[tt].modelState))){const Ge=N?N.cursorState.map(dt=>dt.modelState.selection):null,tt=N?N.modelVersionId:0;e.emitOutgoingEvent(new as(Ge,Le,tt,X.modelVersionId,n||"keyboard",d,A))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;let n=[];for(let d=0,N=e.length;d<N;d++){const A=e[d];if(!A.text||A.text.indexOf(`
`)>=0)return null;const X=A.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!X)return null;const Le=X[1],Re=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(Le);if(!Re||Re.length!==1)return null;const Ge=Re[0].open,tt=A.text.length-X[2].length-1,dt=A.text.lastIndexOf(Ge,tt-1);if(dt===-1)return null;n.push([dt,tt])}return n}executeEdits(e,n,d,N){let A=null;n==="snippet"&&(A=this._findAutoClosingPairs(d)),A&&(d[0]._isTracked=!0);let X=[],Le=[];const Re=this._model.pushEditOperations(this.getSelections(),d,Ge=>{if(A)for(let dt=0,Ot=A.length;dt<Ot;dt++){const[It,Kt]=A[dt],qt=Ge[dt],di=qt.range.startLineNumber,pi=qt.range.startColumn-1+It,Li=qt.range.startColumn-1+Kt;X.push(new he.e(di,Li+1,di,Li+2)),Le.push(new he.e(di,pi+1,di,Li+2))}const tt=N(Ge);return tt&&(this._isHandling=!0),tt});Re&&(this._isHandling=!1,this.setSelections(e,n,Re,0)),X.length>0&&this._pushAutoClosedAction(X,Le)}_executeEdit(e,n,d,N=0){if(this.context.cursorConfig.readOnly)return;const A=new fs(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(X){(0,y.dL)(X)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(n,d,N,A,!1)&&this._revealPrimaryCursor(n,d,0,!0,0)}setIsDoingComposition(e){this._isDoingComposition=e}getAutoClosedCharacters(){return Ts.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._selectionsWhenCompositionStarted=this.getSelections().slice(0)}endComposition(e,n){this._executeEdit(()=>{n==="keyboard"&&(this._executeEditOperation(Tn.u.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this._selectionsWhenCompositionStarted,this.getSelections(),this.getAutoClosedCharacters())),this._selectionsWhenCompositionStarted=null)},e,n)}type(e,n,d){this._executeEdit(()=>{if(d==="keyboard"){const N=n.length;let A=0;for(;A<N;){const X=Qe.vH(n,A),Le=n.substr(A,X);this._executeEditOperation(Tn.u.typeWithInterceptors(this._isDoingComposition,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),Le)),A+=X}}else this._executeEditOperation(Tn.u.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),n))},e,d)}compositionType(e,n,d,N,A,X){if(n.length===0&&d===0&&N===0){if(A!==0){const Le=this.getSelections().map(Re=>{const Ge=Re.getPosition();return new C.Y(Ge.lineNumber,Ge.column+A,Ge.lineNumber,Ge.column+A)});this.setSelections(e,X,Le,0)}return}this._executeEdit(()=>{this._executeEditOperation(Tn.u.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),n,d,N,A))},e,X)}paste(e,n,d,N,A){this._executeEdit(()=>{this._executeEditOperation(Tn.u.paste(this.context.cursorConfig,this._model,this.getSelections(),n,d,N||[]))},e,A,4)}cut(e,n){this._executeEdit(()=>{this._executeEditOperation(is.A.cut(this.context.cursorConfig,this._model,this.getSelections()))},e,n)}executeCommand(e,n,d){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new Pe.Tp(0,[n],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,d)}executeCommands(e,n,d){this._executeEdit(()=>{this._executeEditOperation(new Pe.Tp(0,n,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,d)}}Is.MAX_CURSOR_COUNT=1e4;class Os{static executeCommands(e,n,d){const N={model:e,selectionsBefore:n,trackedRanges:[],trackedRangesDirection:[]},A=this._innerExecuteCommands(N,d);for(let X=0,Le=N.trackedRanges.length;X<Le;X++)N.model._setTrackedRange(N.trackedRanges[X],null,0);return A}static _innerExecuteCommands(e,n){if(this._arrayIsEmpty(n))return null;const d=this._getEditOperations(e,n);if(d.operations.length===0)return null;const N=d.operations,A=this._getLoserCursorMap(N);if(A.hasOwnProperty("0"))return console.warn("Ignoring commands"),null;let X=[];for(let Ge=0,tt=N.length;Ge<tt;Ge++)A.hasOwnProperty(N[Ge].identifier.major.toString())||X.push(N[Ge]);d.hadTrackedEditOperation&&X.length>0&&(X[0]._isTracked=!0);let Le=e.model.pushEditOperations(e.selectionsBefore,X,Ge=>{let tt=[];for(let It=0;It<e.selectionsBefore.length;It++)tt[It]=[];for(const It of Ge)It.identifier&&tt[It.identifier.major].push(It);const dt=(It,Kt)=>It.identifier.minor-Kt.identifier.minor;let Ot=[];for(let It=0;It<e.selectionsBefore.length;It++)tt[It].length>0?(tt[It].sort(dt),Ot[It]=n[It].computeCursorState(e.model,{getInverseEditOperations:()=>tt[It],getTrackedSelection:Kt=>{const qt=parseInt(Kt,10),di=e.model._getTrackedRange(e.trackedRanges[qt]);return e.trackedRangesDirection[qt]===0?new C.Y(di.startLineNumber,di.startColumn,di.endLineNumber,di.endColumn):new C.Y(di.endLineNumber,di.endColumn,di.startLineNumber,di.startColumn)}})):Ot[It]=e.selectionsBefore[It];return Ot});Le||(Le=e.selectionsBefore);let Re=[];for(let Ge in A)A.hasOwnProperty(Ge)&&Re.push(parseInt(Ge,10));Re.sort((Ge,tt)=>tt-Ge);for(const Ge of Re)Le.splice(Ge,1);return Le}static _arrayIsEmpty(e){for(let n=0,d=e.length;n<d;n++)if(e[n])return!1;return!0}static _getEditOperations(e,n){let d=[],N=!1;for(let A=0,X=n.length;A<X;A++){const Le=n[A];if(Le){const Re=this._getEditOperationsFromCommand(e,A,Le);d=d.concat(Re.operations),N=N||Re.hadTrackedEditOperation}}return{operations:d,hadTrackedEditOperation:N}}static _getEditOperationsFromCommand(e,n,d){let N=[],A=0;const X=(dt,Ot,It=!1)=>{he.e.isEmpty(dt)&&Ot===""||N.push({identifier:{major:n,minor:A++},range:dt,text:Ot,forceMoveMarkers:It,isAutoWhitespaceEdit:d.insertsAutoWhitespace})};let Le=!1;const tt={addEditOperation:X,addTrackedEditOperation:(dt,Ot,It)=>{Le=!0,X(dt,Ot,It)},trackSelection:(dt,Ot)=>{const It=C.Y.liftSelection(dt);let Kt;if(It.isEmpty())if(typeof Ot=="boolean")Ot?Kt=2:Kt=3;else{const pi=e.model.getLineMaxColumn(It.startLineNumber);It.startColumn===pi?Kt=2:Kt=3}else Kt=1;const qt=e.trackedRanges.length,di=e.model._setTrackedRange(null,It,Kt);return e.trackedRanges[qt]=di,e.trackedRangesDirection[qt]=It.getDirection(),qt.toString()}};try{d.getEditOperations(e.model,tt)}catch(dt){return(0,y.dL)(dt),{operations:[],hadTrackedEditOperation:!1}}return{operations:N,hadTrackedEditOperation:Le}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((d,N)=>-he.e.compareRangesUsingEnds(d.range,N.range));let n={};for(let d=1;d<e.length;d++){const N=e[d-1],A=e[d];if(he.e.getStartPosition(N.range).isBefore(he.e.getEndPosition(A.range))){let X;N.identifier.major>A.identifier.major?X=N.identifier.major:X=A.identifier.major,n[X.toString()]=!0;for(let Le=0;Le<e.length;Le++)e[Le].identifier.major===X&&(e.splice(Le,1),Le<d&&d--,Le--);d>0&&d--}}return n}}var Gs=i(78385),io=i(91676),Fn=i(68987),xr=i(5972),po=i(28962);class _o{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}mustCommit(){return this._hasPending}commit(e){if(!this._hasPending)return;const n=this._inserts,d=this._changes,N=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(n,d,N)}}class Mr{constructor(e,n,d,N,A){this.id=e,this.afterLineNumber=n,this.ordinal=d,this.height=N,this.minWidth=A,this.prefixSum=0}}class no{constructor(e,n,d,N){this._instanceId=Qe.PJ(++no.INSTANCE_COUNT),this._pendingChanges=new _o,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=e,this._lineHeight=n,this._paddingTop=d,this._paddingBottom=N}static findInsertionIndex(e,n,d){let N=0,A=e.length;for(;N<A;){const X=N+A>>>1;n===e[X].afterLineNumber?d<e[X].ordinal?A=X:N=X+1:n<e[X].afterLineNumber?A=X:N=X+1}return N}setLineHeight(e){this._checkPendingChanges(),this._lineHeight=e}setPadding(e,n){this._paddingTop=e,this._paddingBottom=n}onFlushed(e){this._checkPendingChanges(),this._lineCount=e}changeWhitespace(e){let n=!1;try{e({insertWhitespace:(N,A,X,Le)=>{n=!0,N=N|0,A=A|0,X=X|0,Le=Le|0;const Re=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new Mr(Re,N,A,X,Le)),Re},changeOneWhitespace:(N,A,X)=>{n=!0,A=A|0,X=X|0,this._pendingChanges.change({id:N,newAfterLineNumber:A,newHeight:X})},removeWhitespace:N=>{n=!0,this._pendingChanges.remove({id:N})}})}finally{this._pendingChanges.commit(this)}return n}_commitPendingChanges(e,n,d){if((e.length>0||d.length>0)&&(this._minWidth=-1),e.length+n.length+d.length<=1){for(const Re of e)this._insertWhitespace(Re);for(const Re of n)this._changeOneWhitespace(Re.id,Re.newAfterLineNumber,Re.newHeight);for(const Re of d){const Ge=this._findWhitespaceIndex(Re.id);Ge!==-1&&this._removeWhitespace(Ge)}return}const N=new Set;for(const Re of d)N.add(Re.id);const A=new Map;for(const Re of n)A.set(Re.id,Re);const X=Re=>{let Ge=[];for(const tt of Re)if(!N.has(tt.id)){if(A.has(tt.id)){const dt=A.get(tt.id);tt.afterLineNumber=dt.newAfterLineNumber,tt.height=dt.newHeight}Ge.push(tt)}return Ge},Le=X(this._arr).concat(X(e));Le.sort((Re,Ge)=>Re.afterLineNumber===Ge.afterLineNumber?Re.ordinal-Ge.ordinal:Re.afterLineNumber-Ge.afterLineNumber),this._arr=Le,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(e){const n=no.findInsertionIndex(this._arr,e.afterLineNumber,e.ordinal);this._arr.splice(n,0,e),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,n-1)}_findWhitespaceIndex(e){const n=this._arr;for(let d=0,N=n.length;d<N;d++)if(n[d].id===e)return d;return-1}_changeOneWhitespace(e,n,d){const N=this._findWhitespaceIndex(e);if(N!==-1&&(this._arr[N].height!==d&&(this._arr[N].height=d,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,N-1)),this._arr[N].afterLineNumber!==n)){const A=this._arr[N];this._removeWhitespace(N),A.afterLineNumber=n,this._insertWhitespace(A)}}_removeWhitespace(e){this._arr.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1)}onLinesDeleted(e,n){this._checkPendingChanges(),e=e|0,n=n|0,this._lineCount-=n-e+1;for(let d=0,N=this._arr.length;d<N;d++){const A=this._arr[d].afterLineNumber;e<=A&&A<=n?this._arr[d].afterLineNumber=e-1:A>n&&(this._arr[d].afterLineNumber-=n-e+1)}}onLinesInserted(e,n){this._checkPendingChanges(),e=e|0,n=n|0,this._lineCount+=n-e+1;for(let d=0,N=this._arr.length;d<N;d++){const A=this._arr[d].afterLineNumber;e<=A&&(this._arr[d].afterLineNumber+=n-e+1)}}getWhitespacesTotalHeight(){return this._checkPendingChanges(),this._arr.length===0?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(e){this._checkPendingChanges(),e=e|0;let n=Math.max(0,this._prefixSumValidIndex+1);n===0&&(this._arr[0].prefixSum=this._arr[0].height,n++);for(let d=n;d<=e;d++)this._arr[d].prefixSum=this._arr[d-1].prefixSum+this._arr[d].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._arr[e].prefixSum}getLinesTotalHeight(){this._checkPendingChanges();const e=this._lineHeight*this._lineCount,n=this.getWhitespacesTotalHeight();return e+n+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(e){this._checkPendingChanges(),e=e|0;const n=this._findLastWhitespaceBeforeLineNumber(e);return n===-1?0:this.getWhitespacesAccumulatedHeight(n)}_findLastWhitespaceBeforeLineNumber(e){e=e|0;const n=this._arr;let d=0,N=n.length-1;for(;d<=N;){const X=(N-d|0)/2|0,Le=d+X|0;if(n[Le].afterLineNumber<e){if(Le+1>=n.length||n[Le+1].afterLineNumber>=e)return Le;d=Le+1|0}else N=Le-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e=e|0;const d=this._findLastWhitespaceBeforeLineNumber(e)+1;return d<this._arr.length?d:-1}getFirstWhitespaceIndexAfterLineNumber(e){return this._checkPendingChanges(),e=e|0,this._findFirstWhitespaceAfterLineNumber(e)}getVerticalOffsetForLineNumber(e){this._checkPendingChanges(),e=e|0;let n;e>1?n=this._lineHeight*(e-1):n=0;const d=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e);return n+d+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),this._minWidth===-1){let e=0;for(let n=0,d=this._arr.length;n<d;n++)e=Math.max(e,this._arr[n].minWidth);this._minWidth=e}return this._minWidth}isAfterLines(e){this._checkPendingChanges();const n=this.getLinesTotalHeight();return e>n}isInTopPadding(e){return this._paddingTop===0?!1:(this._checkPendingChanges(),e<this._paddingTop)}isInBottomPadding(e){if(this._paddingBottom===0)return!1;this._checkPendingChanges();const n=this.getLinesTotalHeight();return e>=n-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),e=e|0,e<0)return 1;const n=this._lineCount|0,d=this._lineHeight;let N=1,A=n;for(;N<A;){const X=(N+A)/2|0,Le=this.getVerticalOffsetForLineNumber(X)|0;if(e>=Le+d)N=X+1;else{if(e>=Le)return X;A=X}}return N>n?n:N}getLinesViewportData(e,n){this._checkPendingChanges(),e=e|0,n=n|0;const d=this._lineHeight,N=this.getLineNumberAtOrAfterVerticalOffset(e)|0,A=this.getVerticalOffsetForLineNumber(N)|0;let X=this._lineCount|0,Le=this.getFirstWhitespaceIndexAfterLineNumber(N)|0;const Re=this.getWhitespacesCount()|0;let Ge,tt;Le===-1?(Le=Re,tt=X+1,Ge=0):(tt=this.getAfterLineNumberForWhitespaceIndex(Le)|0,Ge=this.getHeightForWhitespaceIndex(Le)|0);let dt=A,Ot=dt;const It=5e5;let Kt=0;A>=It&&(Kt=Math.floor(A/It)*It,Kt=Math.floor(Kt/d)*d,Ot-=Kt);const qt=[],di=e+(n-e)/2;let pi=-1;for(let Wi=N;Wi<=X;Wi++){if(pi===-1){const Zi=dt,ji=dt+d;(Zi<=di&&di<ji||Zi>di)&&(pi=Wi)}for(dt+=d,qt[Wi-N]=Ot,Ot+=d;tt===Wi;)Ot+=Ge,dt+=Ge,Le++,Le>=Re?tt=X+1:(tt=this.getAfterLineNumberForWhitespaceIndex(Le)|0,Ge=this.getHeightForWhitespaceIndex(Le)|0);if(dt>=n){X=Wi;break}}pi===-1&&(pi=X);const Li=this.getVerticalOffsetForLineNumber(X)|0;let bi=N,Ki=X;return bi<Ki&&A<e&&bi++,bi<Ki&&Li+d>n&&Ki--,{bigNumbersDelta:Kt,startLineNumber:N,endLineNumber:X,relativeVerticalOffset:qt,centeredLineNumber:pi,completelyVisibleStartLineNumber:bi,completelyVisibleEndLineNumber:Ki}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e=e|0;const n=this.getAfterLineNumberForWhitespaceIndex(e);let d;n>=1?d=this._lineHeight*n:d=0;let N;return e>0?N=this.getWhitespacesAccumulatedHeight(e-1):N=0,d+N+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e=e|0;let n=0,d=this.getWhitespacesCount()-1;if(d<0)return-1;const N=this.getVerticalOffsetForWhitespaceIndex(d),A=this.getHeightForWhitespaceIndex(d);if(e>=N+A)return-1;for(;n<d;){const X=Math.floor((n+d)/2),Le=this.getVerticalOffsetForWhitespaceIndex(X),Re=this.getHeightForWhitespaceIndex(X);if(e>=Le+Re)n=X+1;else{if(e>=Le)return X;d=X}}return n}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e=e|0;const n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(n<0||n>=this.getWhitespacesCount())return null;const d=this.getVerticalOffsetForWhitespaceIndex(n);if(d>e)return null;const N=this.getHeightForWhitespaceIndex(n),A=this.getIdForWhitespaceIndex(n),X=this.getAfterLineNumberForWhitespaceIndex(n);return{id:A,afterLineNumber:X,verticalOffset:d,height:N}}getWhitespaceViewportData(e,n){this._checkPendingChanges(),e=e|0,n=n|0;const d=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),N=this.getWhitespacesCount()-1;if(d<0)return[];let A=[];for(let X=d;X<=N;X++){const Le=this.getVerticalOffsetForWhitespaceIndex(X),Re=this.getHeightForWhitespaceIndex(X);if(Le>=n)break;A.push({id:this.getIdForWhitespaceIndex(X),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(X),verticalOffset:Le,height:Re})}return A}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].height}}no.INSTANCE_COUNT=0;const Tr=125;class so{constructor(e,n,d,N){e=e|0,n=n|0,d=d|0,N=N|0,e<0&&(e=0),n<0&&(n=0),d<0&&(d=0),N<0&&(N=0),this.width=e,this.contentWidth=n,this.scrollWidth=Math.max(e,n),this.height=d,this.contentHeight=N,this.scrollHeight=Math.max(d,N)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}}class Rr extends p.JT{constructor(e,n){super(),this._onDidContentSizeChange=this._register(new E.Q5),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new so(0,0,0,0),this._scrollable=this._register(new po.Rm(e,n)),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;const n=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);const d=n.contentWidth!==e.contentWidth,N=n.contentHeight!==e.contentHeight;(d||N)&&this._onDidContentSizeChange.fire(new an(n.contentWidth,n.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}}class Ar extends p.JT{constructor(e,n,d){super(),this._configuration=e;const N=this._configuration.options,A=N.get(129),X=N.get(74);this._linesLayout=new no(n,N.get(58),X.top,X.bottom),this._scrollable=this._register(new Rr(0,d)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new so(A.contentWidth,0,A.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(102)?Tr:0)}onConfigurationChanged(e){const n=this._configuration.options;if(e.hasChanged(58)&&this._linesLayout.setLineHeight(n.get(58)),e.hasChanged(74)){const d=n.get(74);this._linesLayout.setPadding(d.top,d.bottom)}if(e.hasChanged(129)){const d=n.get(129),N=d.contentWidth,A=d.height,X=this._scrollable.getScrollDimensions(),Le=X.contentWidth;this._scrollable.setScrollDimensions(new so(N,X.contentWidth,A,this._getContentHeight(N,A,Le)))}else this._updateHeight();e.hasChanged(102)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,n){this._linesLayout.onLinesDeleted(e,n)}onLinesInserted(e,n){this._linesLayout.onLinesInserted(e,n)}_getHorizontalScrollbarHeight(e,n){const N=this._configuration.options.get(91);return N.horizontal===2||e>=n?0:N.horizontalScrollbarSize}_getContentHeight(e,n,d){const N=this._configuration.options;let A=this._linesLayout.getLinesTotalHeight();return N.get(93)?A+=Math.max(0,n-N.get(58)-N.get(74).bottom):A+=this._getHorizontalScrollbarHeight(e,d),A}_updateHeight(){const e=this._scrollable.getScrollDimensions(),n=e.width,d=e.height,N=e.contentWidth;this._scrollable.setScrollDimensions(new so(n,e.contentWidth,d,this._getContentHeight(n,d,N)))}getCurrentViewport(){const e=this._scrollable.getScrollDimensions(),n=this._scrollable.getCurrentScrollPosition();return new pe.l_(n.scrollTop,n.scrollLeft,e.width,e.height)}getFutureViewport(){const e=this._scrollable.getScrollDimensions(),n=this._scrollable.getFutureScrollPosition();return new pe.l_(n.scrollTop,n.scrollLeft,e.width,e.height)}_computeContentWidth(e){const n=this._configuration.options,d=n.get(130),N=n.get(43);if(d.isViewportWrapping){const A=n.get(129),X=n.get(64);return e>A.contentWidth+N.typicalHalfwidthCharacterWidth&&X.enabled&&X.side==="right"?e+A.verticalScrollbarWidth:e}else{const A=n.get(92)*N.typicalHalfwidthCharacterWidth,X=this._linesLayout.getWhitespaceMinWidth();return Math.max(e+A,X)}}setMaxLineWidth(e){const n=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new so(n.width,this._computeContentWidth(e),n.height,n.contentHeight)),this._updateHeight()}saveState(){const e=this._scrollable.getFutureScrollPosition();let n=e.scrollTop,d=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(n),N=this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(d);return{scrollTop:n,scrollTopWithoutViewZones:n-N,scrollLeft:e.scrollLeft}}changeWhitespace(e){const n=this._linesLayout.changeWhitespace(e);return n&&this.onHeightMaybeChanged(),n}getVerticalOffsetForLineNumber(e){return this._linesLayout.getVerticalOffsetForLineNumber(e)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){const n=this._scrollable.getScrollDimensions();return e+n.height>n.scrollHeight&&(e=n.scrollHeight-n.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+n.height)}getWhitespaceViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,n){n===1?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}deltaScrollNow(e,n){const d=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:d.scrollLeft+e,scrollTop:d.scrollTop+n})}}var Or=i(35521),oo=i(90539);class ys{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,n){return this._lines.validateViewPosition(e.lineNumber,e.column,n)}validateViewRange(e,n){return this._lines.validateViewRange(e,n)}convertModelPositionToViewPosition(e,n){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,n)}convertModelRangeToViewRange(e,n){return this._lines.convertModelRangeToViewRange(e,n)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,n){return this._lines.getViewLineNumberOfModelPosition(e,n)}}class Rs{constructor(e){this._counts=e,this._isValid=!1,this._validEndIndex=-1,this._modelToView=[],this._viewToModel=[]}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,n=this._counts.length;e<n;e++){const d=this._counts[e],N=e>0?this._modelToView[e-1]:0;this._modelToView[e]=N+d;for(let A=0;A<d;A++)this._viewToModel[N+A]=e}this._modelToView.length=this._counts.length,this._viewToModel.length=this._modelToView[this._modelToView.length-1],this._isValid=!0,this._validEndIndex=this._counts.length-1}}changeValue(e,n){this._counts[e]!==n&&(this._counts[e]=n,this._invalidate(e))}removeValues(e,n){this._counts.splice(e,n),this._invalidate(e)}insertValues(e,n){this._counts=Ri.Zv(this._counts,e,n),this._invalidate(e)}getTotalValue(){return this._ensureValid(),this._viewToModel.length}getAccumulatedValue(e){return this._ensureValid(),this._modelToView[e]}getIndexOf(e){this._ensureValid();const n=this._viewToModel[e],d=n>0?this._modelToView[n-1]:0;return new oo.T(n,e-d)}}class ps{constructor(e,n,d,N,A,X,Le,Re,Ge){this._editorId=e,this.model=n,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=d,this._monospaceLineBreaksComputerFactory=N,this.fontInfo=A,this.tabSize=X,this.wrappingStrategy=Le,this.wrappingColumn=Re,this.wrappingIndent=Ge,this._constructLines(!0,null)}dispose(){this.hiddenAreasIds=this.model.deltaDecorations(this.hiddenAreasIds,[])}createCoordinatesConverter(){return new ys(this)}_constructLines(e,n){this.lines=[],e&&(this.hiddenAreasIds=[]);const d=this.model.getLinesContent(),N=this.model.getInjectedTextDecorations(this._editorId),A=d.length,X=this.createLineBreaksComputer(),Le=new Ri.H9(at.gk.fromDecorations(N));for(let qt=0;qt<A;qt++){const di=Le.takeWhile(pi=>pi.lineNumber===qt+1);X.addRequest(d[qt],di,n?n[qt]:null)}const Re=X.finalize();let Ge=[],tt=this.hiddenAreasIds.map(qt=>this.model.getDecorationRange(qt)).sort(he.e.compareRangesUsingStarts),dt=1,Ot=0,It=-1,Kt=It+1<tt.length?Ot+1:A+2;for(let qt=0;qt<A;qt++){let di=qt+1;di===Kt&&(It++,dt=tt[It].startLineNumber,Ot=tt[It].endLineNumber,Kt=It+1<tt.length?Ot+1:A+2);let pi=di>=dt&&di<=Ot,Li=To(Re[qt],!pi);Ge[qt]=Li.getViewLineCount(),this.lines[qt]=Li}this._validModelVersionId=this.model.getVersionId(),this.prefixSumComputer=new Rs(Ge)}getHiddenAreas(){return this.hiddenAreasIds.map(e=>this.model.getDecorationRange(e))}_reduceRanges(e){if(e.length===0)return[];let n=e.map(X=>this.model.validateRange(X)).sort(he.e.compareRangesUsingStarts),d=[],N=n[0].startLineNumber,A=n[0].endLineNumber;for(let X=1,Le=n.length;X<Le;X++){let Re=n[X];Re.startLineNumber>A+1?(d.push(new he.e(N,1,A,1)),N=Re.startLineNumber,A=Re.endLineNumber):Re.endLineNumber>A&&(A=Re.endLineNumber)}return d.push(new he.e(N,1,A,1)),d}setHiddenAreas(e){let n=this._reduceRanges(e),d=this.hiddenAreasIds.map(dt=>this.model.getDecorationRange(dt)).sort(he.e.compareRangesUsingStarts);if(n.length===d.length){let dt=!1;for(let Ot=0;Ot<n.length;Ot++)if(!n[Ot].equalsRange(d[Ot])){dt=!0;break}if(!dt)return!1}let N=[];for(const dt of n)N.push({range:dt,options:$n.qx.EMPTY});this.hiddenAreasIds=this.model.deltaDecorations(this.hiddenAreasIds,N);let A=n,X=1,Le=0,Re=-1,Ge=Re+1<A.length?Le+1:this.lines.length+2,tt=!1;for(let dt=0;dt<this.lines.length;dt++){let Ot=dt+1;Ot===Ge&&(Re++,X=A[Re].startLineNumber,Le=A[Re].endLineNumber,Ge=Re+1<A.length?Le+1:this.lines.length+2);let It=!1;if(Ot>=X&&Ot<=Le?this.lines[dt].isVisible()&&(this.lines[dt]=this.lines[dt].setVisible(!1),It=!0):(tt=!0,this.lines[dt].isVisible()||(this.lines[dt]=this.lines[dt].setVisible(!0),It=!0)),It){let Kt=this.lines[dt].getViewLineCount();this.prefixSumComputer.changeValue(dt,Kt)}}return tt||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,n){return e<1||e>this.lines.length?!1:this.lines[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.lines.length?1:this.lines[e-1].getViewLineCount()}setTabSize(e){return this.tabSize===e?!1:(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,n,d,N){const A=this.fontInfo.equals(e),X=this.wrappingStrategy===n,Le=this.wrappingColumn===d,Re=this.wrappingIndent===N;if(A&&X&&Le&&Re)return!1;const Ge=A&&X&&!Le&&Re;this.fontInfo=e,this.wrappingStrategy=n,this.wrappingColumn=d,this.wrappingIndent=N;let tt=null;if(Ge){tt=[];for(let dt=0,Ot=this.lines.length;dt<Ot;dt++)tt[dt]=this.lines[dt].getLineBreakData()}return this._constructLines(!1,tt),!0}createLineBreaksComputer(){return(this.wrappingStrategy==="advanced"?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory).createLineBreaksComputer(this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(e,n,d){if(!e||e<=this._validModelVersionId)return null;let N=n===1?1:this.prefixSumComputer.getAccumulatedValue(n-2)+1,A=this.prefixSumComputer.getAccumulatedValue(d-1);return this.lines.splice(n-1,d-n+1),this.prefixSumComputer.removeValues(n-1,d-n+1),new zt(N,A)}onModelLinesInserted(e,n,d,N){if(!e||e<=this._validModelVersionId)return null;const A=n>2&&!this.lines[n-2].isVisible();let X=n===1?1:this.prefixSumComputer.getAccumulatedValue(n-2)+1,Le=0,Re=[],Ge=[];for(let tt=0,dt=N.length;tt<dt;tt++){let Ot=To(N[tt],!A);Re.push(Ot);let It=Ot.getViewLineCount();Le+=It,Ge[tt]=It}return this.lines=this.lines.slice(0,n-1).concat(Re).concat(this.lines.slice(n-1)),this.prefixSumComputer.insertValues(n-1,Ge),new Qt(X,X+Le-1)}onModelLineChanged(e,n,d){if(e!==null&&e<=this._validModelVersionId)return[!1,null,null,null];let N=n-1,A=this.lines[N].getViewLineCount(),X=this.lines[N].isVisible(),Le=To(d,X);this.lines[N]=Le;let Re=this.lines[N].getViewLineCount(),Ge=!1,tt=0,dt=-1,Ot=0,It=-1,Kt=0,qt=-1;A>Re?(tt=n===1?1:this.prefixSumComputer.getAccumulatedValue(n-2)+1,dt=tt+Re-1,Kt=dt+1,qt=Kt+(A-Re)-1,Ge=!0):A<Re?(tt=n===1?1:this.prefixSumComputer.getAccumulatedValue(n-2)+1,dt=tt+A-1,Ot=dt+1,It=Ot+(Re-A)-1,Ge=!0):(tt=n===1?1:this.prefixSumComputer.getAccumulatedValue(n-2)+1,dt=tt+Re-1),this.prefixSumComputer.changeValue(N,Re);const di=tt<=dt?new At(tt,dt):null,pi=Ot<=It?new Qt(Ot,It):null,Li=Kt<=qt?new zt(Kt,qt):null;return[Ge,di,pi,Li]}acceptVersionId(e){this._validModelVersionId=e,this.lines.length===1&&!this.lines[0].isVisible()&&this.setHiddenAreas([])}getViewLineCount(){return this.prefixSumComputer.getTotalValue()}_toValidViewLineNumber(e){if(e<1)return 1;const n=this.getViewLineCount();return e>n?n:e|0}getActiveIndentGuide(e,n,d){e=this._toValidViewLineNumber(e),n=this._toValidViewLineNumber(n),d=this._toValidViewLineNumber(d);const N=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),A=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),X=this.convertViewPositionToModelPosition(d,this.getViewLineMinColumn(d)),Le=this.model.getActiveIndentGuide(N.lineNumber,A.lineNumber,X.lineNumber),Re=this.convertModelPositionToViewPosition(Le.startLineNumber,1),Ge=this.convertModelPositionToViewPosition(Le.endLineNumber,this.model.getLineMaxColumn(Le.endLineNumber));return{startLineNumber:Re.lineNumber,endLineNumber:Ge.lineNumber,indent:Le.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);let n=this.prefixSumComputer.getIndexOf(e-1),d=n.index,N=n.remainder;return new Ps(d+1,N)}getMinColumnOfViewLine(e){return this.lines[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){const n=this.lines[e.modelLineNumber-1],d=n.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),N=n.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,d);return new ee.L(e.modelLineNumber,N)}getModelEndPositionOfViewLine(e){const n=this.lines[e.modelLineNumber-1],d=n.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),N=n.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,d);return new ee.L(e.modelLineNumber,N)}getViewLineInfosGroupedByModelRanges(e,n){const d=this.getViewLineInfo(e),N=this.getViewLineInfo(n),A=new Array;let X=this.getModelStartPositionOfViewLine(d),Le=new Array;for(let Re=d.modelLineNumber;Re<=N.modelLineNumber;Re++){const Ge=this.lines[Re-1];if(Ge.isVisible()){let tt=Re===d.modelLineNumber?d.modelLineWrappedLineIdx:0,dt=Re===N.modelLineNumber?N.modelLineWrappedLineIdx+1:Ge.getViewLineCount();for(let Ot=tt;Ot<dt;Ot++)Le.push(new Ps(Re,Ot))}if(!Ge.isVisible()&&X){const tt=new ee.L(Re-1,this.model.getLineMaxColumn(Re-1)+1),dt=he.e.fromPositions(X,tt);A.push(new Cs(dt,Le)),Le=[],X=null}else Ge.isVisible()&&!X&&(X=new ee.L(Re,1))}if(X){const Re=he.e.fromPositions(X,this.getModelEndPositionOfViewLine(N));A.push(new Cs(Re,Le))}return A}getViewLinesBracketGuides(e,n,d,N){const A=d?this.convertViewPositionToModelPosition(d.lineNumber,d.column):null,X=[];for(const Le of this.getViewLineInfosGroupedByModelRanges(e,n)){const Re=Le.modelRange.startLineNumber,Ge=this.model.getLinesBracketGuides(Re,Le.modelRange.endLineNumber,A,N);for(const tt of Le.viewLines)if(tt.isWrappedLineContinuation&&this.getMinColumnOfViewLine(tt)===1)X.push([]);else{let dt=Ge[tt.modelLineNumber-Re];dt=dt.map(Ot=>Ot.horizontalLine?new ln.UO(Ot.visibleColumn,Ot.className,new ln.vW(Ot.horizontalLine.top,this.convertModelPositionToViewPosition(tt.modelLineNumber,Ot.horizontalLine.endColumn).column)):Ot),X.push(dt)}}return X}getViewLinesIndentGuides(e,n){e=this._toValidViewLineNumber(e),n=this._toValidViewLineNumber(n);const d=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),N=this.convertViewPositionToModelPosition(n,this.getViewLineMaxColumn(n));let A=[],X=[],Le=[];const Re=d.lineNumber-1,Ge=N.lineNumber-1;let tt=null;for(let Kt=Re;Kt<=Ge;Kt++){const qt=this.lines[Kt];if(qt.isVisible()){let di=qt.getViewLineNumberOfModelPosition(0,Kt===Re?d.column:1),pi=qt.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(Kt+1)),Li=pi-di+1,bi=0;Li>1&&qt.getViewLineMinColumn(this.model,Kt+1,pi)===1&&(bi=di===0?1:2),X.push(Li),Le.push(bi),tt===null&&(tt=new ee.L(Kt+1,0))}else tt!==null&&(A=A.concat(this.model.getLinesIndentGuides(tt.lineNumber,Kt)),tt=null)}tt!==null&&(A=A.concat(this.model.getLinesIndentGuides(tt.lineNumber,N.lineNumber)),tt=null);const dt=n-e+1;let Ot=new Array(dt),It=0;for(let Kt=0,qt=A.length;Kt<qt;Kt++){let di=A[Kt],pi=Math.min(dt-It,X[Kt]),Li=Le[Kt],bi;Li===2?bi=0:Li===1?bi=1:bi=pi;for(let Ki=0;Ki<pi;Ki++)Ki===bi&&(di=0),Ot[It++]=di}return Ot}getViewLineContent(e){e=this._toValidViewLineNumber(e);let n=this.prefixSumComputer.getIndexOf(e-1),d=n.index,N=n.remainder;return this.lines[d].getViewLineContent(this.model,d+1,N)}getViewLineLength(e){e=this._toValidViewLineNumber(e);let n=this.prefixSumComputer.getIndexOf(e-1),d=n.index,N=n.remainder;return this.lines[d].getViewLineLength(this.model,d+1,N)}getViewLineMinColumn(e){e=this._toValidViewLineNumber(e);let n=this.prefixSumComputer.getIndexOf(e-1),d=n.index,N=n.remainder;return this.lines[d].getViewLineMinColumn(this.model,d+1,N)}getViewLineMaxColumn(e){e=this._toValidViewLineNumber(e);let n=this.prefixSumComputer.getIndexOf(e-1),d=n.index,N=n.remainder;return this.lines[d].getViewLineMaxColumn(this.model,d+1,N)}getViewLineData(e){e=this._toValidViewLineNumber(e);let n=this.prefixSumComputer.getIndexOf(e-1),d=n.index,N=n.remainder;return this.lines[d].getViewLineData(this.model,d+1,N)}getViewLinesData(e,n,d){e=this._toValidViewLineNumber(e),n=this._toValidViewLineNumber(n);let N=this.prefixSumComputer.getIndexOf(e-1),A=e,X=N.index,Le=N.remainder,Re=[];for(let Ge=X,tt=this.model.getLineCount();Ge<tt;Ge++){let dt=this.lines[Ge];if(!dt.isVisible())continue;let Ot=Ge===X?Le:0,It=dt.getViewLineCount()-Ot,Kt=!1;A+It>n&&(Kt=!0,It=n-A+1);let qt=Ot+It;if(dt.getViewLinesData(this.model,Ge+1,Ot,qt,A-e,d,Re),A+=It,Kt)break}return Re}validateViewPosition(e,n,d){e=this._toValidViewLineNumber(e);let N=this.prefixSumComputer.getIndexOf(e-1),A=N.index,X=N.remainder,Le=this.lines[A],Re=Le.getViewLineMinColumn(this.model,A+1,X),Ge=Le.getViewLineMaxColumn(this.model,A+1,X);n<Re&&(n=Re),n>Ge&&(n=Ge);let tt=Le.getModelColumnOfViewPosition(X,n);return this.model.validatePosition(new ee.L(A+1,tt)).equals(d)?new ee.L(e,n):this.convertModelPositionToViewPosition(d.lineNumber,d.column)}validateViewRange(e,n){const d=this.validateViewPosition(e.startLineNumber,e.startColumn,n.getStartPosition()),N=this.validateViewPosition(e.endLineNumber,e.endColumn,n.getEndPosition());return new he.e(d.lineNumber,d.column,N.lineNumber,N.column)}convertViewPositionToModelPosition(e,n){e=this._toValidViewLineNumber(e);let d=this.prefixSumComputer.getIndexOf(e-1),N=d.index,A=d.remainder,X=this.lines[N].getModelColumnOfViewPosition(A,n);return this.model.validatePosition(new ee.L(N+1,X))}convertViewRangeToModelRange(e){const n=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),d=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new he.e(n.lineNumber,n.column,d.lineNumber,d.column)}convertModelPositionToViewPosition(e,n,d=2){const N=this.model.validatePosition(new ee.L(e,n)),A=N.lineNumber,X=N.column;let Le=A-1,Re=!1;for(;Le>0&&!this.lines[Le].isVisible();)Le--,Re=!0;if(Le===0&&!this.lines[Le].isVisible())return new ee.L(1,1);const Ge=1+(Le===0?0:this.prefixSumComputer.getAccumulatedValue(Le-1));let tt;return Re?tt=this.lines[Le].getViewPositionOfModelPosition(Ge,this.model.getLineMaxColumn(Le+1),d):tt=this.lines[A-1].getViewPositionOfModelPosition(Ge,X,d),tt}convertModelRangeToViewRange(e,n=0){if(e.isEmpty()){const d=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,n);return he.e.fromPositions(d)}else{const d=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),N=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new he.e(d.lineNumber,d.column,N.lineNumber,N.column)}}getViewLineNumberOfModelPosition(e,n){let d=e-1;if(this.lines[d].isVisible()){const A=1+(d===0?0:this.prefixSumComputer.getAccumulatedValue(d-1));return this.lines[d].getViewLineNumberOfModelPosition(A,n)}for(;d>0&&!this.lines[d].isVisible();)d--;if(d===0&&!this.lines[d].isVisible())return 1;const N=1+(d===0?0:this.prefixSumComputer.getAccumulatedValue(d-1));return this.lines[d].getViewLineNumberOfModelPosition(N,this.model.getLineMaxColumn(d+1))}getDecorationsInRange(e,n,d){const N=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),A=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(A.lineNumber-N.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new he.e(N.lineNumber,1,A.lineNumber,A.column),n,d);let X=[];const Le=N.lineNumber-1,Re=A.lineNumber-1;let Ge=null;for(let It=Le;It<=Re;It++)if(this.lines[It].isVisible())Ge===null&&(Ge=new ee.L(It+1,It===Le?N.column:1));else if(Ge!==null){const qt=this.model.getLineMaxColumn(It);X=X.concat(this.model.getDecorationsInRange(new he.e(Ge.lineNumber,Ge.column,It,qt),n,d)),Ge=null}Ge!==null&&(X=X.concat(this.model.getDecorationsInRange(new he.e(Ge.lineNumber,Ge.column,A.lineNumber,A.column),n,d)),Ge=null),X.sort((It,Kt)=>{const qt=he.e.compareRangesUsingStarts(It.range,Kt.range);return qt===0?It.id<Kt.id?-1:It.id>Kt.id?1:0:qt});let tt=[],dt=0,Ot=null;for(const It of X){const Kt=It.id;Ot!==Kt&&(Ot=Kt,tt[dt++]=It)}return tt}getInjectedTextAt(e){const n=this._toValidViewLineNumber(e.lineNumber),d=this.prefixSumComputer.getIndexOf(n-1),N=d.index,A=d.remainder;return this.lines[N].getInjectedTextAt(A,e.column)}normalizePosition(e,n){const d=this._toValidViewLineNumber(e.lineNumber),N=this.prefixSumComputer.getIndexOf(d-1),A=N.index,X=N.remainder;return this.lines[A].normalizePosition(this.model,A+1,X,e,n)}getLineIndentColumn(e){const n=this._toValidViewLineNumber(e),d=this.prefixSumComputer.getIndexOf(n-1),N=d.index;return d.remainder===0?this.model.getLineIndentColumn(N+1):0}}class Ps{constructor(e,n){this.modelLineNumber=e,this.modelLineWrappedLineIdx=n}get isWrappedLineContinuation(){return this.modelLineWrappedLineIdx>0}}class Cs{constructor(e,n){this.modelRange=e,this.viewLines=n}}class xs{constructor(){}isVisible(){return!0}setVisible(e){return e?this:Zs.INSTANCE}getLineBreakData(){return null}getViewLineCount(){return 1}getViewLineContent(e,n,d){return e.getLineContent(n)}getViewLineLength(e,n,d){return e.getLineLength(n)}getViewLineMinColumn(e,n,d){return e.getLineMinColumn(n)}getViewLineMaxColumn(e,n,d){return e.getLineMaxColumn(n)}getViewLineData(e,n,d){let N=e.getLineTokens(n),A=N.getLineContent();return new pe.IP(A,!1,1,A.length+1,0,N.inflate(),null)}getViewLinesData(e,n,d,N,A,X,Le){if(!X[A]){Le[A]=null;return}Le[A]=this.getViewLineData(e,n,0)}getModelColumnOfViewPosition(e,n){return n}getViewPositionOfModelPosition(e,n){return new ee.L(e,n)}getViewLineNumberOfModelPosition(e,n){return e}normalizePosition(e,n,d,N,A){return N}getInjectedTextAt(e,n){return null}}xs.INSTANCE=new xs;class Zs{constructor(){}isVisible(){return!1}setVisible(e){return e?xs.INSTANCE:this}getLineBreakData(){return null}getViewLineCount(){return 0}getViewLineContent(e,n,d){throw new Error("Not supported")}getViewLineLength(e,n,d){throw new Error("Not supported")}getViewLineMinColumn(e,n,d){throw new Error("Not supported")}getViewLineMaxColumn(e,n,d){throw new Error("Not supported")}getViewLineData(e,n,d){throw new Error("Not supported")}getViewLinesData(e,n,d,N,A,X,Le){throw new Error("Not supported")}getModelColumnOfViewPosition(e,n){throw new Error("Not supported")}getViewPositionOfModelPosition(e,n){throw new Error("Not supported")}getViewLineNumberOfModelPosition(e,n){throw new Error("Not supported")}normalizePosition(e,n,d,N,A){throw new Error("Not supported")}getInjectedTextAt(e,n){throw new Error("Not supported")}}Zs.INSTANCE=new Zs;class xo{constructor(e,n){this._lineBreakData=e,this._isVisible=n}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getLineBreakData(){return this._lineBreakData}getViewLineCount(){return this._isVisible?this._lineBreakData.breakOffsets.length:0}getInputStartOffsetOfOutputLineIndex(e){return this._lineBreakData.getInputOffsetOfOutputPosition(e,0)}getInputEndOffsetOfOutputLineIndex(e,n,d){return d+1===this._lineBreakData.breakOffsets.length?e.getLineMaxColumn(n)-1:this._lineBreakData.getInputOffsetOfOutputPosition(d+1,0)}getViewLineContent(e,n,d){if(!this._isVisible)throw new Error("Not supported");const N=d>0?this._lineBreakData.breakOffsets[d-1]:0,A=d<this._lineBreakData.breakOffsets.length?this._lineBreakData.breakOffsets[d]:this._lineBreakData.breakOffsets[this._lineBreakData.breakOffsets.length-1];let X;if(this._lineBreakData.injectionOffsets!==null){const Le=this._lineBreakData.injectionOffsets.map((Re,Ge)=>new at.gk(0,0,Re+1,this._lineBreakData.injectionOptions[Ge],0));X=at.gk.applyInjectedText(e.getLineContent(n),Le).substring(N,A)}else X=e.getValueInRange({startLineNumber:n,startColumn:N+1,endLineNumber:n,endColumn:A+1});return d>0&&(X=ir(this._lineBreakData.wrappedTextIndentLength)+X),X}getViewLineLength(e,n,d){if(!this._isVisible)throw new Error("Not supported");const N=d>0?this._lineBreakData.breakOffsets[d-1]:0;let X=(d<this._lineBreakData.breakOffsets.length?this._lineBreakData.breakOffsets[d]:this._lineBreakData.breakOffsets[this._lineBreakData.breakOffsets.length-1])-N;return d>0&&(X=this._lineBreakData.wrappedTextIndentLength+X),X}getViewLineMinColumn(e,n,d){if(!this._isVisible)throw new Error("Not supported");return this._getViewLineMinColumn(d)}_getViewLineMinColumn(e){return e>0?this._lineBreakData.wrappedTextIndentLength+1:1}getViewLineMaxColumn(e,n,d){if(!this._isVisible)throw new Error("Not supported");return this.getViewLineLength(e,n,d)+1}getViewLineData(e,n,d){if(!this._isVisible)throw new Error("Not supported");const N=this._lineBreakData,A=d>0?N.wrappedTextIndentLength:0,X=N.injectionOffsets,Le=N.injectionOptions;let Re,Ge,tt;if(X){const qt=e.getLineTokens(n).withInserted(X.map((bi,Ki)=>({offset:bi,text:Le[Ki].content,tokenMetadata:Or.A.defaultTokenMetadata}))),di=d>0?N.breakOffsets[d-1]:0,pi=N.breakOffsets[d];Re=qt.getLineContent().substring(di,pi),Ge=qt.sliceAndInflate(di,pi,A),tt=new Array;let Li=0;for(let bi=0;bi<X.length;bi++){const Ki=Le[bi].content.length,Wi=X[bi]+Li,Zi=X[bi]+Li+Ki;if(Wi>pi)break;if(di<Zi){const ji=Le[bi];if(ji.inlineClassName){const Fi=d>0?N.wrappedTextIndentLength:0,Gi=Fi+Math.max(Wi-di,0),_n=Fi+Math.min(Zi-di,pi);Gi!==_n&&tt.push(new pe.Wx(Gi,_n,ji.inlineClassName,ji.inlineClassNameAffectsLetterSpacing))}}Li+=Ki}}else{const qt=this.getInputStartOffsetOfOutputLineIndex(d),di=this.getInputEndOffsetOfOutputLineIndex(e,n,d),pi=e.getLineTokens(n);Re=e.getValueInRange({startLineNumber:n,startColumn:qt+1,endLineNumber:n,endColumn:di+1}),Ge=pi.sliceAndInflate(qt,di,A),tt=null}d>0&&(Re=ir(N.wrappedTextIndentLength)+Re);const dt=d>0?N.wrappedTextIndentLength+1:1,Ot=Re.length+1,It=d+1<this.getViewLineCount(),Kt=d===0?0:N.breakOffsetsVisibleColumn[d-1];return new pe.IP(Re,It,dt,Ot,Kt,Ge,tt)}getViewLinesData(e,n,d,N,A,X,Le){if(!this._isVisible)throw new Error("Not supported");for(let Re=d;Re<N;Re++){let Ge=A+Re-d;if(!X[Ge]){Le[Ge]=null;continue}Le[Ge]=this.getViewLineData(e,n,Re)}}getModelColumnOfViewPosition(e,n){if(!this._isVisible)throw new Error("Not supported");let d=n-1;return e>0&&(d<this._lineBreakData.wrappedTextIndentLength?d=0:d-=this._lineBreakData.wrappedTextIndentLength),this._lineBreakData.getInputOffsetOfOutputPosition(e,d)+1}getViewPositionOfModelPosition(e,n,d=2){if(!this._isVisible)throw new Error("Not supported");let N=this._lineBreakData.getOutputPositionOfInputOffset(n-1,d),A=N.outputLineIndex,X=N.outputOffset+1;return A>0&&(X+=this._lineBreakData.wrappedTextIndentLength),new ee.L(e+A,X)}getViewLineNumberOfModelPosition(e,n){if(!this._isVisible)throw new Error("Not supported");const d=this._lineBreakData.getOutputPositionOfInputOffset(n-1);return e+d.outputLineIndex}normalizePosition(e,n,d,N,A){if(this._lineBreakData.injectionOffsets!==null){const X=N.lineNumber-d,Le=this._lineBreakData.outputPositionToOffsetInUnwrappedLine(d,N.column-1),Re=this._lineBreakData.normalizeOffsetAroundInjections(Le,A);if(Re!==Le)return this._lineBreakData.getOutputPositionOfOffsetInUnwrappedLine(Re,A).toPosition(X,this._lineBreakData.wrappedTextIndentLength)}if(A===0){if(d>0&&N.column===this._getViewLineMinColumn(d))return new ee.L(N.lineNumber-1,this.getViewLineMaxColumn(e,n,d-1))}else if(A===1){const X=this.getViewLineCount()-1;if(d<X&&N.column===this.getViewLineMaxColumn(e,n,d))return new ee.L(N.lineNumber+1,this._getViewLineMinColumn(d+1))}return N}getInjectedTextAt(e,n){return this._lineBreakData.getInjectedText(e,n-1)}}let Mo=[""];function ir(Tt){if(Tt>=Mo.length)for(let e=1;e<=Tt;e++)Mo[e]=Pr(e);return Mo[Tt]}function Pr(Tt){return new Array(Tt+1).join(" ")}function To(Tt,e){return Tt===null?e?xs.INSTANCE:Zs.INSTANCE:new xo(Tt,e)}class kr{constructor(e){this._lines=e}_validPosition(e){return this._lines.model.validatePosition(e)}_validRange(e){return this._lines.model.validateRange(e)}convertViewPositionToModelPosition(e){return this._validPosition(e)}convertViewRangeToModelRange(e){return this._validRange(e)}validateViewPosition(e,n){return this._validPosition(n)}validateViewRange(e,n){return this._validRange(n)}convertModelPositionToViewPosition(e){return this._validPosition(e)}convertModelRangeToViewRange(e){return this._validRange(e)}modelPositionIsVisible(e){const n=this._lines.model.getLineCount();return!(e.lineNumber<1||e.lineNumber>n)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,n){return e}}class Ro{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new kr(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,n,d,N){return!1}createLineBreaksComputer(){let e=[];return{addRequest:(n,d,N)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,n,d){return new zt(n,d)}onModelLinesInserted(e,n,d,N){return new Qt(n,d)}onModelLineChanged(e,n,d){return[!1,new At(n,n),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,n,d){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,n,d){return new Array(n-e+1).fill([])}getViewLinesIndentGuides(e,n){const d=n-e+1;let N=new Array(d);for(let A=0;A<d;A++)N[A]=0;return N}getViewLineContent(e){return this.model.getLineContent(e)}getViewLineLength(e){return this.model.getLineLength(e)}getViewLineMinColumn(e){return this.model.getLineMinColumn(e)}getViewLineMaxColumn(e){return this.model.getLineMaxColumn(e)}getViewLineData(e){let n=this.model.getLineTokens(e),d=n.getLineContent();return new pe.IP(d,!1,1,d.length+1,0,n.inflate(),null)}getViewLinesData(e,n,d){const N=this.model.getLineCount();e=Math.min(Math.max(1,e),N),n=Math.min(Math.max(1,n),N);let A=[];for(let X=e;X<=n;X++){let Le=X-e;d[Le]||(A[Le]=null),A[Le]=this.getViewLineData(X)}return A}getDecorationsInRange(e,n,d){return this.model.getDecorationsInRange(e,n,d)}normalizePosition(e,n){return this.model.normalizePosition(e,n)}getLineIndentColumn(e){return this.model.getLineIndentColumn(e)}getInjectedTextAt(e){return null}}class Fr{constructor(e,n,d,N,A){this.editorId=e,this.model=n,this.configuration=d,this._linesCollection=N,this._coordinatesConverter=A,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){const n=e.id;let d=this._decorationsCache[n];if(!d){const N=e.range,A=e.options;let X;if(A.isWholeLine){const Le=this._coordinatesConverter.convertModelPositionToViewPosition(new ee.L(N.startLineNumber,1),0),Re=this._coordinatesConverter.convertModelPositionToViewPosition(new ee.L(N.endLineNumber,this.model.getLineMaxColumn(N.endLineNumber)),1);X=new he.e(Le.lineNumber,Le.column,Re.lineNumber,Re.column)}else X=this._coordinatesConverter.convertModelRangeToViewRange(N,1);d=new pe.$l(X,A),this._decorationsCache[n]=d}return d}getDecorationsViewportData(e){let n=this._cachedModelDecorationsResolver!==null;return n=n&&e.equalsRange(this._cachedModelDecorationsResolverViewRange),n||(this._cachedModelDecorationsResolver=this._getDecorationsViewportData(e),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}_getDecorationsViewportData(e){const n=this._linesCollection.getDecorationsInRange(e,this.editorId,(0,ve.$J)(this.configuration.options)),d=e.startLineNumber,N=e.endLineNumber;let A=[],X=0,Le=[];for(let Re=d;Re<=N;Re++)Le[Re-d]=[];for(let Re=0,Ge=n.length;Re<Ge;Re++){let tt=n[Re],dt=tt.options,Ot=this._getOrCreateViewModelDecoration(tt),It=Ot.range;if(A[X++]=Ot,dt.inlineClassName){let Kt=new pe.$t(It,dt.inlineClassName,dt.inlineClassNameAffectsLetterSpacing?3:0),qt=Math.max(d,It.startLineNumber),di=Math.min(N,It.endLineNumber);for(let pi=qt;pi<=di;pi++)Le[pi-d].push(Kt)}if(dt.beforeContentClassName&&d<=It.startLineNumber&&It.startLineNumber<=N){let Kt=new pe.$t(new he.e(It.startLineNumber,It.startColumn,It.startLineNumber,It.startColumn),dt.beforeContentClassName,1);Le[It.startLineNumber-d].push(Kt)}if(dt.afterContentClassName&&d<=It.endLineNumber&&It.endLineNumber<=N){let Kt=new pe.$t(new he.e(It.endLineNumber,It.endColumn,It.endLineNumber,It.endColumn),dt.afterContentClassName,2);Le[It.endLineNumber-d].push(Kt)}}return{decorations:A,inlineDecorations:Le}}}var Br=i(3182);const ro=!0;class vo extends p.JT{constructor(e,n,d,N,A,X){if(super(),this._editorId=e,this._configuration=n,this.model=d,this._eventDispatcher=new Ji,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new Pe.LM(this.model.getLanguageId(),this.model.getOptions(),this._configuration),this._tokenizeViewportSoon=this._register(new m.pY(()=>this.tokenizeViewport(),50)),this._updateConfigurationViewLineCount=this._register(new m.pY(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStartLine=-1,this._viewportStartLineTrackedRange=null,this._viewportStartLineDelta=0,ro&&this.model.isTooLargeForTokenization())this._lines=new Ro(this.model);else{const Le=this._configuration.options,Re=Le.get(43),Ge=Le.get(123),tt=Le.get(130),dt=Le.get(122);this._lines=new ps(this._editorId,this.model,N,A,Re,this.model.getOptions().tabSize,Ge,tt.wrappingColumn,dt)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new Is(d,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new Ar(this._configuration,this.getLineCount(),X)),this._register(this.viewLayout.onDidScroll(Le=>{Le.scrollTopChanged&&this._tokenizeViewportSoon.schedule(),this._eventDispatcher.emitSingleViewEvent(new ci(Le)),this._eventDispatcher.emitOutgoingEvent(new Cn(Le.oldScrollWidth,Le.oldScrollLeft,Le.oldScrollHeight,Le.oldScrollTop,Le.scrollWidth,Le.scrollLeft,Le.scrollHeight,Le.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(Le=>{this._eventDispatcher.emitOutgoingEvent(Le)})),this._decorations=new Fr(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(Le=>{try{const Re=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(Re,Le)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(F.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new Ii)})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this.invalidateMinimapColorCache(),this._viewportStartLineTrackedRange=this.model._setTrackedRange(this._viewportStartLineTrackedRange,null,1),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}tokenizeViewport(){const e=this.viewLayout.getLinesViewportData(),n=new he.e(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber)),d=this._toModelVisibleRanges(n);for(const N of d)this.model.tokenizeViewport(N.startLineNumber,N.endLineNumber)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new _t(e)),this._eventDispatcher.emitOutgoingEvent(new Nn(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new u)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new x)}onDidColorThemeChange(){this._eventDispatcher.emitSingleViewEvent(new wi)}_onConfigurationChanged(e,n){let d=null;if(this._viewportStartLine!==-1){let tt=new ee.L(this._viewportStartLine,this.getLineMinColumn(this._viewportStartLine));d=this.coordinatesConverter.convertViewPositionToModelPosition(tt)}let N=!1;const A=this._configuration.options,X=A.get(43),Le=A.get(123),Re=A.get(130),Ge=A.get(122);if(this._lines.setWrappingSettings(X,Le,Re.wrappingColumn,Ge)&&(e.emitViewEvent(new Ue),e.emitViewEvent(new kt),e.emitViewEvent(new Me(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.getCurrentScrollTop()!==0&&(N=!0),this._updateConfigurationViewLineCount.schedule()),n.hasChanged(80)&&(this._decorations.reset(),e.emitViewEvent(new Me(null))),e.emitViewEvent(new U(n)),this.viewLayout.onConfigurationChanged(n),N&&d){const tt=this.coordinatesConverter.convertModelPositionToViewPosition(d),dt=this.viewLayout.getVerticalOffsetForLineNumber(tt.lineNumber);this.viewLayout.setScrollPosition({scrollTop:dt+this._viewportStartLineDelta},1)}Pe.LM.shouldRecreate(n)&&(this.cursorConfig=new Pe.LM(this.model.getLanguageId(),this.model.getOptions(),this._configuration),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(e=>{try{const n=this._eventDispatcher.beginEmitViewEvents();let d=!1,N=!1;const A=e.changes,X=e instanceof at.dQ?e.versionId:null,Le=this._lines.createLineBreaksComputer();for(const tt of A)switch(tt.changeType){case 4:{for(let dt=0;dt<tt.detail.length;dt++){const Ot=tt.detail[dt];let It=tt.injectedTexts[dt];It&&(It=It.filter(Kt=>!Kt.ownerId||Kt.ownerId===this._editorId)),Le.addRequest(Ot,It,null)}break}case 2:{let dt=null;tt.injectedText&&(dt=tt.injectedText.filter(Ot=>!Ot.ownerId||Ot.ownerId===this._editorId)),Le.addRequest(tt.detail,dt,null);break}}const Re=Le.finalize();let Ge=0;for(const tt of A)switch(tt.changeType){case 1:{this._lines.onModelFlushed(),n.emitViewEvent(new Ue),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),d=!0;break}case 3:{const dt=this._lines.onModelLinesDeleted(X,tt.fromLineNumber,tt.toLineNumber);dt!==null&&(n.emitViewEvent(dt),this.viewLayout.onLinesDeleted(dt.fromLineNumber,dt.toLineNumber)),d=!0;break}case 4:{const dt=Re.slice(Ge,Ge+tt.detail.length);Ge+=tt.detail.length;const Ot=this._lines.onModelLinesInserted(X,tt.fromLineNumber,tt.toLineNumber,dt);Ot!==null&&(n.emitViewEvent(Ot),this.viewLayout.onLinesInserted(Ot.fromLineNumber,Ot.toLineNumber)),d=!0;break}case 2:{const dt=Re[Ge];Ge++;const[Ot,It,Kt,qt]=this._lines.onModelLineChanged(X,tt.lineNumber,dt);N=Ot,It&&n.emitViewEvent(It),Kt&&(n.emitViewEvent(Kt),this.viewLayout.onLinesInserted(Kt.fromLineNumber,Kt.toLineNumber)),qt&&(n.emitViewEvent(qt),this.viewLayout.onLinesDeleted(qt.fromLineNumber,qt.toLineNumber));break}case 5:break}X!==null&&this._lines.acceptVersionId(X),this.viewLayout.onHeightMaybeChanged(),!d&&N&&(n.emitViewEvent(new kt),n.emitViewEvent(new Me(null)),this._cursor.onLineMappingChanged(n),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}if(this._viewportStartLine=-1,this._configuration.setMaxLineNumber(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&this._viewportStartLineTrackedRange){const n=this.model._getTrackedRange(this._viewportStartLineTrackedRange);if(n){const d=this.coordinatesConverter.convertModelPositionToViewPosition(n.getStartPosition()),N=this.viewLayout.getVerticalOffsetForLineNumber(d.lineNumber);this.viewLayout.setScrollPosition({scrollTop:N+this._viewportStartLineDelta},1)}}try{const n=this._eventDispatcher.beginEmitViewEvents();this._cursor.onModelContentChanged(n,e)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(this.model.onDidChangeTokens(e=>{let n=[];for(let d=0,N=e.ranges.length;d<N;d++){const A=e.ranges[d],X=this.coordinatesConverter.convertModelPositionToViewPosition(new ee.L(A.fromLineNumber,1)).lineNumber,Le=this.coordinatesConverter.convertModelPositionToViewPosition(new ee.L(A.toLineNumber,this.model.getLineMaxColumn(A.toLineNumber))).lineNumber;n[d]={fromLineNumber:X,toLineNumber:Le}}this._eventDispatcher.emitSingleViewEvent(new yi(n)),e.tokenizationSupportChanged&&this._tokenizeViewportSoon.schedule()})),this._register(this.model.onDidChangeLanguageConfiguration(e=>{this._eventDispatcher.emitSingleViewEvent(new yt),this.cursorConfig=new Pe.LM(this.model.getLanguageId(),this.model.getOptions(),this._configuration),this._cursor.updateConfiguration(this.cursorConfig)})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new Pe.LM(this.model.getLanguageId(),this.model.getOptions(),this._configuration),this._cursor.updateConfiguration(this.cursorConfig)})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const n=this._eventDispatcher.beginEmitViewEvents();n.emitViewEvent(new Ue),n.emitViewEvent(new kt),n.emitViewEvent(new Me(null)),this._cursor.onLineMappingChanged(n),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new Pe.LM(this.model.getLanguageId(),this.model.getOptions(),this._configuration),this._cursor.updateConfiguration(this.cursorConfig)})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new Me(e))}))}setHiddenAreas(e){let n=!1;try{const d=this._eventDispatcher.beginEmitViewEvents();n=this._lines.setHiddenAreas(e),n&&(d.emitViewEvent(new Ue),d.emitViewEvent(new kt),d.emitViewEvent(new Me(null)),this._cursor.onLineMappingChanged(d),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),n&&this._eventDispatcher.emitOutgoingEvent(new Sn)}getVisibleRangesPlusViewportAboveBelow(){const e=this._configuration.options.get(129),n=this._configuration.options.get(58),d=Math.max(20,Math.round(e.height/n)),N=this.viewLayout.getLinesViewportData(),A=Math.max(1,N.completelyVisibleStartLineNumber-d),X=Math.min(this.getLineCount(),N.completelyVisibleEndLineNumber+d);return this._toModelVisibleRanges(new he.e(A,this.getLineMinColumn(A),X,this.getLineMaxColumn(X)))}getVisibleRanges(){const e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}_toModelVisibleRanges(e){const n=this.coordinatesConverter.convertViewRangeToModelRange(e),d=this._lines.getHiddenAreas();if(d.length===0)return[n];let N=[],A=0,X=n.startLineNumber,Le=n.startColumn,Re=n.endLineNumber,Ge=n.endColumn;for(let tt=0,dt=d.length;tt<dt;tt++){const Ot=d[tt].startLineNumber,It=d[tt].endLineNumber;It<X||Ot>Re||(X<Ot&&(N[A++]=new he.e(X,Le,Ot-1,this.model.getLineMaxColumn(Ot-1))),X=It+1,Le=1)}return(X<Re||X===Re&&Le<Ge)&&(N[A++]=new he.e(X,Le,Re,Ge)),N}getCompletelyVisibleViewRange(){const e=this.viewLayout.getLinesViewportData(),n=e.completelyVisibleStartLineNumber,d=e.completelyVisibleEndLineNumber;return new he.e(n,this.getLineMinColumn(n),d,this.getLineMaxColumn(d))}getCompletelyVisibleViewRangeAtScrollTop(e){const n=this.viewLayout.getLinesViewportDataAtScrollTop(e),d=n.completelyVisibleStartLineNumber,N=n.completelyVisibleEndLineNumber;return new he.e(d,this.getLineMinColumn(d),N,this.getLineMaxColumn(N))}saveState(){const e=this.viewLayout.saveState(),n=e.scrollTop,d=this.viewLayout.getLineNumberAtVerticalOffset(n),N=this.coordinatesConverter.convertViewPositionToModelPosition(new ee.L(d,this.getLineMinColumn(d))),A=this.viewLayout.getVerticalOffsetForLineNumber(d)-n;return{scrollLeft:e.scrollLeft,firstPosition:N,firstPositionDeltaTop:A}}reduceRestoreState(e){if(typeof e.firstPosition=="undefined")return this._reduceRestoreStateCompatibility(e);const n=this.model.validatePosition(e.firstPosition),d=this.coordinatesConverter.convertModelPositionToViewPosition(n),N=this.viewLayout.getVerticalOffsetForLineNumber(d.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:N}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getTextModelOptions(){return this.model.getOptions()}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,n,d){this._viewportStartLine=e;let N=this.coordinatesConverter.convertViewPositionToModelPosition(new ee.L(e,this.getLineMinColumn(e)));this._viewportStartLineTrackedRange=this.model._setTrackedRange(this._viewportStartLineTrackedRange,new he.e(N.lineNumber,N.column,N.lineNumber,N.column),1);const A=this.viewLayout.getVerticalOffsetForLineNumber(e),X=this.viewLayout.getCurrentScrollTop();this._viewportStartLineDelta=X-A}getActiveIndentGuide(e,n,d){return this._lines.getActiveIndentGuide(e,n,d)}getLinesIndentGuides(e,n){return this._lines.getViewLinesIndentGuides(e,n)}getBracketGuidesInRangeByLine(e,n,d,N){return this._lines.getViewLinesBracketGuides(e,n,d,N)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){const n=Qe.LC(this.getLineContent(e));return n===-1?0:n+1}getLineLastNonWhitespaceColumn(e){const n=Qe.ow(this.getLineContent(e));return n===-1?0:n+2}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}getViewLineRenderingData(e,n){let d=this.model.mightContainRTL(),N=this.model.mightContainNonBasicASCII(),A=this.getTabSize(),X=this._lines.getViewLineData(n),Re=this._decorations.getDecorationsViewportData(e).inlineDecorations[n-e.startLineNumber];return X.inlineDecorations&&(Re=[...Re,...X.inlineDecorations.map(Ge=>Ge.toInlineDecoration(n))]),new pe.wA(X.minColumn,X.maxColumn,X.content,X.continuesWithWrappedLine,d,N,X.tokens,Re,A,X.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,n,d){let N=this._lines.getViewLinesData(e,n,d);return new pe.ud(this.getTabSize(),N)}getAllOverviewRulerDecorations(e){const n=this.model.getOverviewRulerDecorations(this._editorId,(0,ve.$J)(this._configuration.options)),d=new Ao;for(const N of n){const A=N.options,X=A.overviewRuler;if(!X)continue;const Le=X.position;if(Le===0)continue;const Re=X.getColor(e),Ge=this.coordinatesConverter.getViewLineNumberOfModelPosition(N.range.startLineNumber,N.range.startColumn),tt=this.coordinatesConverter.getViewLineNumberOfModelPosition(N.range.endLineNumber,N.range.endColumn);d.accept(Re,A.zIndex,Ge,tt,Le)}return d.asArray}invalidateOverviewRulerColorCache(){const e=this.model.getOverviewRulerDecorations();for(const n of e){const d=n.options.overviewRuler;d&&d.invalidateCachedColor()}}invalidateMinimapColorCache(){const e=this.model.getAllDecorations();for(const n of e){const d=n.options.minimap;d&&d.invalidateCachedColor()}}getValueInRange(e,n){const d=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(d,n)}getModelLineMaxColumn(e){return this.model.getLineMaxColumn(e)}validateModelPosition(e){return this.model.validatePosition(e)}validateModelRange(e){return this.model.validateRange(e)}deduceModelPositionRelativeToViewPosition(e,n,d){const N=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(n<0?n-=d:n+=d);const X=this.model.getOffsetAt(N)+n;return this.model.getPositionAt(X)}getEOL(){return this.model.getEOL()}getPlainTextToCopy(e,n,d){const N=d?`\r
`:this.model.getEOL();e=e.slice(0),e.sort(he.e.compareRangesUsingStarts);let A=!1,X=!1;for(const Re of e)Re.isEmpty()?A=!0:X=!0;if(!X){if(!n)return"";const Re=e.map(tt=>tt.startLineNumber);let Ge="";for(let tt=0;tt<Re.length;tt++)tt>0&&Re[tt-1]===Re[tt]||(Ge+=this.model.getLineContent(Re[tt])+N);return Ge}if(A&&n){let Re=[],Ge=0;for(const tt of e){const dt=tt.startLineNumber;tt.isEmpty()?dt!==Ge&&Re.push(this.model.getLineContent(dt)):Re.push(this.model.getValueInRange(tt,d?2:0)),Ge=dt}return Re.length===1?Re[0]:Re}let Le=[];for(const Re of e)Re.isEmpty()||Le.push(this.model.getValueInRange(Re,d?2:0));return Le.length===1?Le[0]:Le}getRichTextToCopy(e,n){const d=this.model.getLanguageId();if(d===Br.XT||e.length!==1)return null;let N=e[0];if(N.isEmpty()){if(!n)return null;const tt=N.startLineNumber;N=new he.e(tt,this.model.getLineMinColumn(tt),tt,this.model.getLineMaxColumn(tt))}const A=this._configuration.options.get(43),X=this._getColorMap(),Re=/[:;\\\/<>]/.test(A.fontFamily)||A.fontFamily===ve.hL.fontFamily;let Ge;return Re?Ge=ve.hL.fontFamily:(Ge=A.fontFamily,Ge=Ge.replace(/"/g,"'"),/[,']/.test(Ge)||/[+ ]/.test(Ge)&&(Ge=`'${Ge}'`),Ge=`${Ge}, ${ve.hL.fontFamily}`),{mode:d,html:`<div style="color: ${X[1]};background-color: ${X[2]};font-family: ${Ge};font-weight: ${A.fontWeight};font-size: ${A.fontSize}px;line-height: ${A.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(N,X)+"</div>"}}_getHTMLToCopy(e,n){const d=e.startLineNumber,N=e.startColumn,A=e.endLineNumber,X=e.endColumn,Le=this.getTabSize();let Re="";for(let Ge=d;Ge<=A;Ge++){const tt=this.model.getLineTokens(Ge),dt=tt.getLineContent(),Ot=Ge===d?N-1:0,It=Ge===A?X-1:dt.length;dt===""?Re+="<br>":Re+=(0,xr.F)(dt,tt.inflate(),n,Ot,It,Le,v.ED)}return Re}_getColorMap(){let e=Lt.RW.getColorMap(),n=["#000000"];if(e)for(let d=1,N=e.length;d<N;d++)n[d]=xi.Il.Format.CSS.formatHex(e[d]);return n}pushStackElement(){this.model.pushStackElement()}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(e,n,d){this._withViewEventsCollector(N=>this._cursor.setStates(N,e,n,d))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,n,d=0){this._withViewEventsCollector(N=>this._cursor.setSelections(N,e,n,d))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(n=>this._cursor.restoreState(n,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new bs);return}this._withViewEventsCollector(e)}executeEdits(e,n,d){this._executeCursorEdit(N=>this._cursor.executeEdits(N,e,n,d))}startComposition(){this._cursor.setIsDoingComposition(!0),this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._cursor.setIsDoingComposition(!1),this._executeCursorEdit(n=>this._cursor.endComposition(n,e))}type(e,n){this._executeCursorEdit(d=>this._cursor.type(d,e,n))}compositionType(e,n,d,N,A){this._executeCursorEdit(X=>this._cursor.compositionType(X,e,n,d,N,A))}paste(e,n,d,N){this._executeCursorEdit(A=>this._cursor.paste(A,e,n,d,N))}cut(e){this._executeCursorEdit(n=>this._cursor.cut(n,e))}executeCommand(e,n){this._executeCursorEdit(d=>this._cursor.executeCommand(d,e,n))}executeCommands(e,n){this._executeCursorEdit(d=>this._cursor.executeCommands(d,e,n))}revealPrimaryCursor(e,n){this._withViewEventsCollector(d=>this._cursor.revealPrimary(d,e,n,0))}revealTopMostCursor(e){const n=this._cursor.getTopMostViewPosition(),d=new he.e(n.lineNumber,n.column,n.lineNumber,n.column);this._withViewEventsCollector(N=>N.emitViewEvent(new si(e,d,null,0,!0,0)))}revealBottomMostCursor(e){const n=this._cursor.getBottomMostViewPosition(),d=new he.e(n.lineNumber,n.column,n.lineNumber,n.column);this._withViewEventsCollector(N=>N.emitViewEvent(new si(e,d,null,0,!0,0)))}revealRange(e,n,d,N,A){this._withViewEventsCollector(X=>X.emitViewEvent(new si(e,d,null,N,n,A)))}getVerticalOffsetForLineNumber(e){return this.viewLayout.getVerticalOffsetForLineNumber(e)}getScrollTop(){return this.viewLayout.getCurrentScrollTop()}setScrollTop(e,n){this.viewLayout.setScrollPosition({scrollTop:e},n)}setScrollPosition(e,n){this.viewLayout.setScrollPosition(e,n)}deltaScrollNow(e,n){this.viewLayout.deltaScrollNow(e,n)}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new Ui),this._eventDispatcher.emitOutgoingEvent(new Sn))}setMaxLineWidth(e){this.viewLayout.setMaxLineWidth(e)}_withViewEventsCollector(e){try{const n=this._eventDispatcher.beginEmitViewEvents();e(n)}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(e,n){return this._lines.normalizePosition(e,n)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}}class Ao{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,n,d,N,A){const X=this._asMap[e];if(X){const Le=X.data,Re=Le[Le.length-3],Ge=Le[Le.length-1];if(Re===A&&Ge+1>=d){N>Ge&&(Le[Le.length-1]=N);return}Le.push(A,d,N)}else{const Le=new pe.SQ(e,n,[A,d,N]);this._asMap[e]=Le,this.asArray.push(Le)}}}var Wr=i(35884),Oo=i(90689),Co=i(16925),Us=i(36916),Po=i(79504),Hn=i(52950),Vr=i(14788);class nr extends Vr.N{constructor(e,n){super(0);for(let d=0;d<e.length;d++)this.set(e.charCodeAt(d),1);for(let d=0;d<n.length;d++)this.set(n.charCodeAt(d),2)}get(e){return e>=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}}let ko=[],Ys=[];class ao{constructor(e,n){this.classifier=new nr(e,n)}static create(e){return new ao(e.get(118),e.get(117))}createLineBreaksComputer(e,n,d,N){n=n|0,d=+d;const A=[],X=[],Le=[];return{addRequest:(Re,Ge,tt)=>{A.push(Re),X.push(Ge),Le.push(tt)},finalize:()=>{const Re=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth;let Ge=[];for(let tt=0,dt=A.length;tt<dt;tt++){const Ot=X[tt],It=Le[tt];It&&!It.injectionOptions&&!Ot?Ge[tt]=Fo(this.classifier,It,A[tt],n,d,Re,N):Ge[tt]=sr(this.classifier,A[tt],Ot,n,d,Re,N)}return ko.length=0,Ys.length=0,Ge}}}}function Fo(Tt,e,n,d,N,A,X){if(N===-1)return null;const Le=n.length;if(Le<=1)return null;const Re=e.breakOffsets,Ge=e.breakOffsetsVisibleColumn,tt=ks(n,d,N,A,X),dt=N-tt;let Ot=ko,It=Ys,Kt=0,qt=0,di=0,pi=N;const Li=Re.length;let bi=0;if(bi>=0){let Ki=Math.abs(Ge[bi]-pi);for(;bi+1<Li;){const Wi=Math.abs(Ge[bi+1]-pi);if(Wi>=Ki)break;Ki=Wi,bi++}}for(;bi<Li;){let Ki=bi<0?0:Re[bi],Wi=bi<0?0:Ge[bi];qt>Ki&&(Ki=qt,Wi=di);let Zi=0,ji=0,Fi=0,Gi=0;if(Wi<=pi){let Xi=Wi,Kn=Ki===0?0:n.charCodeAt(Ki-1),Zn=Ki===0?0:Tt.get(Kn),Qn=!0;for(let wn=Ki;wn<Le;wn++){const rs=wn,qn=n.charCodeAt(wn);let ns,Ls;if(Qe.ZG(qn)?(wn++,ns=0,Ls=2):(ns=Tt.get(qn),Ls=Qs(qn,Xi,d,A)),rs>qt&&Xs(Kn,Zn,qn,ns)&&(Zi=rs,ji=Xi),Xi+=Ls,Xi>pi){rs>qt?(Fi=rs,Gi=Xi-Ls):(Fi=wn+1,Gi=Xi),Xi-ji>dt&&(Zi=0),Qn=!1;break}Kn=qn,Zn=ns}if(Qn){Kt>0&&(Ot[Kt]=Re[Re.length-1],It[Kt]=Ge[Re.length-1],Kt++);break}}if(Zi===0){let Xi=Wi,Kn=n.charCodeAt(Ki),Zn=Tt.get(Kn),Qn=!1;for(let wn=Ki-1;wn>=qt;wn--){const rs=wn+1,qn=n.charCodeAt(wn);if(qn===9){Qn=!0;break}let ns,Ls;if(Qe.YK(qn)?(wn--,ns=0,Ls=2):(ns=Tt.get(qn),Ls=Qe.K7(qn)?A:1),Xi<=pi){if(Fi===0&&(Fi=rs,Gi=Xi),Xi<=pi-dt)break;if(Xs(qn,ns,Kn,Zn)){Zi=rs,ji=Xi;break}}Xi-=Ls,Kn=qn,Zn=ns}if(Zi!==0){const wn=dt-(Gi-ji);if(wn<=d){const rs=n.charCodeAt(Fi);let qn;Qe.ZG(rs)?qn=2:qn=Qs(rs,Gi,d,A),wn-qn<0&&(Zi=0)}}if(Qn){bi--;continue}}if(Zi===0&&(Zi=Fi,ji=Gi),Zi<=qt){const Xi=n.charCodeAt(qt);Qe.ZG(Xi)?(Zi=qt+2,ji=di+2):(Zi=qt+1,ji=di+Qs(Xi,di,d,A))}for(qt=Zi,Ot[Kt]=Zi,di=ji,It[Kt]=ji,Kt++,pi=ji+dt;bi<0||bi<Li&&Ge[bi]<ji;)bi++;let _n=Math.abs(Ge[bi]-pi);for(;bi+1<Li;){const Xi=Math.abs(Ge[bi+1]-pi);if(Xi>=_n)break;_n=Xi,bi++}}return Kt===0?null:(Ot.length=Kt,It.length=Kt,ko=e.breakOffsets,Ys=e.breakOffsetsVisibleColumn,e.breakOffsets=Ot,e.breakOffsetsVisibleColumn=It,e.wrappedTextIndentLength=tt,e)}function sr(Tt,e,n,d,N,A,X){const Le=at.gk.applyInjectedText(e,n);let Re,Ge;if(n&&n.length>0?(Re=n.map(ji=>ji.options),Ge=n.map(ji=>ji.column-1)):(Re=null,Ge=null),N===-1)return Re?new pe.le([Le.length],[],0,Ge,Re):null;const tt=Le.length;if(tt<=1)return Re?new pe.le([Le.length],[],0,Ge,Re):null;const dt=ks(Le,d,N,A,X),Ot=N-dt;let It=[],Kt=[],qt=0,di=0,pi=0,Li=N,bi=Le.charCodeAt(0),Ki=Tt.get(bi),Wi=Qs(bi,0,d,A),Zi=1;Qe.ZG(bi)&&(Wi+=1,bi=Le.charCodeAt(1),Ki=Tt.get(bi),Zi++);for(let ji=Zi;ji<tt;ji++){const Fi=ji,Gi=Le.charCodeAt(ji);let _n,Xi;Qe.ZG(Gi)?(ji++,_n=0,Xi=2):(_n=Tt.get(Gi),Xi=Qs(Gi,Wi,d,A)),Xs(bi,Ki,Gi,_n)&&(di=Fi,pi=Wi),Wi+=Xi,Wi>Li&&((di===0||Wi-pi>Ot)&&(di=Fi,pi=Wi-Xi),It[qt]=di,Kt[qt]=pi,qt++,Li=pi+Ot,di=0),bi=Gi,Ki=_n}return qt===0&&(!n||n.length===0)?null:(It[qt]=tt,Kt[qt]=Wi,new pe.le(It,Kt,dt,Ge,Re))}function Qs(Tt,e,n,d){return Tt===9?n-e%n:Qe.K7(Tt)||Tt<32?d:1}function zs(Tt,e){return e-Tt%e}function Xs(Tt,e,n,d){return n!==32&&(e===2||e===3&&d!==2||d===1||d===3&&e!==1)}function ks(Tt,e,n,d,N){let A=0;if(N!==0){const X=Qe.LC(Tt);if(X!==-1){for(let Re=0;Re<X;Re++){const Ge=Tt.charCodeAt(Re)===9?zs(A,e):1;A+=Ge}const Le=N===3?2:N===2?1:0;for(let Re=0;Re<Le;Re++){const Ge=zs(A,e);A+=Ge}A+d>n&&(A=0)}}return A}var Bo;const Ks=(Bo=window.trustedTypes)===null||Bo===void 0?void 0:Bo.createPolicy("domLineBreaksComputer",{createHTML:Tt=>Tt});class bo{static create(){return new bo}constructor(){}createLineBreaksComputer(e,n,d,N){n=n|0,d=+d;let A=[],X=[];return{addRequest:(Le,Re,Ge)=>{A.push(Le),X.push(Re)},finalize:()=>lo(A,e,n,d,N,X)}}}function lo(Tt,e,n,d,N,A){var X;function Le(Fi){const Gi=A[Fi];if(Gi){const _n=at.gk.applyInjectedText(Tt[Fi],Gi),Xi=Gi.map(Zn=>Zn.options),Kn=Gi.map(Zn=>Zn.column-1);return new pe.le([_n.length],[],0,Kn,Xi)}else return null}if(d===-1){const Fi=[];for(let Gi=0,_n=Tt.length;Gi<_n;Gi++)Fi[Gi]=Le(Gi);return Fi}const Re=Math.round(d*e.typicalHalfwidthCharacterWidth),tt=Math.round(n*(N===3?2:N===2?1:0)),dt=Math.ceil(e.spaceWidth*tt),Ot=document.createElement("div");g.V.applyFontInfoSlow(Ot,e);const It=(0,ke.l$)(1e4),Kt=[],qt=[],di=[],pi=[],Li=[];for(let Fi=0;Fi<Tt.length;Fi++){const Gi=at.gk.applyInjectedText(Tt[Fi],A[Fi]);let _n=0,Xi=0,Kn=Re;if(N!==0)if(_n=Qe.LC(Gi),_n===-1)_n=0;else{for(let rs=0;rs<_n;rs++){const qn=Gi.charCodeAt(rs)===9?n-Xi%n:1;Xi+=qn}const wn=Math.ceil(e.spaceWidth*Xi);wn+e.typicalFullwidthCharacterWidth>Re?(_n=0,Xi=0):Kn=Re-wn}const Zn=Gi.substr(_n),Qn=Hr(Zn,Xi,n,Kn,It,dt);Kt[Fi]=_n,qt[Fi]=Xi,di[Fi]=Zn,pi[Fi]=Qn[0],Li[Fi]=Qn[1]}const bi=It.build(),Ki=(X=Ks==null?void 0:Ks.createHTML(bi))!==null&&X!==void 0?X:bi;Ot.innerHTML=Ki,Ot.style.position="absolute",Ot.style.top="10000",Ot.style.wordWrap="break-word",document.body.appendChild(Ot);let Wi=document.createRange();const Zi=Array.prototype.slice.call(Ot.children,0);let ji=[];for(let Fi=0;Fi<Tt.length;Fi++){const Gi=Zi[Fi],_n=Fs(Wi,Gi,di[Fi],pi[Fi]);if(_n===null){ji[Fi]=Le(Fi);continue}const Xi=Kt[Fi],Kn=qt[Fi]+tt,Zn=Li[Fi],Qn=[];for(let ns=0,Ls=_n.length;ns<Ls;ns++)Qn[ns]=Zn[_n[ns]];if(Xi!==0)for(let ns=0,Ls=_n.length;ns<Ls;ns++)_n[ns]+=Xi;let wn,rs;const qn=A[Fi];qn?(wn=qn.map(ns=>ns.options),rs=qn.map(ns=>ns.column-1)):(wn=null,rs=null),ji[Fi]=new pe.le(_n,Qn,Kn,rs,wn)}return document.body.removeChild(Ot),ji}function Hr(Tt,e,n,d,N,A){if(A!==0){let Ot=String(A);N.appendASCIIString('<div style="text-indent: -'),N.appendASCIIString(Ot),N.appendASCIIString("px; padding-left: "),N.appendASCIIString(Ot),N.appendASCIIString("px; box-sizing: border-box; width:")}else N.appendASCIIString('<div style="width:');N.appendASCIIString(String(d)),N.appendASCIIString('px;">');const X=Tt.length;let Le=e,Re=0,Ge=[],tt=[],dt=0<X?Tt.charCodeAt(0):0;N.appendASCIIString("<span>");for(let Ot=0;Ot<X;Ot++){Ot!==0&&Ot%16384===0&&N.appendASCIIString("</span><span>"),Ge[Ot]=Re,tt[Ot]=Le;const It=dt;dt=Ot+1<X?Tt.charCodeAt(Ot+1):0;let Kt=1,qt=1;switch(It){case 9:Kt=n-Le%n,qt=Kt;for(let di=1;di<=Kt;di++)di<Kt?N.write1(160):N.appendASCII(32);break;case 32:dt===32?N.write1(160):N.appendASCII(32);break;case 60:N.appendASCIIString("&lt;");break;case 62:N.appendASCIIString("&gt;");break;case 38:N.appendASCIIString("&amp;");break;case 0:N.appendASCIIString("&#00;");break;case 65279:case 8232:case 8233:case 133:N.write1(65533);break;default:Qe.K7(It)&&qt++,It<32?N.write1(9216+It):N.write1(It)}Re+=Kt,Le+=qt}return N.appendASCIIString("</span>"),Ge[Tt.length]=Re,tt[Tt.length]=Le,N.appendASCIIString("</div>"),[Ge,tt]}function Fs(Tt,e,n,d){if(n.length<=1)return null;const N=Array.prototype.slice.call(e.children,0),A=[];try{Wo(Tt,N,d,0,null,n.length-1,null,A)}catch(X){return console.log(X),null}return A.length===0?null:(A.push(n.length),A)}function Wo(Tt,e,n,d,N,A,X,Le){if(d===A||(N=N||Vo(Tt,e,n[d],n[d+1]),X=X||Vo(Tt,e,n[A],n[A+1]),Math.abs(N[0].top-X[0].top)<=.1))return;if(d+1===A){Le.push(A);return}const Re=d+(A-d)/2|0,Ge=Vo(Tt,e,n[Re],n[Re+1]);Wo(Tt,e,n,d,N,Re,Ge,Le),Wo(Tt,e,n,Re,Ge,A,X,Le)}function Vo(Tt,e,n,d){return Tt.setStart(e[n/16384|0].firstChild,n%16384),Tt.setEnd(e[d/16384|0].firstChild,d%16384),Tt.getClientRects()}var Ur=i(99292),zr=function(Tt,e,n,d){var N=arguments.length,A=N<3?e:d===null?d=Object.getOwnPropertyDescriptor(e,n):d,X;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")A=Reflect.decorate(Tt,e,n,d);else for(var Le=Tt.length-1;Le>=0;Le--)(X=Tt[Le])&&(A=(N<3?X(A):N>3?X(e,n,A):X(e,n))||A);return N>3&&A&&Object.defineProperty(e,n,A),A},js=function(Tt,e){return function(n,d){e(n,d,Tt)}};let or=0;class Kr{constructor(e,n,d,N,A){this.model=e,this.viewModel=n,this.view=d,this.hasRealView=N,this.listenersToRemove=A}dispose(){(0,p.B9)(this.listenersToRemove),this.model.onBeforeDetached(),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}let Ho=class wr extends p.JT{constructor(e,n,d,N,A,X,Le,Re,Ge,tt){super(),this._onDidDispose=this._register(new E.Q5),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new E.Q5),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new E.Q5),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new E.Q5),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new E.Q5),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new E.Q5),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeConfiguration=this._register(new E.Q5),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onDidChangeModel=this._register(new E.Q5),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new E.Q5),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new E.Q5),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new E.Q5),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new E.Q5),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new rr),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new rr),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new E.Q5),this.onWillType=this._onWillType.event,this._onDidType=this._register(new E.Q5),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new E.Q5),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new E.Q5),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new E.Q5),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new E.Q5),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new E.Q5),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new E.Q5),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new E.Q5),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new E.Q5),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onContextMenu=this._register(new E.Q5),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new E.Q5),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new E.Q5),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new E.Q5),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new E.Q5),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new E.Q5),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new E.Q5),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new E.Q5),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new E.Q5),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new E.Q5),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event;const dt=Object.assign({},n);this._domElement=e,this._overflowWidgetsDomNode=dt.overflowWidgetsDomNode,delete dt.overflowWidgetsDomNode,this._id=++or,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this.isSimpleWidget=d.isSimpleWidget||!1,this._telemetryData=d.telemetryData,this._configuration=this._register(this._createConfiguration(dt,tt)),this._register(this._configuration.onDidChange(It=>{this._onDidChangeConfiguration.fire(It);const Kt=this._configuration.options;if(It.hasChanged(129)){const qt=Kt.get(129);this._onDidLayoutChange.fire(qt)}})),this._contextKeyService=this._register(Le.createScoped(this._domElement)),this._notificationService=Ge,this._codeEditorService=A,this._commandService=X,this._themeService=Re,this._register(new Uo(this,this._contextKeyService)),this._register(new zo(this,this._contextKeyService)),this._instantiationService=N.createChild(new Us.y([Oo.i6,this._contextKeyService])),this._modelData=null,this._contributions={},this._actions={},this._focusTracker=new jr(e),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={};let Ot;Array.isArray(d.contributions)?Ot=d.contributions:Ot=H.Uc.getEditorContributions();for(const It of Ot){if(this._contributions[It.id]){(0,y.dL)(new Error(`Cannot have two contributions with the same id ${It.id}`));continue}try{const Kt=this._instantiationService.createInstance(It.ctor,this);this._contributions[It.id]=Kt}catch(Kt){(0,y.dL)(Kt)}}H.Uc.getEditorActions().forEach(It=>{if(this._actions[It.id]){(0,y.dL)(new Error(`Cannot have two actions with the same id ${It.id}`));return}const Kt=new Gs.p(It.id,It.label,It.alias,(0,Gn.f6)(It.precondition),()=>this._instantiationService.invokeFunction(qt=>Promise.resolve(It.runEditorCommand(qt,this,null))),this._contextKeyService);this._actions[Kt.id]=Kt}),this._codeEditorService.addCodeEditor(this)}_createConfiguration(e,n){return new g.V(this.isSimpleWidget,e,this._domElement,n)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return io.g.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose();const e=Object.keys(this._contributions);for(let n=0,d=e.length;n<d;n++){const N=e[n];this._contributions[N].dispose()}this._contributions={},this._actions={},this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e)}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?Ur.w.getWordAtPosition(this._modelData.model,this._configuration.options.get(115),e):null}getValue(e=null){if(!this._modelData)return"";const n=!!(e&&e.preserveBOM);let d=0;return e&&e.lineEnding&&e.lineEnding===`
`?d=1:e&&e.lineEnding&&e.lineEnding===`\r
`&&(d=2),this._modelData.model.getValue(d,n)}setValue(e){this._modelData&&this._modelData.model.setValue(e)}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){const n=e;if(this._modelData===null&&n===null||this._modelData&&this._modelData.model===n)return;const d=this.hasTextFocus(),N=this._detachModel();this._attachModel(n),d&&this.hasModel()&&this.focus();const A={oldModelUrl:N?N.uri:null,newModelUrl:n?n.uri:null};this._removeDecorationTypes(),this._onDidChangeModel.fire(A),this._postDetachModelCleanup(N)}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(let e in this._decorationTypeSubtypes){const n=this._decorationTypeSubtypes[e];for(let d in n)this._removeDecorationType(e+"-"+d)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetForPosition(e,n,d){const N=e.model.validatePosition({lineNumber:n,column:d}),A=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(N);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(A.lineNumber)}getTopForLineNumber(e){return this._modelData?wr._getVerticalOffsetForPosition(this._modelData,e,1):-1}getTopForPosition(e,n){return this._modelData?wr._getVerticalOffsetForPosition(this._modelData,e,n):-1}setHiddenAreas(e){this._modelData&&this._modelData.viewModel.setHiddenAreas(e.map(n=>he.e.lift(n)))}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;const n=this._modelData.model.validatePosition(e),d=this._modelData.model.getOptions().tabSize;return Pe.io.visibleColumnFromColumn(this._modelData.model.getLineContent(n.lineNumber),n.column,d)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e){if(this._modelData){if(!ee.L.isIPosition(e))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections("api",[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,n,d,N){if(!this._modelData)return;if(!he.e.isIRange(e))throw new Error("Invalid arguments");const A=this._modelData.model.validateRange(e),X=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(A);this._modelData.viewModel.revealRange("api",d,X,n,N)}revealLine(e,n=0){this._revealLine(e,0,n)}revealLineInCenter(e,n=0){this._revealLine(e,1,n)}revealLineInCenterIfOutsideViewport(e,n=0){this._revealLine(e,2,n)}revealLineNearTop(e,n=0){this._revealLine(e,5,n)}_revealLine(e,n,d){if(typeof e!="number")throw new Error("Invalid arguments");this._sendRevealRange(new he.e(e,1,e,1),n,!1,d)}revealPosition(e,n=0){this._revealPosition(e,0,!0,n)}revealPositionInCenter(e,n=0){this._revealPosition(e,1,!0,n)}revealPositionInCenterIfOutsideViewport(e,n=0){this._revealPosition(e,2,!0,n)}revealPositionNearTop(e,n=0){this._revealPosition(e,5,!0,n)}_revealPosition(e,n,d,N){if(!ee.L.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new he.e(e.lineNumber,e.column,e.lineNumber,e.column),n,d,N)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e){const n=C.Y.isISelection(e),d=he.e.isIRange(e);if(!n&&!d)throw new Error("Invalid arguments");if(n)this._setSelectionImpl(e);else if(d){const N={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(N)}}_setSelectionImpl(e){if(!this._modelData)return;const n=new C.Y(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections("api",[n])}revealLines(e,n,d=0){this._revealLines(e,n,0,d)}revealLinesInCenter(e,n,d=0){this._revealLines(e,n,1,d)}revealLinesInCenterIfOutsideViewport(e,n,d=0){this._revealLines(e,n,2,d)}revealLinesNearTop(e,n,d=0){this._revealLines(e,n,5,d)}_revealLines(e,n,d,N){if(typeof e!="number"||typeof n!="number")throw new Error("Invalid arguments");this._sendRevealRange(new he.e(e,1,n,1),d,!1,N)}revealRange(e,n=0,d=!1,N=!0){this._revealRange(e,d?1:0,N,n)}revealRangeInCenter(e,n=0){this._revealRange(e,1,!0,n)}revealRangeInCenterIfOutsideViewport(e,n=0){this._revealRange(e,2,!0,n)}revealRangeNearTop(e,n=0){this._revealRange(e,5,!0,n)}revealRangeNearTopIfOutsideViewport(e,n=0){this._revealRange(e,6,!0,n)}revealRangeAtTop(e,n=0){this._revealRange(e,3,!0,n)}_revealRange(e,n,d,N){if(!he.e.isIRange(e))throw new Error("Invalid arguments");this._sendRevealRange(he.e.lift(e),n,d,N)}setSelections(e,n="api",d=0){if(this._modelData){if(!e||e.length===0)throw new Error("Invalid arguments");for(let N=0,A=e.length;N<A;N++)if(!C.Y.isISelection(e[N]))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(n,e,d)}}getContentWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getContentWidth():-1}getScrollWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollWidth():-1}getScrollLeft(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollLeft():-1}getContentHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getContentHeight():-1}getScrollHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollHeight():-1}getScrollTop(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollTop():-1}setScrollLeft(e,n=1){if(this._modelData){if(typeof e!="number")throw new Error("Invalid arguments");this._modelData.viewModel.setScrollPosition({scrollLeft:e},n)}}setScrollTop(e,n=1){if(this._modelData){if(typeof e!="number")throw new Error("Invalid arguments");this._modelData.viewModel.setScrollPosition({scrollTop:e},n)}}setScrollPosition(e,n=1){this._modelData&&this._modelData.viewModel.setScrollPosition(e,n)}saveViewState(){if(!this._modelData)return null;const e={},n=Object.keys(this._contributions);for(const A of n){const X=this._contributions[A];typeof X.saveViewState=="function"&&(e[A]=X.saveViewState())}const d=this._modelData.viewModel.saveCursorState(),N=this._modelData.viewModel.saveState();return{cursorState:d,viewState:N,contributionsState:e}}restoreViewState(e){if(!this._modelData||!this._modelData.hasRealView)return;const n=e;if(n&&n.cursorState&&n.viewState){const d=n.cursorState;Array.isArray(d)?this._modelData.viewModel.restoreCursorState(d):this._modelData.viewModel.restoreCursorState([d]);const N=n.contributionsState||{},A=Object.keys(this._contributions);for(let Le=0,Re=A.length;Le<Re;Le++){const Ge=A[Le],tt=this._contributions[Ge];typeof tt.restoreViewState=="function"&&tt.restoreViewState(N[Ge])}const X=this._modelData.viewModel.reduceRestoreState(n.viewState);this._modelData.view.restoreState(X)}}getContribution(e){return this._contributions[e]||null}getActions(){const e=[],n=Object.keys(this._actions);for(let d=0,N=n.length;d<N;d++){const A=n[d];e.push(this._actions[A])}return e}getSupportedActions(){let e=this.getActions();return e=e.filter(n=>n.isSupported()),e}getAction(e){return this._actions[e]||null}trigger(e,n,d){switch(d=d||{},n){case"compositionStart":this._startComposition();return;case"compositionEnd":this._endComposition(e);return;case"type":{const A=d;this._type(e,A.text||"");return}case"replacePreviousChar":{const A=d;this._compositionType(e,A.text||"",A.replaceCharCnt||0,0,0);return}case"compositionType":{const A=d;this._compositionType(e,A.text||"",A.replacePrevCharCnt||0,A.replaceNextCharCnt||0,A.positionDelta||0);return}case"paste":{const A=d;this._paste(e,A.text||"",A.pasteOnNewLine||!1,A.multicursorText||null,A.mode||null);return}case"cut":this._cut(e);return}const N=this.getAction(n);if(N){Promise.resolve(N.run()).then(void 0,y.dL);return}this._modelData&&(this._triggerEditorCommand(e,n,d)||this._triggerCommand(n,d))}_triggerCommand(e,n){this._commandService.executeCommand(e,n)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,n){!this._modelData||n.length===0||(e==="keyboard"&&this._onWillType.fire(n),this._modelData.viewModel.type(n,e),e==="keyboard"&&this._onDidType.fire(n))}_compositionType(e,n,d,N,A){this._modelData&&this._modelData.viewModel.compositionType(n,d,N,A,e)}_paste(e,n,d,N,A){if(!this._modelData||n.length===0)return;const X=this._modelData.viewModel.getSelection().getStartPosition();this._modelData.viewModel.paste(n,d,N,e);const Le=this._modelData.viewModel.getSelection().getStartPosition();e==="keyboard"&&this._onDidPaste.fire({range:new he.e(X.lineNumber,X.column,Le.lineNumber,Le.column),languageId:A})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,n,d){const N=H.Uc.getEditorCommand(n);return N?(d=d||{},d.source=e,this._instantiationService.invokeFunction(A=>{Promise.resolve(N.runEditorCommand(A,this,d)).then(void 0,y.dL)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(80)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(80)?!1:(this._modelData.model.popStackElement(),!0)}executeEdits(e,n,d){if(!this._modelData||this._configuration.options.get(80))return!1;let N;return d?Array.isArray(d)?N=()=>d:N=d:N=()=>null,this._modelData.viewModel.executeEdits(e,n,N),!0}executeCommand(e,n){this._modelData&&this._modelData.viewModel.executeCommand(n,e)}executeCommands(e,n){this._modelData&&this._modelData.viewModel.executeCommands(n,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,(0,ve.$J)(this._configuration.options)):null}deltaDecorations(e,n){return this._modelData?e.length===0&&n.length===0?e:this._modelData.model.deltaDecorations(e,n,this._id):[]}removeDecorations(e){const n=this._decorationTypeKeysToIds[e];n&&this.deltaDecorations(n,[]),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(129)}createOverviewRuler(e){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(e)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarMouseDown(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateVerticalScrollbarMouseDown(e)}layout(e){this._configuration.observeReferenceElement(e),this.render()}focus(){!this._modelData||!this._modelData.hasRealView||this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(e){const n={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a content widget with the same id."),this._contentWidgets[e.getId()]=n,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(n)}layoutContentWidget(e){const n=e.getId();if(this._contentWidgets.hasOwnProperty(n)){const d=this._contentWidgets[n];d.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(d)}}removeContentWidget(e){const n=e.getId();if(this._contentWidgets.hasOwnProperty(n)){const d=this._contentWidgets[n];delete this._contentWidgets[n],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(d)}}addOverlayWidget(e){const n={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[e.getId()]=n,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(n)}layoutOverlayWidget(e){const n=e.getId();if(this._overlayWidgets.hasOwnProperty(n)){const d=this._overlayWidgets[n];d.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(d)}}removeOverlayWidget(e){const n=e.getId();if(this._overlayWidgets.hasOwnProperty(n)){const d=this._overlayWidgets[n];delete this._overlayWidgets[n],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(d)}}changeViewZones(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.change(e)}getTargetAtClientPoint(e,n){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(e,n)}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;const n=this._modelData.model.validatePosition(e),d=this._configuration.options,N=d.get(129),A=wr._getVerticalOffsetForPosition(this._modelData,n.lineNumber,n.column)-this.getScrollTop(),X=this._modelData.view.getOffsetForColumn(n.lineNumber,n.column)+N.glyphMarginWidth+N.lineNumbersWidth+N.decorationsWidth-this.getScrollLeft();return{top:A,left:X,height:d.get(58)}}getOffsetForColumn(e,n){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(e,n)}render(e=!1){!this._modelData||!this._modelData.hasRealView||this._modelData.view.render(!0,e)}setAriaOptions(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.setAriaOptions(e)}applyFontInfo(e){g.V.applyFontInfoSlow(e,this._configuration.options.get(43))}_attachModel(e){if(!e){this._modelData=null;return}const n=[];this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setMaxLineNumber(e.getLineCount()),e.onBeforeAttached();const d=new vo(this._id,this._configuration,e,bo.create(),ao.create(this._configuration.options),X=>I.jL(X));n.push(e.onDidChangeDecorations(X=>this._onDidChangeModelDecorations.fire(X))),n.push(e.onDidChangeLanguage(X=>{this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._onDidChangeModelLanguage.fire(X)})),n.push(e.onDidChangeLanguageConfiguration(X=>this._onDidChangeModelLanguageConfiguration.fire(X))),n.push(e.onDidChangeContent(X=>this._onDidChangeModelContent.fire(X))),n.push(e.onDidChangeOptions(X=>this._onDidChangeModelOptions.fire(X))),n.push(e.onWillDispose(()=>this.setModel(null))),n.push(d.onEvent(X=>{switch(X.kind){case 0:this._onDidContentSizeChange.fire(X);break;case 1:this._editorTextFocus.setValue(X.hasFocus);break;case 2:this._onDidScrollChange.fire(X);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{X.reachedMaxCursorCount&&this._notificationService.warn(G.N("cursors.maximum","The number of cursors has been limited to {0}.",Is.MAX_CURSOR_COUNT));const Le=[];for(let tt=0,dt=X.selections.length;tt<dt;tt++)Le[tt]=X.selections[tt].getPosition();const Re={position:Le[0],secondaryPositions:Le.slice(1),reason:X.reason,source:X.source};this._onDidChangeCursorPosition.fire(Re);const Ge={selection:X.selections[0],secondarySelections:X.selections.slice(1),modelVersionId:X.modelVersionId,oldSelections:X.oldSelections,oldModelVersionId:X.oldModelVersionId,source:X.source,reason:X.reason};this._onDidChangeCursorSelection.fire(Ge);break}}}));const[N,A]=this._createView(d);if(A){this._domElement.appendChild(N.domNode.domNode);let X=Object.keys(this._contentWidgets);for(let Le=0,Re=X.length;Le<Re;Le++){const Ge=X[Le];N.addContentWidget(this._contentWidgets[Ge])}X=Object.keys(this._overlayWidgets);for(let Le=0,Re=X.length;Le<Re;Le++){const Ge=X[Le];N.addOverlayWidget(this._overlayWidgets[Ge])}N.render(!1,!0),N.domNode.domNode.setAttribute("data-uri",e.uri.toString())}this._modelData=new Kr(e,d,N,A,n)}_createView(e){let n;this.isSimpleWidget?n={paste:(A,X,Le,Re)=>{this._paste("keyboard",A,X,Le,Re)},type:A=>{this._type("keyboard",A)},compositionType:(A,X,Le,Re)=>{this._compositionType("keyboard",A,X,Le,Re)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:n={paste:(A,X,Le,Re)=>{const Ge={text:A,pasteOnNewLine:X,multicursorText:Le,mode:Re};this._commandService.executeCommand("paste",Ge)},type:A=>{const X={text:A};this._commandService.executeCommand("type",X)},compositionType:(A,X,Le,Re)=>{if(Le||Re){const Ge={text:A,replacePrevCharCnt:X,replaceNextCharCnt:Le,positionDelta:Re};this._commandService.executeCommand("compositionType",Ge)}else{const Ge={text:A,replaceCharCnt:X};this._commandService.executeCommand("replacePreviousChar",Ge)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const d=new Y(e.coordinatesConverter);return d.onKeyDown=A=>this._onKeyDown.fire(A),d.onKeyUp=A=>this._onKeyUp.fire(A),d.onContextMenu=A=>this._onContextMenu.fire(A),d.onMouseMove=A=>this._onMouseMove.fire(A),d.onMouseLeave=A=>this._onMouseLeave.fire(A),d.onMouseDown=A=>this._onMouseDown.fire(A),d.onMouseUp=A=>this._onMouseUp.fire(A),d.onMouseDrag=A=>this._onMouseDrag.fire(A),d.onMouseDrop=A=>this._onMouseDrop.fire(A),d.onMouseDropCanceled=A=>this._onMouseDropCanceled.fire(A),d.onMouseWheel=A=>this._onMouseWheel.fire(A),[new li(n,this._configuration,this._themeService,e,d,this._overflowWidgetsDomNode),!0]}_postDetachModelCleanup(e){e&&e.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(!this._modelData)return null;const e=this._modelData.model,n=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),n&&this._domElement.contains(n)&&this._domElement.removeChild(n),e}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return this._modelData!==null}};Ho=zr([js(3,Co.TG),js(4,w.$),js(5,Wr.H),js(6,Oo.i6),js(7,Ke.XE),js(8,Po.lT),js(9,Hn.F)],Ho);class rr extends p.JT{constructor(){super(),this._onDidChangeToTrue=this._register(new E.Q5),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new E.Q5),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){const n=e?2:1;this._value!==n&&(this._value=n,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}}class Uo extends p.JT{constructor(e,n){super(),this._editor=e,n.createKey("editorId",e.getId()),this._editorSimpleInput=Fn.u.editorSimpleInput.bindTo(n),this._editorFocus=Fn.u.focus.bindTo(n),this._textInputFocus=Fn.u.textInputFocus.bindTo(n),this._editorTextFocus=Fn.u.editorTextFocus.bindTo(n),this._editorTabMovesFocus=Fn.u.tabMovesFocus.bindTo(n),this._editorReadonly=Fn.u.readOnly.bindTo(n),this._inDiffEditor=Fn.u.inDiffEditor.bindTo(n),this._editorColumnSelection=Fn.u.columnSelection.bindTo(n),this._hasMultipleSelections=Fn.u.hasMultipleSelections.bindTo(n),this._hasNonEmptySelection=Fn.u.hasNonEmptySelection.bindTo(n),this._canUndo=Fn.u.canUndo.bindTo(n),this._canRedo=Fn.u.canRedo.bindTo(n),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const e=this._editor.getOptions();this._editorTabMovesFocus.set(e.get(128)),this._editorReadonly.set(e.get(80)),this._inDiffEditor.set(e.get(53)),this._editorColumnSelection.set(e.get(18))}_updateFromSelection(){const e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(n=>!n.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const e=this._editor.getModel();this._canUndo.set(!!(e&&e.canUndo())),this._canRedo.set(!!(e&&e.canRedo()))}}class zo extends p.JT{constructor(e,n){super(),this._editor=e,this._contextKeyService=n,this._langId=Fn.u.languageId.bindTo(n),this._hasCompletionItemProvider=Fn.u.hasCompletionItemProvider.bindTo(n),this._hasCodeActionsProvider=Fn.u.hasCodeActionsProvider.bindTo(n),this._hasCodeLensProvider=Fn.u.hasCodeLensProvider.bindTo(n),this._hasDefinitionProvider=Fn.u.hasDefinitionProvider.bindTo(n),this._hasDeclarationProvider=Fn.u.hasDeclarationProvider.bindTo(n),this._hasImplementationProvider=Fn.u.hasImplementationProvider.bindTo(n),this._hasTypeDefinitionProvider=Fn.u.hasTypeDefinitionProvider.bindTo(n),this._hasHoverProvider=Fn.u.hasHoverProvider.bindTo(n),this._hasDocumentHighlightProvider=Fn.u.hasDocumentHighlightProvider.bindTo(n),this._hasDocumentSymbolProvider=Fn.u.hasDocumentSymbolProvider.bindTo(n),this._hasReferenceProvider=Fn.u.hasReferenceProvider.bindTo(n),this._hasRenameProvider=Fn.u.hasRenameProvider.bindTo(n),this._hasSignatureHelpProvider=Fn.u.hasSignatureHelpProvider.bindTo(n),this._hasInlayHintsProvider=Fn.u.hasInlayHintsProvider.bindTo(n),this._hasDocumentFormattingProvider=Fn.u.hasDocumentFormattingProvider.bindTo(n),this._hasDocumentSelectionFormattingProvider=Fn.u.hasDocumentSelectionFormattingProvider.bindTo(n),this._hasMultipleDocumentFormattingProvider=Fn.u.hasMultipleDocumentFormattingProvider.bindTo(n),this._hasMultipleDocumentSelectionFormattingProvider=Fn.u.hasMultipleDocumentSelectionFormattingProvider.bindTo(n),this._isInWalkThrough=Fn.u.isInWalkThroughSnippet.bindTo(n);const d=()=>this._update();this._register(e.onDidChangeModel(d)),this._register(e.onDidChangeModelLanguage(d)),this._register(Lt.KZ.onDidChange(d)),this._register(Lt.H9.onDidChange(d)),this._register(Lt.He.onDidChange(d)),this._register(Lt.Ct.onDidChange(d)),this._register(Lt.RN.onDidChange(d)),this._register(Lt.vI.onDidChange(d)),this._register(Lt.tA.onDidChange(d)),this._register(Lt.xp.onDidChange(d)),this._register(Lt.vH.onDidChange(d)),this._register(Lt.vJ.onDidChange(d)),this._register(Lt.FL.onDidChange(d)),this._register(Lt.G0.onDidChange(d)),this._register(Lt.Az.onDidChange(d)),this._register(Lt.vN.onDidChange(d)),this._register(Lt.nD.onDidChange(d)),this._register(Lt.mX.onDidChange(d)),d()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInWalkThrough.reset()})}_update(){const e=this._editor.getModel();if(!e){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(Lt.KZ.has(e)),this._hasCodeActionsProvider.set(Lt.H9.has(e)),this._hasCodeLensProvider.set(Lt.He.has(e)),this._hasDefinitionProvider.set(Lt.Ct.has(e)),this._hasDeclarationProvider.set(Lt.RN.has(e)),this._hasImplementationProvider.set(Lt.vI.has(e)),this._hasTypeDefinitionProvider.set(Lt.tA.has(e)),this._hasHoverProvider.set(Lt.xp.has(e)),this._hasDocumentHighlightProvider.set(Lt.vH.has(e)),this._hasDocumentSymbolProvider.set(Lt.vJ.has(e)),this._hasReferenceProvider.set(Lt.FL.has(e)),this._hasRenameProvider.set(Lt.G0.has(e)),this._hasSignatureHelpProvider.set(Lt.nD.has(e)),this._hasInlayHintsProvider.set(Lt.mX.has(e)),this._hasDocumentFormattingProvider.set(Lt.Az.has(e)||Lt.vN.has(e)),this._hasDocumentSelectionFormattingProvider.set(Lt.vN.has(e)),this._hasMultipleDocumentFormattingProvider.set(Lt.Az.all(e).length+Lt.vN.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(Lt.vN.all(e).length>1),this._isInWalkThrough.set(e.uri.scheme===a.lg.walkThroughSnippet)})}}class jr extends p.JT{constructor(e){super(),this._onChange=this._register(new E.Q5),this.onChange=this._onChange.event,this._hasFocus=!1,this._domFocusTracker=this._register(I.go(e)),this._register(this._domFocusTracker.onDidFocus(()=>{this._hasFocus=!0,this._onChange.fire(void 0)})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasFocus=!1,this._onChange.fire(void 0)}))}hasFocus(){return this._hasFocus}}const As=encodeURIComponent("<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3' enable-background='new 0 0 6 3' height='3' width='6'><g fill='"),dn=encodeURIComponent("'><polygon points='5.5,0 2.5,3 1.1,3 4.1,0'/><polygon points='4,0 6,2 6,0.6 5.4,0'/><polygon points='0,2 1,3 2.4,3 0,0.6'/></g></svg>");function Ko(Tt){return As+encodeURIComponent(Tt.toString())+dn}const $r=encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" height="3" width="12"><g fill="'),Gr=encodeURIComponent('"><circle cx="1" cy="1" r="1"/><circle cx="5" cy="1" r="1"/><circle cx="9" cy="1" r="1"/></g></svg>');function jo(Tt){return $r+encodeURIComponent(Tt.toString())+Gr}(0,Ke.Ic)((Tt,e)=>{const n=Tt.getColor(nn.b6);n&&e.addRule(`.monaco-editor .squiggly-error { border-bottom: 4px double ${n}; }`);const d=Tt.getColor(nn.lX);d&&e.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${Ko(d)}") repeat-x bottom left; }`);const N=Tt.getColor(nn.A2);N&&e.addRule(`.monaco-editor .squiggly-error::before { display: block; content: ''; width: 100%; height: 100%; background: ${N}; }`);const A=Tt.getColor(nn.pW);A&&e.addRule(`.monaco-editor .squiggly-warning { border-bottom: 4px double ${A}; }`);const X=Tt.getColor(nn.uo);X&&e.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${Ko(X)}") repeat-x bottom left; }`);const Le=Tt.getColor(nn.gp);Le&&e.addRule(`.monaco-editor .squiggly-warning::before { display: block; content: ''; width: 100%; height: 100%; background: ${Le}; }`);const Re=Tt.getColor(nn.T8);Re&&e.addRule(`.monaco-editor .squiggly-info { border-bottom: 4px double ${Re}; }`);const Ge=Tt.getColor(nn.c6);Ge&&e.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${Ko(Ge)}") repeat-x bottom left; }`);const tt=Tt.getColor(nn.fe);tt&&e.addRule(`.monaco-editor .squiggly-info::before { display: block; content: ''; width: 100%; height: 100%; background: ${tt}; }`);const dt=Tt.getColor(nn.fE);dt&&e.addRule(`.monaco-editor .squiggly-hint { border-bottom: 2px dotted ${dt}; }`);const Ot=Tt.getColor(nn.Du);Ot&&e.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${jo(Ot)}") no-repeat bottom left; }`);const It=Tt.getColor(Oe.zu);It&&e.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${It.rgba.a}; }`);const Kt=Tt.getColor(Oe.kp);Kt&&e.addRule(`.monaco-editor.showUnused .squiggly-unnecessary { border-bottom: 2px dashed ${Kt}; }`);const qt=Tt.getColor(nn.NO)||"inherit";e.addRule(`.monaco-editor.showDeprecated .squiggly-inline-deprecated { text-decoration: line-through; text-decoration-color: ${qt}}`)})},49140:function(xt,Te,i){"use strict";i.d(Te,{p:function(){return Ae}});var h=i(13268),H=i(69454),O=i(2727),P=i(39665),D=i(50431),G=i(4348),I=i(69323),y=i(84571),E=i(39528),p=i(70827),a=i(11036),g=i(21784),w=i(1336),s=i(75918),C=i(4514),f=i(97199),v=i(35521),r=i(72146),l=i(30297),m=i(28750),c=i(8829),b=i(90689),L=i(44350),T=i(49055),M=i(52615),z=i(55773),oe=i(64992),se=function($e,Ie,Oe,Ke){var ct=arguments.length,Nt=ct<3?Ie:Ke===null?Ke=Object.getOwnPropertyDescriptor(Ie,Oe):Ke,$t;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Nt=Reflect.decorate($e,Ie,Oe,Ke);else for(var Xt=$e.length-1;Xt>=0;Xt--)($t=$e[Xt])&&(Nt=(ct<3?$t(Nt):ct>3?$t(Ie,Oe,Nt):$t(Ie,Oe))||Nt);return ct>3&&Nt&&Object.defineProperty(Ie,Oe,Nt),Nt},re=function($e,Ie){return function(Oe,Ke){Ie(Oe,Ke,$e)}},De=function($e,Ie,Oe,Ke){function ct(Nt){return Nt instanceof Oe?Nt:new Oe(function($t){$t(Nt)})}return new(Oe||(Oe=Promise))(function(Nt,$t){function Xt(mi){try{Zt(Ke.next(mi))}catch(mt){$t(mt)}}function Ci(mi){try{Zt(Ke.throw(mi))}catch(mt){$t(mt)}}function Zt(mi){mi.done?Nt(mi.value):ct(mi.value).then(Xt,Ci)}Zt((Ke=Ke.apply($e,Ie||[])).next())})},J;const Z=3;class Q{constructor(Ie,Oe,Ke,ct){this.originalLineStart=Ie,this.originalLineEnd=Oe,this.modifiedLineStart=Ke,this.modifiedLineEnd=ct}getType(){return this.originalLineStart===0?1:this.modifiedLineStart===0?2:0}}class le{constructor(Ie){this.entries=Ie}}const xe=(0,z.q5)("diff-review-insert",M.lA.add,h.N("diffReviewInsertIcon","Icon for 'Insert' in diff review.")),j=(0,z.q5)("diff-review-remove",M.lA.remove,h.N("diffReviewRemoveIcon","Icon for 'Remove' in diff review.")),R=(0,z.q5)("diff-review-close",M.lA.close,h.N("diffReviewCloseIcon","Icon for 'Close' in diff review."));let V=class mo extends I.JT{constructor(Ie,Oe){super(),this._modeService=Oe,this._width=0,this._diffEditor=Ie,this._isVisible=!1,this.shadow=(0,O.X)(document.createElement("div")),this.shadow.setClassName("diff-review-shadow"),this.actionBarContainer=(0,O.X)(document.createElement("div")),this.actionBarContainer.setClassName("diff-review-actions"),this._actionBar=this._register(new g.o(this.actionBarContainer.domNode)),this._actionBar.push(new s.aU("diffreview.close",h.N("label.close","Close"),"close-diff-review "+T.kS.asClassName(R),!0,()=>De(this,void 0,void 0,function*(){return this.hide()})),{label:!1,icon:!0}),this.domNode=(0,O.X)(document.createElement("div")),this.domNode.setClassName("diff-review monaco-editor-background"),this._content=(0,O.X)(document.createElement("div")),this._content.setClassName("diff-review-content"),this._content.setAttribute("role","code"),this.scrollbar=this._register(new w.s$(this._content.domNode,{})),this.domNode.domNode.appendChild(this.scrollbar.getDomNode()),this._register(Ie.onDidUpdateDiff(()=>{this._isVisible&&(this._diffs=this._compute(),this._render())})),this._register(Ie.getModifiedEditor().onDidChangeCursorPosition(()=>{this._isVisible&&this._render()})),this._register(H.mu(this.domNode.domNode,"click",Ke=>{Ke.preventDefault();let ct=H.Fx(Ke.target,"diff-review-row");ct&&this._goToRow(ct)})),this._register(H.mu(this.domNode.domNode,"keydown",Ke=>{(Ke.equals(18)||Ke.equals(2066)||Ke.equals(530))&&(Ke.preventDefault(),this._goToRow(this._getNextRow())),(Ke.equals(16)||Ke.equals(2064)||Ke.equals(528))&&(Ke.preventDefault(),this._goToRow(this._getPrevRow())),(Ke.equals(9)||Ke.equals(2057)||Ke.equals(521)||Ke.equals(1033))&&(Ke.preventDefault(),this.hide()),(Ke.equals(10)||Ke.equals(3))&&(Ke.preventDefault(),this.accept())})),this._diffs=[],this._currentDiff=null}prev(){let Ie=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){let Ke=-1;for(let ct=0,Nt=this._diffs.length;ct<Nt;ct++)if(this._diffs[ct]===this._currentDiff){Ke=ct;break}Ie=this._diffs.length+Ke-1}else Ie=this._findDiffIndex(this._diffEditor.getPosition());if(this._diffs.length===0)return;Ie=Ie%this._diffs.length;const Oe=this._diffs[Ie].entries;this._diffEditor.setPosition(new r.L(Oe[0].modifiedLineStart,1)),this._diffEditor.setSelection({startColumn:1,startLineNumber:Oe[0].modifiedLineStart,endColumn:1073741824,endLineNumber:Oe[Oe.length-1].modifiedLineEnd}),this._isVisible=!0,this._diffEditor.doLayout(),this._render(),this._goToRow(this._getNextRow())}next(){let Ie=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){let Ke=-1;for(let ct=0,Nt=this._diffs.length;ct<Nt;ct++)if(this._diffs[ct]===this._currentDiff){Ke=ct;break}Ie=Ke+1}else Ie=this._findDiffIndex(this._diffEditor.getPosition());if(this._diffs.length===0)return;Ie=Ie%this._diffs.length;const Oe=this._diffs[Ie].entries;this._diffEditor.setPosition(new r.L(Oe[0].modifiedLineStart,1)),this._diffEditor.setSelection({startColumn:1,startLineNumber:Oe[0].modifiedLineStart,endColumn:1073741824,endLineNumber:Oe[Oe.length-1].modifiedLineEnd}),this._isVisible=!0,this._diffEditor.doLayout(),this._render(),this._goToRow(this._getNextRow())}accept(){let Ie=-1,Oe=this._getCurrentFocusedRow();if(Oe){let Ke=parseInt(Oe.getAttribute("data-line"),10);isNaN(Ke)||(Ie=Ke)}this.hide(),Ie!==-1&&(this._diffEditor.setPosition(new r.L(Ie,1)),this._diffEditor.revealPosition(new r.L(Ie,1),1))}hide(){this._isVisible=!1,this._diffEditor.updateOptions({readOnly:!1}),this._diffEditor.focus(),this._diffEditor.doLayout(),this._render()}_getPrevRow(){let Ie=this._getCurrentFocusedRow();return Ie?Ie.previousElementSibling?Ie.previousElementSibling:Ie:this._getFirstRow()}_getNextRow(){let Ie=this._getCurrentFocusedRow();return Ie?Ie.nextElementSibling?Ie.nextElementSibling:Ie:this._getFirstRow()}_getFirstRow(){return this.domNode.domNode.querySelector(".diff-review-row")}_getCurrentFocusedRow(){let Ie=document.activeElement;return Ie&&/diff-review-row/.test(Ie.className)?Ie:null}_goToRow(Ie){let Oe=this._getCurrentFocusedRow();Ie.tabIndex=0,Ie.focus(),Oe&&Oe!==Ie&&(Oe.tabIndex=-1),this.scrollbar.scanDomNode()}isVisible(){return this._isVisible}layout(Ie,Oe,Ke){this._width=Oe,this.shadow.setTop(Ie-6),this.shadow.setWidth(Oe),this.shadow.setHeight(this._isVisible?6:0),this.domNode.setTop(Ie),this.domNode.setWidth(Oe),this.domNode.setHeight(Ke),this._content.setHeight(Ke),this._content.setWidth(Oe),this._isVisible?(this.actionBarContainer.setAttribute("aria-hidden","false"),this.actionBarContainer.setDisplay("block")):(this.actionBarContainer.setAttribute("aria-hidden","true"),this.actionBarContainer.setDisplay("none"))}_compute(){const Ie=this._diffEditor.getLineChanges();if(!Ie||Ie.length===0)return[];const Oe=this._diffEditor.getOriginalEditor().getModel(),Ke=this._diffEditor.getModifiedEditor().getModel();return!Oe||!Ke?[]:mo._mergeAdjacent(Ie,Oe.getLineCount(),Ke.getLineCount())}static _mergeAdjacent(Ie,Oe,Ke){if(!Ie||Ie.length===0)return[];let ct=[],Nt=0;for(let Zt=0,mi=Ie.length;Zt<mi;Zt++){const mt=Ie[Zt],ut=mt.originalStartLineNumber,qe=mt.originalEndLineNumber,de=mt.modifiedStartLineNumber,Se=mt.modifiedEndLineNumber;let Y=[],_e=0;{const ke=qe===0?ut:ut-1,lt=Se===0?de:de-1;let nt=1,pt=1;if(Zt>0){const Mt=Ie[Zt-1];Mt.originalEndLineNumber===0?nt=Mt.originalStartLineNumber+1:nt=Mt.originalEndLineNumber+1,Mt.modifiedEndLineNumber===0?pt=Mt.modifiedStartLineNumber+1:pt=Mt.modifiedEndLineNumber+1}let Dt=ke-Z+1,Vt=lt-Z+1;if(Dt<nt){const Mt=nt-Dt;Dt=Dt+Mt,Vt=Vt+Mt}if(Vt<pt){const Mt=pt-Vt;Dt=Dt+Mt,Vt=Vt+Mt}Y[_e++]=new Q(Dt,ke,Vt,lt)}qe!==0&&(Y[_e++]=new Q(ut,qe,0,0)),Se!==0&&(Y[_e++]=new Q(0,0,de,Se));{const ke=qe===0?ut+1:qe+1,lt=Se===0?de+1:Se+1;let nt=Oe,pt=Ke;if(Zt+1<mi){const Mt=Ie[Zt+1];Mt.originalEndLineNumber===0?nt=Mt.originalStartLineNumber:nt=Mt.originalStartLineNumber-1,Mt.modifiedEndLineNumber===0?pt=Mt.modifiedStartLineNumber:pt=Mt.modifiedStartLineNumber-1}let Dt=ke+Z-1,Vt=lt+Z-1;if(Dt>nt){const Mt=nt-Dt;Dt=Dt+Mt,Vt=Vt+Mt}if(Vt>pt){const Mt=pt-Vt;Dt=Dt+Mt,Vt=Vt+Mt}Y[_e++]=new Q(ke,Dt,lt,Vt)}ct[Nt++]=new le(Y)}let $t=ct[0].entries,Xt=[],Ci=0;for(let Zt=1,mi=ct.length;Zt<mi;Zt++){const mt=ct[Zt].entries,ut=$t[$t.length-1],qe=mt[0];if(ut.getType()===0&&qe.getType()===0&&qe.originalLineStart<=ut.originalLineEnd){$t[$t.length-1]=new Q(ut.originalLineStart,qe.originalLineEnd,ut.modifiedLineStart,qe.modifiedLineEnd),$t=$t.concat(mt.slice(1));continue}Xt[Ci++]=new le($t),$t=mt}return Xt[Ci++]=new le($t),Xt}_findDiffIndex(Ie){const Oe=Ie.lineNumber;for(let Ke=0,ct=this._diffs.length;Ke<ct;Ke++){const Nt=this._diffs[Ke].entries,$t=Nt[Nt.length-1].modifiedLineEnd;if(Oe<=$t)return Ke}return 0}_render(){const Ie=this._diffEditor.getOriginalEditor().getOptions(),Oe=this._diffEditor.getModifiedEditor().getOptions(),Ke=this._diffEditor.getOriginalEditor().getModel(),ct=this._diffEditor.getModifiedEditor().getModel(),Nt=Ke.getOptions(),$t=ct.getOptions();if(!this._isVisible||!Ke||!ct){H.PO(this._content.domNode),this._currentDiff=null,this.scrollbar.scanDomNode();return}this._diffEditor.updateOptions({readOnly:!0});const Xt=this._findDiffIndex(this._diffEditor.getPosition());if(this._diffs[Xt]===this._currentDiff)return;this._currentDiff=this._diffs[Xt];const Ci=this._diffs[Xt].entries;let Zt=document.createElement("div");Zt.className="diff-review-table",Zt.setAttribute("role","list"),Zt.setAttribute("aria-label",'Difference review. Use "Stage | Unstage | Revert Selected Ranges" commands'),y.V.applyFontInfoSlow(Zt,Oe.get(43));let mi=0,mt=0,ut=0,qe=0;for(let Vt=0,Mt=Ci.length;Vt<Mt;Vt++){const Jt=Ci[Vt],jt=Jt.originalLineStart,ui=Jt.originalLineEnd,vi=Jt.modifiedLineStart,Si=Jt.modifiedLineEnd;jt!==0&&(mi===0||jt<mi)&&(mi=jt),ui!==0&&(mt===0||ui>mt)&&(mt=ui),vi!==0&&(ut===0||vi<ut)&&(ut=vi),Si!==0&&(qe===0||Si>qe)&&(qe=Si)}let de=document.createElement("div");de.className="diff-review-row";let Se=document.createElement("div");Se.className="diff-review-cell diff-review-summary";const Y=mt-mi+1,_e=qe-ut+1;Se.appendChild(document.createTextNode(`${Xt+1}/${this._diffs.length}: @@ -${mi},${Y} +${ut},${_e} @@`)),de.setAttribute("data-line",String(ut));const ke=Vt=>Vt===0?h.N("no_lines_changed","no lines changed"):Vt===1?h.N("one_line_changed","1 line changed"):h.N("more_lines_changed","{0} lines changed",Vt),lt=ke(Y),nt=ke(_e);de.setAttribute("aria-label",h.N({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines changed", "1 line changed" or "X lines changed", localized separately.']},"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",Xt+1,this._diffs.length,mi,lt,ut,nt)),de.appendChild(Se),de.setAttribute("role","listitem"),Zt.appendChild(de);const pt=Oe.get(58);let Dt=ut;for(let Vt=0,Mt=Ci.length;Vt<Mt;Vt++){const Jt=Ci[Vt];mo._renderSection(Zt,Jt,Dt,pt,this._width,Ie,Ke,Nt,Oe,ct,$t,this._modeService.languageIdCodec),Jt.modifiedLineStart!==0&&(Dt=Jt.modifiedLineEnd)}H.PO(this._content.domNode),this._content.domNode.appendChild(Zt),this.scrollbar.scanDomNode()}static _renderSection(Ie,Oe,Ke,ct,Nt,$t,Xt,Ci,Zt,mi,mt,ut){const qe=Oe.getType();let de="diff-review-row",Se="";const Y="diff-review-spacer";let _e=null;switch(qe){case 1:de="diff-review-row line-insert",Se=" char-insert",_e=xe;break;case 2:de="diff-review-row line-delete",Se=" char-delete",_e=j;break}const ke=Oe.originalLineStart,lt=Oe.originalLineEnd,nt=Oe.modifiedLineStart,pt=Oe.modifiedLineEnd,Dt=Math.max(pt-nt,lt-ke),Vt=$t.get(129),Mt=Vt.glyphMarginWidth+Vt.lineNumbersWidth,Jt=Zt.get(129),jt=10+Jt.glyphMarginWidth+Jt.lineNumbersWidth;for(let ui=0;ui<=Dt;ui++){const vi=ke===0?0:ke+ui,Si=nt===0?0:nt+ui,Oi=document.createElement("div");Oi.style.minWidth=Nt+"px",Oi.className=de,Oi.setAttribute("role","listitem"),Si!==0&&(Ke=Si),Oi.setAttribute("data-line",String(Ke));let Ri=document.createElement("div");Ri.className="diff-review-cell",Ri.style.height=`${ct}px`,Oi.appendChild(Ri);const zi=document.createElement("span");zi.style.width=Mt+"px",zi.style.minWidth=Mt+"px",zi.className="diff-review-line-number"+Se,vi!==0?zi.appendChild(document.createTextNode(String(vi))):zi.innerText="\xA0",Ri.appendChild(zi);const hn=document.createElement("span");hn.style.width=jt+"px",hn.style.minWidth=jt+"px",hn.style.paddingRight="10px",hn.className="diff-review-line-number"+Se,Si!==0?hn.appendChild(document.createTextNode(String(Si))):hn.innerText="\xA0",Ri.appendChild(hn);const bn=document.createElement("span");if(bn.className=Y,_e){const yn=document.createElement("span");yn.className=T.kS.asClassName(_e),yn.innerText="\xA0\xA0",bn.appendChild(yn)}else bn.innerText="\xA0\xA0";Ri.appendChild(bn);let qi;if(Si!==0){let yn=this._renderLine(mi,Zt,mt.tabSize,Si,ut);mo._ttPolicy&&(yn=mo._ttPolicy.createHTML(yn)),Ri.insertAdjacentHTML("beforeend",yn),qi=mi.getLineContent(Si)}else{let yn=this._renderLine(Xt,$t,Ci.tabSize,vi,ut);mo._ttPolicy&&(yn=mo._ttPolicy.createHTML(yn)),Ri.insertAdjacentHTML("beforeend",yn),qi=Xt.getLineContent(vi)}qi.length===0&&(qi=h.N("blankLine","blank"));let Rn="";switch(qe){case 0:vi===Si?Rn=h.N({key:"unchangedLine",comment:["The placeholders are contents of the line and should not be translated."]},"{0} unchanged line {1}",qi,vi):Rn=h.N("equalLine","{0} original line {1} modified line {2}",qi,vi,Si);break;case 1:Rn=h.N("insertLine","+ {0} modified line {1}",qi,Si);break;case 2:Rn=h.N("deleteLine","- {0} original line {1}",qi,vi);break}Oi.setAttribute("aria-label",Rn),Ie.appendChild(Oi)}}static _renderLine(Ie,Oe,Ke,ct,Nt){const $t=Ie.getLineContent(ct),Xt=Oe.get(43),Ci=v.A.createEmpty($t,Nt),Zt=c.wA.isBasicASCII($t,Ie.mightContainNonBasicASCII()),mi=c.wA.containsRTL($t,Zt,Ie.mightContainRTL());return(0,m.tF)(new m.IJ(Xt.isMonospace&&!Oe.get(29),Xt.canUseHalfwidthRightwardsArrow,$t,!1,Zt,mi,0,Ci,[],Ke,0,Xt.spaceWidth,Xt.middotWidth,Xt.wsmiddotWidth,Oe.get(104),Oe.get(87),Oe.get(82),Oe.get(44)!==f.n0.OFF,null)).html}};V._ttPolicy=(J=window.trustedTypes)===null||J===void 0?void 0:J.createPolicy("diffReview",{createHTML:$e=>$e}),V=se([re(1,oe.h)],V),(0,T.Ic)(($e,Ie)=>{const Oe=$e.getColor(l.hw);Oe&&Ie.addRule(`.monaco-diff-editor .diff-review-line-number { color: ${Oe}; }`);const Ke=$e.getColor(L._w);Ke&&Ie.addRule(`.monaco-diff-editor .diff-review-shadow { box-shadow: ${Ke} 0 -6px 6px -6px inset; }`)});class K extends C.R6{constructor(){super({id:"editor.action.diffReview.next",label:h.N("editor.action.diffReview.next","Go to Next Difference"),alias:"Go to Next Difference",precondition:b.Ao.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:65,weight:100}})}run(Ie,Oe){const Ke=te(Ie);Ke&&Ke.diffReviewNext()}}class ie extends C.R6{constructor(){super({id:"editor.action.diffReview.prev",label:h.N("editor.action.diffReview.prev","Go to Previous Difference"),alias:"Go to Previous Difference",precondition:b.Ao.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:1089,weight:100}})}run(Ie,Oe){const Ke=te(Ie);Ke&&Ke.diffReviewPrev()}}function te($e){const Ie=$e.get(p.$),Oe=Ie.listDiffEditors(),Ke=Ie.getActiveCodeEditor();if(!Ke)return null;for(let ct=0,Nt=Oe.length;ct<Nt;ct++){const $t=Oe[ct];if($t.getModifiedEditor().getId()===Ke.getId()||$t.getOriginalEditor().getId()===Ke.getId())return $t}return null}(0,C.Qr)(K),(0,C.Qr)(ie);var ge=i(17373),ye=i(48772),ve=i(91676),Fe=i(31276),we=i(52645),ue=i(13169),ce=i(81112),Ve=i(16925),We=i(36916),ae=i(79504),fe=i(4999),ne=function($e,Ie,Oe,Ke){function ct(Nt){return Nt instanceof Oe?Nt:new Oe(function($t){$t(Nt)})}return new(Oe||(Oe=Promise))(function(Nt,$t){function Xt(mi){try{Zt(Ke.next(mi))}catch(mt){$t(mt)}}function Ci(mi){try{Zt(Ke.throw(mi))}catch(mt){$t(mt)}}function Zt(mi){mi.done?Nt(mi.value):ct(mi.value).then(Xt,Ci)}Zt((Ke=Ke.apply($e,Ie||[])).next())})};class W extends I.JT{constructor(Ie,Oe,Ke,ct,Nt,$t){super(),this._viewZoneId=Ie,this._marginDomNode=Oe,this.editor=Ke,this.diff=ct,this._contextMenuService=Nt,this._clipboardService=$t,this._visibility=!1,this._marginDomNode.style.zIndex="10",this._diffActions=document.createElement("div"),this._diffActions.className=M.lA.lightBulb.classNames+" lightbulb-glyph",this._diffActions.style.position="absolute";const Xt=Ke.getOption(58),Ci=Ke.getModel().getEOL();this._diffActions.style.right="0px",this._diffActions.style.visibility="hidden",this._diffActions.style.height=`${Xt}px`,this._diffActions.style.lineHeight=`${Xt}px`,this._marginDomNode.appendChild(this._diffActions);const Zt=[],mi=ct.modifiedEndLineNumber===0;Zt.push(new s.aU("diff.clipboard.copyDeletedContent",mi?ct.originalEndLineNumber>ct.modifiedStartLineNumber?h.N("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):h.N("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"):ct.originalEndLineNumber>ct.modifiedStartLineNumber?h.N("diff.clipboard.copyChangedLinesContent.label","Copy changed lines"):h.N("diff.clipboard.copyChangedLinesContent.single.label","Copy changed line"),void 0,!0,()=>ne(this,void 0,void 0,function*(){const Se=new ge.e(ct.originalStartLineNumber,1,ct.originalEndLineNumber+1,1),Y=ct.originalModel.getValueInRange(Se);yield this._clipboardService.writeText(Y)})));let mt=0,ut;ct.originalEndLineNumber>ct.modifiedStartLineNumber&&(ut=new s.aU("diff.clipboard.copyDeletedLineContent",mi?h.N("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",ct.originalStartLineNumber):h.N("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",ct.originalStartLineNumber),void 0,!0,()=>ne(this,void 0,void 0,function*(){const Se=ct.originalModel.getLineContent(ct.originalStartLineNumber+mt);if(Se===""){const Y=ct.originalModel.getEndOfLineSequence();yield this._clipboardService.writeText(Y===0?`
`:`\r
`)}else yield this._clipboardService.writeText(Se)})),Zt.push(ut)),Ke.getOption(80)||Zt.push(new s.aU("diff.inline.revertChange",h.N("diff.inline.revertChange.label","Revert this change"),void 0,!0,()=>ne(this,void 0,void 0,function*(){const Se=new ge.e(ct.originalStartLineNumber,1,ct.originalEndLineNumber,ct.originalModel.getLineMaxColumn(ct.originalEndLineNumber)),Y=ct.originalModel.getValueInRange(Se);if(ct.modifiedEndLineNumber===0){const _e=Ke.getModel().getLineMaxColumn(ct.modifiedStartLineNumber);Ke.executeEdits("diffEditor",[{range:new ge.e(ct.modifiedStartLineNumber,_e,ct.modifiedStartLineNumber,_e),text:Ci+Y}])}else{const _e=Ke.getModel().getLineMaxColumn(ct.modifiedEndLineNumber);Ke.executeEdits("diffEditor",[{range:new ge.e(ct.modifiedStartLineNumber,1,ct.modifiedEndLineNumber,_e),text:Y}])}})));const de=(Se,Y)=>{this._contextMenuService.showContextMenu({getAnchor:()=>({x:Se,y:Y}),getActions:()=>(ut&&(ut.label=mi?h.N("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",ct.originalStartLineNumber+mt):h.N("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",ct.originalStartLineNumber+mt)),Zt),autoSelectFirstItem:!0})};this._register(H.mu(this._diffActions,"mousedown",Se=>{const{top:Y,height:_e}=H.i(this._diffActions);let ke=Math.floor(Xt/3);Se.preventDefault(),de(Se.posx,Y+_e+ke)})),this._register(Ke.onMouseMove(Se=>{Se.target.type===8||Se.target.type===5?Se.target.detail.viewZoneId===this._viewZoneId?(this.visibility=!0,mt=this._updateLightBulbPosition(this._marginDomNode,Se.event.browserEvent.y,Xt)):this.visibility=!1:this.visibility=!1})),this._register(Ke.onMouseDown(Se=>{Se.event.rightButton&&(Se.target.type===8||Se.target.type===5)&&Se.target.detail.viewZoneId===this._viewZoneId&&(Se.event.preventDefault(),mt=this._updateLightBulbPosition(this._marginDomNode,Se.event.browserEvent.y,Xt),de(Se.event.posx,Se.event.posy+Xt))}))}get visibility(){return this._visibility}set visibility(Ie){this._visibility!==Ie&&(this._visibility=Ie,Ie?this._diffActions.style.visibility="visible":this._diffActions.style.visibility="hidden")}_updateLightBulbPosition(Ie,Oe,Ke){const{top:ct}=H.i(Ie),Nt=Oe-ct,$t=Math.floor(Nt/Ke),Xt=$t*Ke;if(this._diffActions.style.top=`${Xt}px`,this.diff.viewLineCounts){let Ci=0;for(let Zt=0;Zt<this.diff.viewLineCounts.length;Zt++)if(Ci+=this.diff.viewLineCounts[Zt],$t<Ci)return Zt}return $t}}var $=i(54622),ee=i(79881),he=i(81641),Pe=i(34002),Ye=i(28652),it=function($e,Ie,Oe,Ke){var ct=arguments.length,Nt=ct<3?Ie:Ke===null?Ke=Object.getOwnPropertyDescriptor(Ie,Oe):Ke,$t;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Nt=Reflect.decorate($e,Ie,Oe,Ke);else for(var Xt=$e.length-1;Xt>=0;Xt--)($t=$e[Xt])&&(Nt=(ct<3?$t(Nt):ct>3?$t(Ie,Oe,Nt):$t(Ie,Oe))||Nt);return ct>3&&Nt&&Object.defineProperty(Ie,Oe,Nt),Nt},rt=function($e,Ie){return function(Oe,Ke){Ie(Oe,Ke,$e)}},vt;class Ft{constructor(Ie,Oe){this._contextMenuService=Ie,this._clipboardService=Oe,this._zones=[],this._inlineDiffMargins=[],this._zonesMap={},this._decorations=[]}getForeignViewZones(Ie){return Ie.filter(Oe=>!this._zonesMap[String(Oe.id)])}clean(Ie){this._zones.length>0&&Ie.changeViewZones(Oe=>{for(const Ke of this._zones)Oe.removeZone(Ke)}),this._zones=[],this._zonesMap={},this._decorations=Ie.deltaDecorations(this._decorations,[])}apply(Ie,Oe,Ke,ct){const Nt=ct?E.ZF.capture(Ie):null;Ie.changeViewZones($t=>{var Xt;for(const Ci of this._zones)$t.removeZone(Ci);for(const Ci of this._inlineDiffMargins)Ci.dispose();this._zones=[],this._zonesMap={},this._inlineDiffMargins=[];for(let Ci=0,Zt=Ke.zones.length;Ci<Zt;Ci++){const mi=Ke.zones[Ci];mi.suppressMouseDown=!0;const mt=$t.addZone(mi);this._zones.push(mt),this._zonesMap[String(mt)]=!0,Ke.zones[Ci].diff&&mi.marginDomNode&&(mi.suppressMouseDown=!1,((Xt=Ke.zones[Ci].diff)===null||Xt===void 0?void 0:Xt.originalModel.getValueLength())!==0&&this._inlineDiffMargins.push(new W(mt,mi.marginDomNode,Ie,Ke.zones[Ci].diff,this._contextMenuService,this._clipboardService)))}}),Nt&&Nt.restore(Ie),this._decorations=Ie.deltaDecorations(this._decorations,Ke.decorations),Oe&&Oe.setZones(Ke.overviewZones)}}let Ht=0;const ze=(0,z.q5)("diff-insert",M.lA.add,h.N("diffInsertIcon","Line decoration for inserts in the diff editor.")),Xe=(0,z.q5)("diff-remove",M.lA.remove,h.N("diffRemoveIcon","Line decoration for removals in the diff editor.")),Ze=(vt=window.trustedTypes)===null||vt===void 0?void 0:vt.createPolicy("diffEditorWidget",{createHTML:$e=>$e});let Ae=class _s extends I.JT{constructor(Ie,Oe,Ke,ct,Nt,$t,Xt,Ci,Zt,mi,mt,ut){super(),this._editorProgressService=ut,this._onDidDispose=this._register(new G.Q5),this.onDidDispose=this._onDidDispose.event,this._onDidUpdateDiff=this._register(new G.Q5),this.onDidUpdateDiff=this._onDidUpdateDiff.event,this._onDidContentSizeChange=this._register(new G.Q5),this._lastOriginalWarning=null,this._lastModifiedWarning=null,this._editorWorkerService=Nt,this._codeEditorService=Ci,this._contextKeyService=this._register($t.createScoped(Ie)),this._instantiationService=Xt.createChild(new We.y([b.i6,this._contextKeyService])),this._contextKeyService.createKey("isInDiffEditor",!0),this._themeService=Zt,this._notificationService=mi,this._id=++Ht,this._state=0,this._updatingDiffProgress=null,this._domElement=Ie,Oe=Oe||{},this._options=ht(Oe,{enableSplitViewResizing:!0,renderSideBySide:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit"}),typeof Oe.isInEmbeddedEditor!="undefined"?this._contextKeyService.createKey("isInEmbeddedDiffEditor",Oe.isInEmbeddedEditor):this._contextKeyService.createKey("isInEmbeddedDiffEditor",!1),this._updateDecorationsRunner=this._register(new D.pY(()=>this._updateDecorations(),0)),this._containerDomElement=document.createElement("div"),this._containerDomElement.className=_s._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide),this._containerDomElement.style.position="relative",this._containerDomElement.style.height="100%",this._domElement.appendChild(this._containerDomElement),this._overviewViewportDomElement=(0,O.X)(document.createElement("div")),this._overviewViewportDomElement.setClassName("diffViewport"),this._overviewViewportDomElement.setPosition("absolute"),this._overviewDomElement=document.createElement("div"),this._overviewDomElement.className="diffOverview",this._overviewDomElement.style.position="absolute",this._overviewDomElement.appendChild(this._overviewViewportDomElement.domNode),this._register(H.mu(this._overviewDomElement,"mousedown",de=>{this._modifiedEditor.delegateVerticalScrollbarMouseDown(de)})),this._options.renderOverviewRuler&&this._containerDomElement.appendChild(this._overviewDomElement),this._originalDomNode=document.createElement("div"),this._originalDomNode.className="editor original",this._originalDomNode.style.position="absolute",this._originalDomNode.style.height="100%",this._containerDomElement.appendChild(this._originalDomNode),this._modifiedDomNode=document.createElement("div"),this._modifiedDomNode.className="editor modified",this._modifiedDomNode.style.position="absolute",this._modifiedDomNode.style.height="100%",this._containerDomElement.appendChild(this._modifiedDomNode),this._beginUpdateDecorationsTimeout=-1,this._currentlyChangingViewZones=!1,this._diffComputationToken=0,this._originalEditorState=new Ft(mt,ct),this._modifiedEditorState=new Ft(mt,ct),this._isVisible=!0,this._isHandlingScrollEvent=!1,this._elementSizeObserver=this._register(new Pe.I(this._containerDomElement,Oe.dimension,()=>this._onDidContainerSizeChanged())),Oe.automaticLayout&&this._elementSizeObserver.startObserving(),this._diffComputationResult=null,this._originalEditor=this._createLeftHandSideEditor(Oe,Ke.originalEditor||{}),this._modifiedEditor=this._createRightHandSideEditor(Oe,Ke.modifiedEditor||{}),this._originalOverviewRuler=null,this._modifiedOverviewRuler=null,this._reviewPane=Xt.createInstance(V,this),this._containerDomElement.appendChild(this._reviewPane.domNode.domNode),this._containerDomElement.appendChild(this._reviewPane.shadow.domNode),this._containerDomElement.appendChild(this._reviewPane.actionBarContainer.domNode),this._options.renderSideBySide?this._setStrategy(new hi(this._createDataSource(),this._options.enableSplitViewResizing)):this._setStrategy(new Ti(this._createDataSource(),this._options.enableSplitViewResizing)),this._register(Zt.onDidColorThemeChange(de=>{this._strategy&&this._strategy.applyColors(de)&&this._updateDecorationsRunner.schedule(),this._containerDomElement.className=_s._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide)}));const qe=C.Uc.getDiffEditorContributions();for(const de of qe)try{this._register(Xt.createInstance(de.ctor,this))}catch(Se){(0,ee.dL)(Se)}this._codeEditorService.addDiffEditor(this)}_setState(Ie){this._state!==Ie&&(this._state=Ie,this._updatingDiffProgress&&(this._updatingDiffProgress.done(),this._updatingDiffProgress=null),this._state===1&&(this._updatingDiffProgress=this._editorProgressService.show(!0,1e3)))}diffReviewNext(){this._reviewPane.next()}diffReviewPrev(){this._reviewPane.prev()}static _getClassName(Ie,Oe){let Ke="monaco-diff-editor monaco-editor-background ";return Oe&&(Ke+="side-by-side "),Ke+=(0,T.m6)(Ie.type),Ke}_recreateOverviewRulers(){this._options.renderOverviewRuler&&(this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._originalEditor.hasModel()&&(this._originalOverviewRuler=this._originalEditor.createOverviewRuler("original diffOverviewRuler"),this._overviewDomElement.appendChild(this._originalOverviewRuler.getDomNode())),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._modifiedEditor.hasModel()&&(this._modifiedOverviewRuler=this._modifiedEditor.createOverviewRuler("modified diffOverviewRuler"),this._overviewDomElement.appendChild(this._modifiedOverviewRuler.getDomNode())),this._layoutOverviewRulers())}_createLeftHandSideEditor(Ie,Oe){const Ke=this._createInnerEditor(this._instantiationService,this._originalDomNode,this._adjustOptionsForLeftHandSide(Ie),Oe);this._register(Ke.onDidScrollChange(Nt=>{this._isHandlingScrollEvent||!Nt.scrollTopChanged&&!Nt.scrollLeftChanged&&!Nt.scrollHeightChanged||(this._isHandlingScrollEvent=!0,this._modifiedEditor.setScrollPosition({scrollLeft:Nt.scrollLeft,scrollTop:Nt.scrollTop}),this._isHandlingScrollEvent=!1,this._layoutOverviewViewport())})),this._register(Ke.onDidChangeViewZones(()=>{this._onViewZonesChanged()})),this._register(Ke.onDidChangeConfiguration(Nt=>{Ke.getModel()&&(Nt.hasChanged(43)&&this._updateDecorationsRunner.schedule(),Nt.hasChanged(130)&&(this._updateDecorationsRunner.cancel(),this._updateDecorations()))})),this._register(Ke.onDidChangeHiddenAreas(()=>{this._updateDecorationsRunner.cancel(),this._updateDecorations()})),this._register(Ke.onDidChangeModelContent(()=>{this._isVisible&&this._beginUpdateDecorationsSoon()}));const ct=this._contextKeyService.createKey("isInDiffLeftEditor",Ke.hasWidgetFocus());return this._register(Ke.onDidFocusEditorWidget(()=>ct.set(!0))),this._register(Ke.onDidBlurEditorWidget(()=>ct.set(!1))),this._register(Ke.onDidContentSizeChange(Nt=>{const $t=this._originalEditor.getContentWidth()+this._modifiedEditor.getContentWidth()+_s.ONE_OVERVIEW_WIDTH,Xt=Math.max(this._modifiedEditor.getContentHeight(),this._originalEditor.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:Xt,contentWidth:$t,contentHeightChanged:Nt.contentHeightChanged,contentWidthChanged:Nt.contentWidthChanged})})),Ke}_createRightHandSideEditor(Ie,Oe){const Ke=this._createInnerEditor(this._instantiationService,this._modifiedDomNode,this._adjustOptionsForRightHandSide(Ie),Oe);this._register(Ke.onDidScrollChange(Nt=>{this._isHandlingScrollEvent||!Nt.scrollTopChanged&&!Nt.scrollLeftChanged&&!Nt.scrollHeightChanged||(this._isHandlingScrollEvent=!0,this._originalEditor.setScrollPosition({scrollLeft:Nt.scrollLeft,scrollTop:Nt.scrollTop}),this._isHandlingScrollEvent=!1,this._layoutOverviewViewport())})),this._register(Ke.onDidChangeViewZones(()=>{this._onViewZonesChanged()})),this._register(Ke.onDidChangeConfiguration(Nt=>{Ke.getModel()&&(Nt.hasChanged(43)&&this._updateDecorationsRunner.schedule(),Nt.hasChanged(130)&&(this._updateDecorationsRunner.cancel(),this._updateDecorations()))})),this._register(Ke.onDidChangeHiddenAreas(()=>{this._updateDecorationsRunner.cancel(),this._updateDecorations()})),this._register(Ke.onDidChangeModelContent(()=>{this._isVisible&&this._beginUpdateDecorationsSoon()})),this._register(Ke.onDidChangeModelOptions(Nt=>{Nt.tabSize&&this._updateDecorationsRunner.schedule()}));const ct=this._contextKeyService.createKey("isInDiffRightEditor",Ke.hasWidgetFocus());return this._register(Ke.onDidFocusEditorWidget(()=>ct.set(!0))),this._register(Ke.onDidBlurEditorWidget(()=>ct.set(!1))),this._register(Ke.onDidContentSizeChange(Nt=>{const $t=this._originalEditor.getContentWidth()+this._modifiedEditor.getContentWidth()+_s.ONE_OVERVIEW_WIDTH,Xt=Math.max(this._modifiedEditor.getContentHeight(),this._originalEditor.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:Xt,contentWidth:$t,contentHeightChanged:Nt.contentHeightChanged,contentWidthChanged:Nt.contentWidthChanged})})),Ke}_createInnerEditor(Ie,Oe,Ke,ct){return Ie.createInstance(a.Gm,Oe,Ke,ct)}dispose(){this._codeEditorService.removeDiffEditor(this),this._beginUpdateDecorationsTimeout!==-1&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),this._cleanViewZonesAndDecorations(),this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._overviewDomElement.removeChild(this._overviewViewportDomElement.domNode),this._options.renderOverviewRuler&&this._containerDomElement.removeChild(this._overviewDomElement),this._containerDomElement.removeChild(this._originalDomNode),this._originalEditor.dispose(),this._containerDomElement.removeChild(this._modifiedDomNode),this._modifiedEditor.dispose(),this._strategy.dispose(),this._containerDomElement.removeChild(this._reviewPane.domNode.domNode),this._containerDomElement.removeChild(this._reviewPane.shadow.domNode),this._containerDomElement.removeChild(this._reviewPane.actionBarContainer.domNode),this._reviewPane.dispose(),this._domElement.removeChild(this._containerDomElement),this._onDidDispose.fire(),super.dispose()}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return ve.g.IDiffEditor}getLineChanges(){return this._diffComputationResult?this._diffComputationResult.changes:null}getOriginalEditor(){return this._originalEditor}getModifiedEditor(){return this._modifiedEditor}updateOptions(Ie){const Oe=ht(Ie,this._options),Ke=Qe(this._options,Oe);this._options=Oe;const ct=Ke.ignoreTrimWhitespace||Ke.renderIndicators,Nt=this._isVisible&&(Ke.maxComputationTime||Ke.maxFileSize);ct?this._beginUpdateDecorations():Nt&&this._beginUpdateDecorationsSoon(),this._modifiedEditor.updateOptions(this._adjustOptionsForRightHandSide(Ie)),this._originalEditor.updateOptions(this._adjustOptionsForLeftHandSide(Ie)),this._strategy.setEnableSplitViewResizing(this._options.enableSplitViewResizing),Ke.renderSideBySide&&(this._options.renderSideBySide?this._setStrategy(new hi(this._createDataSource(),this._options.enableSplitViewResizing)):this._setStrategy(new Ti(this._createDataSource(),this._options.enableSplitViewResizing)),this._containerDomElement.className=_s._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide)),Ke.renderOverviewRuler&&(this._options.renderOverviewRuler?this._containerDomElement.appendChild(this._overviewDomElement):this._containerDomElement.removeChild(this._overviewDomElement))}getModel(){return{original:this._originalEditor.getModel(),modified:this._modifiedEditor.getModel()}}setModel(Ie){if(Ie&&(!Ie.original||!Ie.modified))throw new Error(Ie.original?"DiffEditorWidget.setModel: Modified model is null":"DiffEditorWidget.setModel: Original model is null");this._cleanViewZonesAndDecorations(),this._originalEditor.setModel(Ie?Ie.original:null),this._modifiedEditor.setModel(Ie?Ie.modified:null),this._updateDecorationsRunner.cancel(),Ie&&(this._originalEditor.setScrollTop(0),this._modifiedEditor.setScrollTop(0)),this._diffComputationResult=null,this._diffComputationToken++,this._setState(0),Ie&&(this._recreateOverviewRulers(),this._beginUpdateDecorations()),this._layoutOverviewViewport()}getDomNode(){return this._domElement}getVisibleColumnFromPosition(Ie){return this._modifiedEditor.getVisibleColumnFromPosition(Ie)}getPosition(){return this._modifiedEditor.getPosition()}setPosition(Ie){this._modifiedEditor.setPosition(Ie)}revealLine(Ie,Oe=0){this._modifiedEditor.revealLine(Ie,Oe)}revealLineInCenter(Ie,Oe=0){this._modifiedEditor.revealLineInCenter(Ie,Oe)}revealLineInCenterIfOutsideViewport(Ie,Oe=0){this._modifiedEditor.revealLineInCenterIfOutsideViewport(Ie,Oe)}revealLineNearTop(Ie,Oe=0){this._modifiedEditor.revealLineNearTop(Ie,Oe)}revealPosition(Ie,Oe=0){this._modifiedEditor.revealPosition(Ie,Oe)}revealPositionInCenter(Ie,Oe=0){this._modifiedEditor.revealPositionInCenter(Ie,Oe)}revealPositionInCenterIfOutsideViewport(Ie,Oe=0){this._modifiedEditor.revealPositionInCenterIfOutsideViewport(Ie,Oe)}revealPositionNearTop(Ie,Oe=0){this._modifiedEditor.revealPositionNearTop(Ie,Oe)}getSelection(){return this._modifiedEditor.getSelection()}getSelections(){return this._modifiedEditor.getSelections()}setSelection(Ie){this._modifiedEditor.setSelection(Ie)}setSelections(Ie){this._modifiedEditor.setSelections(Ie)}revealLines(Ie,Oe,Ke=0){this._modifiedEditor.revealLines(Ie,Oe,Ke)}revealLinesInCenter(Ie,Oe,Ke=0){this._modifiedEditor.revealLinesInCenter(Ie,Oe,Ke)}revealLinesInCenterIfOutsideViewport(Ie,Oe,Ke=0){this._modifiedEditor.revealLinesInCenterIfOutsideViewport(Ie,Oe,Ke)}revealLinesNearTop(Ie,Oe,Ke=0){this._modifiedEditor.revealLinesNearTop(Ie,Oe,Ke)}revealRange(Ie,Oe=0,Ke=!1,ct=!0){this._modifiedEditor.revealRange(Ie,Oe,Ke,ct)}revealRangeInCenter(Ie,Oe=0){this._modifiedEditor.revealRangeInCenter(Ie,Oe)}revealRangeInCenterIfOutsideViewport(Ie,Oe=0){this._modifiedEditor.revealRangeInCenterIfOutsideViewport(Ie,Oe)}revealRangeNearTop(Ie,Oe=0){this._modifiedEditor.revealRangeNearTop(Ie,Oe)}revealRangeNearTopIfOutsideViewport(Ie,Oe=0){this._modifiedEditor.revealRangeNearTopIfOutsideViewport(Ie,Oe)}revealRangeAtTop(Ie,Oe=0){this._modifiedEditor.revealRangeAtTop(Ie,Oe)}getSupportedActions(){return this._modifiedEditor.getSupportedActions()}saveViewState(){const Ie=this._originalEditor.saveViewState(),Oe=this._modifiedEditor.saveViewState();return{original:Ie,modified:Oe}}restoreViewState(Ie){if(Ie&&Ie.original&&Ie.modified){const Oe=Ie;this._originalEditor.restoreViewState(Oe.original),this._modifiedEditor.restoreViewState(Oe.modified)}}layout(Ie){this._elementSizeObserver.observe(Ie)}focus(){this._modifiedEditor.focus()}hasTextFocus(){return this._originalEditor.hasTextFocus()||this._modifiedEditor.hasTextFocus()}trigger(Ie,Oe,Ke){this._modifiedEditor.trigger(Ie,Oe,Ke)}changeDecorations(Ie){return this._modifiedEditor.changeDecorations(Ie)}_onDidContainerSizeChanged(){this._doLayout()}_getReviewHeight(){return this._reviewPane.isVisible()?this._elementSizeObserver.getHeight():0}_layoutOverviewRulers(){if(!this._options.renderOverviewRuler||!this._originalOverviewRuler||!this._modifiedOverviewRuler)return;const Ie=this._elementSizeObserver.getHeight(),Oe=this._getReviewHeight(),Ke=_s.ENTIRE_DIFF_OVERVIEW_WIDTH-2*_s.ONE_OVERVIEW_WIDTH;this._modifiedEditor.getLayoutInfo()&&(this._originalOverviewRuler.setLayout({top:0,width:_s.ONE_OVERVIEW_WIDTH,right:Ke+_s.ONE_OVERVIEW_WIDTH,height:Ie-Oe}),this._modifiedOverviewRuler.setLayout({top:0,right:0,width:_s.ONE_OVERVIEW_WIDTH,height:Ie-Oe}))}_onViewZonesChanged(){this._currentlyChangingViewZones||this._updateDecorationsRunner.schedule()}_beginUpdateDecorationsSoon(){this._beginUpdateDecorationsTimeout!==-1&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),this._beginUpdateDecorationsTimeout=window.setTimeout(()=>this._beginUpdateDecorations(),_s.UPDATE_DIFF_DECORATIONS_DELAY)}static _equals(Ie,Oe){return!Ie&&!Oe?!0:!Ie||!Oe?!1:Ie.toString()===Oe.toString()}_beginUpdateDecorations(){this._beginUpdateDecorationsTimeout=-1;const Ie=this._originalEditor.getModel(),Oe=this._modifiedEditor.getModel();if(!Ie||!Oe)return;this._diffComputationToken++;const Ke=this._diffComputationToken,ct=this._options.maxFileSize*1024*1024,Nt=$t=>{const Xt=$t.getValueLength();return ct===0||Xt<=ct};if(!Nt(Ie)||!Nt(Oe)){(!_s._equals(Ie.uri,this._lastOriginalWarning)||!_s._equals(Oe.uri,this._lastModifiedWarning))&&(this._lastOriginalWarning=Ie.uri,this._lastModifiedWarning=Oe.uri,this._notificationService.warn(h.N("diff.tooLarge","Cannot compare files because one file is too large.")));return}this._setState(1),this._editorWorkerService.computeDiff(Ie.uri,Oe.uri,this._options.ignoreTrimWhitespace,this._options.maxComputationTime).then($t=>{Ke===this._diffComputationToken&&Ie===this._originalEditor.getModel()&&Oe===this._modifiedEditor.getModel()&&(this._setState(2),this._diffComputationResult=$t,this._updateDecorationsRunner.schedule(),this._onDidUpdateDiff.fire())},$t=>{Ke===this._diffComputationToken&&Ie===this._originalEditor.getModel()&&Oe===this._modifiedEditor.getModel()&&(this._setState(2),this._diffComputationResult=null,this._updateDecorationsRunner.schedule())})}_cleanViewZonesAndDecorations(){this._originalEditorState.clean(this._originalEditor),this._modifiedEditorState.clean(this._modifiedEditor)}_updateDecorations(){if(!this._originalEditor.getModel()||!this._modifiedEditor.getModel())return;const Ie=this._diffComputationResult?this._diffComputationResult.changes:[],Oe=this._originalEditorState.getForeignViewZones(this._originalEditor.getWhitespaces()),Ke=this._modifiedEditorState.getForeignViewZones(this._modifiedEditor.getWhitespaces()),ct=this._strategy.getEditorsDiffDecorations(Ie,this._options.ignoreTrimWhitespace,this._options.renderIndicators,Oe,Ke);try{this._currentlyChangingViewZones=!0,this._originalEditorState.apply(this._originalEditor,this._originalOverviewRuler,ct.original,!1),this._modifiedEditorState.apply(this._modifiedEditor,this._modifiedOverviewRuler,ct.modified,!0)}finally{this._currentlyChangingViewZones=!1}}_adjustOptionsForSubEditor(Ie){const Oe=Object.assign({},Ie);return Oe.inDiffEditor=!0,Oe.automaticLayout=!1,Oe.scrollbar=Object.assign({},Oe.scrollbar||{}),Oe.scrollbar.vertical="visible",Oe.folding=!1,Oe.codeLens=this._options.diffCodeLens,Oe.fixedOverflowWidgets=!0,Oe.minimap=Object.assign({},Oe.minimap||{}),Oe.minimap.enabled=!1,Oe}_adjustOptionsForLeftHandSide(Ie){const Oe=this._adjustOptionsForSubEditor(Ie);return this._options.renderSideBySide?Oe.wordWrapOverride1=this._options.diffWordWrap:Oe.wordWrapOverride1="off",Ie.originalAriaLabel&&(Oe.ariaLabel=Ie.originalAriaLabel),Oe.readOnly=!this._options.originalEditable,Oe.extraEditorClassName="original-in-monaco-diff-editor",Object.assign(Object.assign({},Oe),{dimension:{height:0,width:0}})}_adjustOptionsForRightHandSide(Ie){const Oe=this._adjustOptionsForSubEditor(Ie);return Ie.modifiedAriaLabel&&(Oe.ariaLabel=Ie.modifiedAriaLabel),Oe.wordWrapOverride1=this._options.diffWordWrap,Oe.revealHorizontalRightPadding=f.BH.revealHorizontalRightPadding.defaultValue+_s.ENTIRE_DIFF_OVERVIEW_WIDTH,Oe.scrollbar.verticalHasArrows=!1,Oe.extraEditorClassName="modified-in-monaco-diff-editor",Object.assign(Object.assign({},Oe),{dimension:{height:0,width:0}})}doLayout(){this._elementSizeObserver.observe(),this._doLayout()}_doLayout(){const Ie=this._elementSizeObserver.getWidth(),Oe=this._elementSizeObserver.getHeight(),Ke=this._getReviewHeight(),ct=this._strategy.layout();this._originalDomNode.style.width=ct+"px",this._originalDomNode.style.left="0px",this._modifiedDomNode.style.width=Ie-ct+"px",this._modifiedDomNode.style.left=ct+"px",this._overviewDomElement.style.top="0px",this._overviewDomElement.style.height=Oe-Ke+"px",this._overviewDomElement.style.width=_s.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",this._overviewDomElement.style.left=Ie-_s.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",this._overviewViewportDomElement.setWidth(_s.ENTIRE_DIFF_OVERVIEW_WIDTH),this._overviewViewportDomElement.setHeight(30),this._originalEditor.layout({width:ct,height:Oe-Ke}),this._modifiedEditor.layout({width:Ie-ct-(this._options.renderOverviewRuler?_s.ENTIRE_DIFF_OVERVIEW_WIDTH:0),height:Oe-Ke}),(this._originalOverviewRuler||this._modifiedOverviewRuler)&&this._layoutOverviewRulers(),this._reviewPane.layout(Oe-Ke,Ie,Ke),this._layoutOverviewViewport()}_layoutOverviewViewport(){const Ie=this._computeOverviewViewport();Ie?(this._overviewViewportDomElement.setTop(Ie.top),this._overviewViewportDomElement.setHeight(Ie.height)):(this._overviewViewportDomElement.setTop(0),this._overviewViewportDomElement.setHeight(0))}_computeOverviewViewport(){const Ie=this._modifiedEditor.getLayoutInfo();if(!Ie)return null;const Oe=this._modifiedEditor.getScrollTop(),Ke=this._modifiedEditor.getScrollHeight(),ct=Math.max(0,Ie.height),Nt=Math.max(0,ct-2*0),$t=Ke>0?Nt/Ke:0,Xt=Math.max(0,Math.floor(Ie.height*$t)),Ci=Math.floor(Oe*$t);return{height:Xt,top:Ci}}_createDataSource(){return{getWidth:()=>this._elementSizeObserver.getWidth(),getHeight:()=>this._elementSizeObserver.getHeight()-this._getReviewHeight(),getOptions:()=>({renderOverviewRuler:this._options.renderOverviewRuler}),getContainerDomNode:()=>this._containerDomElement,relayoutEditors:()=>{this._doLayout()},getOriginalEditor:()=>this._originalEditor,getModifiedEditor:()=>this._modifiedEditor}}_setStrategy(Ie){this._strategy&&this._strategy.dispose(),this._strategy=Ie,Ie.applyColors(this._themeService.getColorTheme()),this._diffComputationResult&&this._updateDecorations(),this._doLayout()}_getLineChangeAtOrBeforeLineNumber(Ie,Oe){const Ke=this._diffComputationResult?this._diffComputationResult.changes:[];if(Ke.length===0||Ie<Oe(Ke[0]))return null;let ct=0,Nt=Ke.length-1;for(;ct<Nt;){const $t=Math.floor((ct+Nt)/2),Xt=Oe(Ke[$t]),Ci=$t+1<=Nt?Oe(Ke[$t+1]):1073741824;Ie<Xt?Nt=$t-1:Ie>=Ci?ct=$t+1:(ct=$t,Nt=$t)}return Ke[ct]}_getEquivalentLineForOriginalLineNumber(Ie){const Oe=this._getLineChangeAtOrBeforeLineNumber(Ie,Ci=>Ci.originalStartLineNumber);if(!Oe)return Ie;const Ke=Oe.originalStartLineNumber+(Oe.originalEndLineNumber>0?-1:0),ct=Oe.modifiedStartLineNumber+(Oe.modifiedEndLineNumber>0?-1:0),Nt=Oe.originalEndLineNumber>0?Oe.originalEndLineNumber-Oe.originalStartLineNumber+1:0,$t=Oe.modifiedEndLineNumber>0?Oe.modifiedEndLineNumber-Oe.modifiedStartLineNumber+1:0,Xt=Ie-Ke;return Xt<=Nt?ct+Math.min(Xt,$t):ct+$t-Nt+Xt}_getEquivalentLineForModifiedLineNumber(Ie){const Oe=this._getLineChangeAtOrBeforeLineNumber(Ie,Ci=>Ci.modifiedStartLineNumber);if(!Oe)return Ie;const Ke=Oe.originalStartLineNumber+(Oe.originalEndLineNumber>0?-1:0),ct=Oe.modifiedStartLineNumber+(Oe.modifiedEndLineNumber>0?-1:0),Nt=Oe.originalEndLineNumber>0?Oe.originalEndLineNumber-Oe.originalStartLineNumber+1:0,$t=Oe.modifiedEndLineNumber>0?Oe.modifiedEndLineNumber-Oe.modifiedStartLineNumber+1:0,Xt=Ie-ct;return Xt<=$t?Ke+Math.min(Xt,Nt):Ke+Nt-$t+Xt}getDiffLineInformationForOriginal(Ie){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(Ie)}:null}getDiffLineInformationForModified(Ie){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(Ie)}:null}};Ae.ONE_OVERVIEW_WIDTH=15,Ae.ENTIRE_DIFF_OVERVIEW_WIDTH=30,Ae.UPDATE_DIFF_DECORATIONS_DELAY=200,Ae=it([rt(3,$.p),rt(4,we.p),rt(5,b.i6),rt(6,Ve.TG),rt(7,p.$),rt(8,T.XE),rt(9,ae.lT),rt(10,fe.i),rt(11,he.e)],Ae);class He extends I.JT{constructor(Ie){super(),this._dataSource=Ie,this._insertColor=null,this._removeColor=null}applyColors(Ie){const Oe=(Ie.getColor(L.yp)||L.Cz).transparent(2),Ke=(Ie.getColor(L.P4)||L.ke).transparent(2),ct=!Oe.equals(this._insertColor)||!Ke.equals(this._removeColor);return this._insertColor=Oe,this._removeColor=Ke,ct}getEditorsDiffDecorations(Ie,Oe,Ke,ct,Nt){Nt=Nt.sort((Zt,mi)=>Zt.afterLineNumber-mi.afterLineNumber),ct=ct.sort((Zt,mi)=>Zt.afterLineNumber-mi.afterLineNumber);const $t=this._getViewZones(Ie,ct,Nt,Ke),Xt=this._getOriginalEditorDecorations(Ie,Oe,Ke),Ci=this._getModifiedEditorDecorations(Ie,Oe,Ke);return{original:{decorations:Xt.decorations,overviewZones:Xt.overviewZones,zones:$t.original},modified:{decorations:Ci.decorations,overviewZones:Ci.overviewZones,zones:$t.modified}}}}class Et{constructor(Ie){this._source=Ie,this._index=-1,this.current=null,this.advance()}advance(){this._index++,this._index<this._source.length?this.current=this._source[this._index]:this.current=null}}class Wt{constructor(Ie,Oe,Ke,ct,Nt){this._lineChanges=Ie,this._originalForeignVZ=Oe,this._modifiedForeignVZ=Ke,this._originalEditor=ct,this._modifiedEditor=Nt}static _getViewLineCount(Ie,Oe,Ke){const ct=Ie.getModel(),Nt=Ie._getViewModel();if(ct&&Nt){const $t=gt(ct,Nt,Oe,Ke);return $t.endLineNumber-$t.startLineNumber+1}return Ke-Oe+1}getViewZones(){const Ie=this._originalEditor.getOption(58),Oe=this._modifiedEditor.getOption(58),Ke=this._originalEditor.getOption(130).wrappingColumn!==-1,ct=this._modifiedEditor.getOption(130).wrappingColumn!==-1,Nt=Ke||ct,$t=this._originalEditor.getModel(),Xt=this._originalEditor._getViewModel().coordinatesConverter,Ci=this._modifiedEditor._getViewModel().coordinatesConverter,Zt={original:[],modified:[]};let mi=0,mt=0,ut=0,qe=0,de=0,Se=0;const Y=(Dt,Vt)=>Dt.afterLineNumber-Vt.afterLineNumber,_e=(Dt,Vt)=>{if(Vt.domNode===null&&Dt.length>0){const Mt=Dt[Dt.length-1];if(Mt.afterLineNumber===Vt.afterLineNumber&&Mt.domNode===null){Mt.heightInLines+=Vt.heightInLines;return}}Dt.push(Vt)},ke=new Et(this._modifiedForeignVZ),lt=new Et(this._originalForeignVZ);let nt=1,pt=1;for(let Dt=0,Vt=this._lineChanges.length;Dt<=Vt;Dt++){const Mt=Dt<Vt?this._lineChanges[Dt]:null;Mt!==null?(ut=Mt.originalStartLineNumber+(Mt.originalEndLineNumber>0?-1:0),qe=Mt.modifiedStartLineNumber+(Mt.modifiedEndLineNumber>0?-1:0),mt=Mt.originalEndLineNumber>0?Wt._getViewLineCount(this._originalEditor,Mt.originalStartLineNumber,Mt.originalEndLineNumber):0,mi=Mt.modifiedEndLineNumber>0?Wt._getViewLineCount(this._modifiedEditor,Mt.modifiedStartLineNumber,Mt.modifiedEndLineNumber):0,de=Math.max(Mt.originalStartLineNumber,Mt.originalEndLineNumber),Se=Math.max(Mt.modifiedStartLineNumber,Mt.modifiedEndLineNumber)):(ut+=1e7+mt,qe+=1e7+mi,de=ut,Se=qe);let Jt=[],jt=[];if(Nt){let Si;Mt?Mt.originalEndLineNumber>0?Si=Mt.originalStartLineNumber-nt:Si=Mt.modifiedStartLineNumber-pt:Si=$t.getLineCount()-nt;for(let Oi=0;Oi<Si;Oi++){const Ri=nt+Oi,zi=pt+Oi,hn=Xt.getModelLineViewLineCount(Ri),bn=Ci.getModelLineViewLineCount(zi);hn<bn?Jt.push({afterLineNumber:Ri,heightInLines:bn-hn,domNode:null,marginDomNode:null}):hn>bn&&jt.push({afterLineNumber:zi,heightInLines:hn-bn,domNode:null,marginDomNode:null})}Mt&&(nt=(Mt.originalEndLineNumber>0?Mt.originalEndLineNumber:Mt.originalStartLineNumber)+1,pt=(Mt.modifiedEndLineNumber>0?Mt.modifiedEndLineNumber:Mt.modifiedStartLineNumber)+1)}for(;ke.current&&ke.current.afterLineNumber<=Se;){let Si;ke.current.afterLineNumber<=qe?Si=ut-qe+ke.current.afterLineNumber:Si=de;let Oi=null;Mt&&Mt.modifiedStartLineNumber<=ke.current.afterLineNumber&&ke.current.afterLineNumber<=Mt.modifiedEndLineNumber&&(Oi=this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion()),Jt.push({afterLineNumber:Si,heightInLines:ke.current.height/Oe,domNode:null,marginDomNode:Oi}),ke.advance()}for(;lt.current&&lt.current.afterLineNumber<=de;){let Si;lt.current.afterLineNumber<=ut?Si=qe-ut+lt.current.afterLineNumber:Si=Se,jt.push({afterLineNumber:Si,heightInLines:lt.current.height/Ie,domNode:null}),lt.advance()}if(Mt!==null&&Pt(Mt)){const Si=this._produceOriginalFromDiff(Mt,mt,mi);Si&&Jt.push(Si)}if(Mt!==null&&Gt(Mt)){const Si=this._produceModifiedFromDiff(Mt,mt,mi);Si&&jt.push(Si)}let ui=0,vi=0;for(Jt=Jt.sort(Y),jt=jt.sort(Y);ui<Jt.length&&vi<jt.length;){const Si=Jt[ui],Oi=jt[vi],Ri=Si.afterLineNumber-ut,zi=Oi.afterLineNumber-qe;Ri<zi?(_e(Zt.original,Si),ui++):zi<Ri?(_e(Zt.modified,Oi),vi++):Si.shouldNotShrink?(_e(Zt.original,Si),ui++):Oi.shouldNotShrink?(_e(Zt.modified,Oi),vi++):Si.heightInLines>=Oi.heightInLines?(Si.heightInLines-=Oi.heightInLines,vi++):(Oi.heightInLines-=Si.heightInLines,ui++)}for(;ui<Jt.length;)_e(Zt.original,Jt[ui]),ui++;for(;vi<jt.length;)_e(Zt.modified,jt[vi]),vi++}return{original:Wt._ensureDomNodes(Zt.original),modified:Wt._ensureDomNodes(Zt.modified)}}static _ensureDomNodes(Ie){return Ie.map(Oe=>(Oe.domNode||(Oe.domNode=st()),Oe))}}function oi($e,Ie,Oe,Ke,ct){return{range:new ge.e($e,Ie,Oe,Ke),options:ct}}const ni={charDelete:Fe.qx.register({description:"diff-editor-char-delete",className:"char-delete"}),charDeleteWholeLine:Fe.qx.register({description:"diff-editor-char-delete-whole-line",className:"char-delete",isWholeLine:!0}),charInsert:Fe.qx.register({description:"diff-editor-char-insert",className:"char-insert"}),charInsertWholeLine:Fe.qx.register({description:"diff-editor-char-insert-whole-line",className:"char-insert",isWholeLine:!0}),lineInsert:Fe.qx.register({description:"diff-editor-line-insert",className:"line-insert",marginClassName:"line-insert",isWholeLine:!0}),lineInsertWithSign:Fe.qx.register({description:"diff-editor-line-insert-with-sign",className:"line-insert",linesDecorationsClassName:"insert-sign "+T.kS.asClassName(ze),marginClassName:"line-insert",isWholeLine:!0}),lineDelete:Fe.qx.register({description:"diff-editor-line-delete",className:"line-delete",marginClassName:"line-delete",isWholeLine:!0}),lineDeleteWithSign:Fe.qx.register({description:"diff-editor-line-delete-with-sign",className:"line-delete",linesDecorationsClassName:"delete-sign "+T.kS.asClassName(Xe),marginClassName:"line-delete",isWholeLine:!0}),lineDeleteMargin:Fe.qx.register({description:"diff-editor-line-delete-margin",marginClassName:"line-delete"})};class hi extends He{constructor(Ie,Oe){super(Ie),this._disableSash=Oe===!1,this._sashRatio=null,this._sashPosition=null,this._startSashPosition=null,this._sash=this._register(new P.g(this._dataSource.getContainerDomNode(),this,{orientation:0})),this._disableSash&&(this._sash.state=0),this._sash.onDidStart(()=>this._onSashDragStart()),this._sash.onDidChange(Ke=>this._onSashDrag(Ke)),this._sash.onDidEnd(()=>this._onSashDragEnd()),this._sash.onDidReset(()=>this._onSashReset())}setEnableSplitViewResizing(Ie){const Oe=Ie===!1;this._disableSash!==Oe&&(this._disableSash=Oe,this._sash.state=this._disableSash?0:3)}layout(Ie=this._sashRatio){const Ke=this._dataSource.getWidth()-(this._dataSource.getOptions().renderOverviewRuler?Ae.ENTIRE_DIFF_OVERVIEW_WIDTH:0);let ct=Math.floor((Ie||.5)*Ke);const Nt=Math.floor(.5*Ke);return ct=this._disableSash?Nt:ct||Nt,Ke>hi.MINIMUM_EDITOR_WIDTH*2?(ct<hi.MINIMUM_EDITOR_WIDTH&&(ct=hi.MINIMUM_EDITOR_WIDTH),ct>Ke-hi.MINIMUM_EDITOR_WIDTH&&(ct=Ke-hi.MINIMUM_EDITOR_WIDTH)):ct=Nt,this._sashPosition!==ct&&(this._sashPosition=ct,this._sash.layout()),this._sashPosition}_onSashDragStart(){this._startSashPosition=this._sashPosition}_onSashDrag(Ie){const Ke=this._dataSource.getWidth()-(this._dataSource.getOptions().renderOverviewRuler?Ae.ENTIRE_DIFF_OVERVIEW_WIDTH:0),ct=this.layout((this._startSashPosition+(Ie.currentX-Ie.startX))/Ke);this._sashRatio=ct/Ke,this._dataSource.relayoutEditors()}_onSashDragEnd(){this._sash.layout()}_onSashReset(){this._sashRatio=.5,this._dataSource.relayoutEditors(),this._sash.layout()}getVerticalSashTop(Ie){return 0}getVerticalSashLeft(Ie){return this._sashPosition}getVerticalSashHeight(Ie){return this._dataSource.getHeight()}_getViewZones(Ie,Oe,Ke){const ct=this._dataSource.getOriginalEditor(),Nt=this._dataSource.getModifiedEditor();return new Di(Ie,Oe,Ke,ct,Nt).getViewZones()}_getOriginalEditorDecorations(Ie,Oe,Ke){const ct=this._dataSource.getOriginalEditor(),Nt=String(this._removeColor),$t={decorations:[],overviewZones:[]},Xt=ct.getModel(),Ci=ct._getViewModel();for(const Zt of Ie)if(Gt(Zt)){$t.decorations.push({range:new ge.e(Zt.originalStartLineNumber,1,Zt.originalEndLineNumber,1073741824),options:Ke?ni.lineDeleteWithSign:ni.lineDelete}),(!Pt(Zt)||!Zt.charChanges)&&$t.decorations.push(oi(Zt.originalStartLineNumber,1,Zt.originalEndLineNumber,1073741824,ni.charDeleteWholeLine));const mi=gt(Xt,Ci,Zt.originalStartLineNumber,Zt.originalEndLineNumber);if($t.overviewZones.push(new ue.EY(mi.startLineNumber,mi.endLineNumber,Nt)),Zt.charChanges){for(const mt of Zt.charChanges)if(Gt(mt))if(Oe)for(let ut=mt.originalStartLineNumber;ut<=mt.originalEndLineNumber;ut++){let qe,de;ut===mt.originalStartLineNumber?qe=mt.originalStartColumn:qe=Xt.getLineFirstNonWhitespaceColumn(ut),ut===mt.originalEndLineNumber?de=mt.originalEndColumn:de=Xt.getLineLastNonWhitespaceColumn(ut),$t.decorations.push(oi(ut,qe,ut,de,ni.charDelete))}else $t.decorations.push(oi(mt.originalStartLineNumber,mt.originalStartColumn,mt.originalEndLineNumber,mt.originalEndColumn,ni.charDelete))}}return $t}_getModifiedEditorDecorations(Ie,Oe,Ke){const ct=this._dataSource.getModifiedEditor(),Nt=String(this._insertColor),$t={decorations:[],overviewZones:[]},Xt=ct.getModel(),Ci=ct._getViewModel();for(const Zt of Ie)if(Pt(Zt)){$t.decorations.push({range:new ge.e(Zt.modifiedStartLineNumber,1,Zt.modifiedEndLineNumber,1073741824),options:Ke?ni.lineInsertWithSign:ni.lineInsert}),(!Gt(Zt)||!Zt.charChanges)&&$t.decorations.push(oi(Zt.modifiedStartLineNumber,1,Zt.modifiedEndLineNumber,1073741824,ni.charInsertWholeLine));const mi=gt(Xt,Ci,Zt.modifiedStartLineNumber,Zt.modifiedEndLineNumber);if($t.overviewZones.push(new ue.EY(mi.startLineNumber,mi.endLineNumber,Nt)),Zt.charChanges){for(const mt of Zt.charChanges)if(Pt(mt))if(Oe)for(let ut=mt.modifiedStartLineNumber;ut<=mt.modifiedEndLineNumber;ut++){let qe,de;ut===mt.modifiedStartLineNumber?qe=mt.modifiedStartColumn:qe=Xt.getLineFirstNonWhitespaceColumn(ut),ut===mt.modifiedEndLineNumber?de=mt.modifiedEndColumn:de=Xt.getLineLastNonWhitespaceColumn(ut),$t.decorations.push(oi(ut,qe,ut,de,ni.charInsert))}else $t.decorations.push(oi(mt.modifiedStartLineNumber,mt.modifiedStartColumn,mt.modifiedEndLineNumber,mt.modifiedEndColumn,ni.charInsert))}}return $t}}hi.MINIMUM_EDITOR_WIDTH=100;class Di extends Wt{constructor(Ie,Oe,Ke,ct,Nt){super(Ie,Oe,Ke,ct,Nt)}_createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion(){return null}_produceOriginalFromDiff(Ie,Oe,Ke){return Ke>Oe?{afterLineNumber:Math.max(Ie.originalStartLineNumber,Ie.originalEndLineNumber),heightInLines:Ke-Oe,domNode:null}:null}_produceModifiedFromDiff(Ie,Oe,Ke){return Oe>Ke?{afterLineNumber:Math.max(Ie.modifiedStartLineNumber,Ie.modifiedEndLineNumber),heightInLines:Oe-Ke,domNode:null}:null}}class Ti extends He{constructor(Ie,Oe){super(Ie),this._decorationsLeft=Ie.getOriginalEditor().getLayoutInfo().decorationsLeft,this._register(Ie.getOriginalEditor().onDidLayoutChange(Ke=>{this._decorationsLeft!==Ke.decorationsLeft&&(this._decorationsLeft=Ke.decorationsLeft,Ie.relayoutEditors())}))}setEnableSplitViewResizing(Ie){}_getViewZones(Ie,Oe,Ke,ct){const Nt=this._dataSource.getOriginalEditor(),$t=this._dataSource.getModifiedEditor();return new Ni(Ie,Oe,Ke,Nt,$t,ct).getViewZones()}_getOriginalEditorDecorations(Ie,Oe,Ke){const ct=String(this._removeColor),Nt={decorations:[],overviewZones:[]},$t=this._dataSource.getOriginalEditor(),Xt=$t.getModel(),Ci=$t._getViewModel();for(const Zt of Ie)if(Gt(Zt)){Nt.decorations.push({range:new ge.e(Zt.originalStartLineNumber,1,Zt.originalEndLineNumber,1073741824),options:ni.lineDeleteMargin});const mi=gt(Xt,Ci,Zt.originalStartLineNumber,Zt.originalEndLineNumber);Nt.overviewZones.push(new ue.EY(mi.startLineNumber,mi.endLineNumber,ct))}return Nt}_getModifiedEditorDecorations(Ie,Oe,Ke){const ct=this._dataSource.getModifiedEditor(),Nt=String(this._insertColor),$t={decorations:[],overviewZones:[]},Xt=ct.getModel(),Ci=ct._getViewModel();for(const Zt of Ie)if(Pt(Zt)){$t.decorations.push({range:new ge.e(Zt.modifiedStartLineNumber,1,Zt.modifiedEndLineNumber,1073741824),options:Ke?ni.lineInsertWithSign:ni.lineInsert});const mi=gt(Xt,Ci,Zt.modifiedStartLineNumber,Zt.modifiedEndLineNumber);if($t.overviewZones.push(new ue.EY(mi.startLineNumber,mi.endLineNumber,Nt)),Zt.charChanges){for(const mt of Zt.charChanges)if(Pt(mt))if(Oe)for(let ut=mt.modifiedStartLineNumber;ut<=mt.modifiedEndLineNumber;ut++){let qe,de;ut===mt.modifiedStartLineNumber?qe=mt.modifiedStartColumn:qe=Xt.getLineFirstNonWhitespaceColumn(ut),ut===mt.modifiedEndLineNumber?de=mt.modifiedEndColumn:de=Xt.getLineLastNonWhitespaceColumn(ut),$t.decorations.push(oi(ut,qe,ut,de,ni.charInsert))}else $t.decorations.push(oi(mt.modifiedStartLineNumber,mt.modifiedStartColumn,mt.modifiedEndLineNumber,mt.modifiedEndColumn,ni.charInsert))}else $t.decorations.push(oi(Zt.modifiedStartLineNumber,1,Zt.modifiedEndLineNumber,1073741824,ni.charInsertWholeLine))}return $t}layout(){return Math.max(5,this._decorationsLeft)}}class Ni extends Wt{constructor(Ie,Oe,Ke,ct,Nt,$t){super(Ie,Oe,Ke,ct,Nt),this._originalModel=ct.getModel(),this._renderIndicators=$t,this._pendingLineChange=[],this._pendingViewZones=[],this._lineBreaksComputer=this._modifiedEditor._getViewModel().createLineBreaksComputer()}getViewZones(){const Ie=super.getViewZones();return this._finalize(Ie),Ie}_createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion(){const Ie=document.createElement("div");return Ie.className="inline-added-margin-view-zone",Ie}_produceOriginalFromDiff(Ie,Oe,Ke){const ct=document.createElement("div");return ct.className="inline-added-margin-view-zone",{afterLineNumber:Math.max(Ie.originalStartLineNumber,Ie.originalEndLineNumber),heightInLines:Ke,domNode:document.createElement("div"),marginDomNode:ct}}_produceModifiedFromDiff(Ie,Oe,Ke){const ct=document.createElement("div");ct.className=`view-lines line-delete ${Ye.S}`;const Nt=document.createElement("div");Nt.className="inline-deleted-margin-view-zone";const $t={shouldNotShrink:!0,afterLineNumber:Ie.modifiedEndLineNumber===0?Ie.modifiedStartLineNumber:Ie.modifiedStartLineNumber-1,heightInLines:Oe,minWidthInPx:0,domNode:ct,marginDomNode:Nt,diff:{originalStartLineNumber:Ie.originalStartLineNumber,originalEndLineNumber:Ie.originalEndLineNumber,modifiedStartLineNumber:Ie.modifiedStartLineNumber,modifiedEndLineNumber:Ie.modifiedEndLineNumber,originalModel:this._originalModel,viewLineCounts:null}};for(let Xt=Ie.originalStartLineNumber;Xt<=Ie.originalEndLineNumber;Xt++)this._lineBreaksComputer.addRequest(this._originalModel.getLineContent(Xt),null,null);return this._pendingLineChange.push(Ie),this._pendingViewZones.push($t),$t}_finalize(Ie){const Oe=this._modifiedEditor.getOptions(),Ke=this._modifiedEditor.getModel().getOptions().tabSize,ct=Oe.get(43),Nt=Oe.get(29),$t=ct.typicalHalfwidthCharacterWidth,Xt=Oe.get(92),Ci=this._originalModel.mightContainNonBasicASCII(),Zt=this._originalModel.mightContainRTL(),mi=Oe.get(58),ut=Oe.get(129).decorationsWidth,qe=Oe.get(104),de=Oe.get(87),Se=Oe.get(82),Y=Oe.get(44),_e=this._lineBreaksComputer.finalize();let ke=0;for(let lt=0;lt<this._pendingLineChange.length;lt++){const nt=this._pendingLineChange[lt],pt=this._pendingViewZones[lt],Dt=pt.domNode;y.V.applyFontInfoSlow(Dt,ct);const Vt=pt.marginDomNode;y.V.applyFontInfoSlow(Vt,ct);const Mt=[];if(nt.charChanges)for(const zi of nt.charChanges)Gt(zi)&&Mt.push(new c.$t(new ge.e(zi.originalStartLineNumber,zi.originalStartColumn,zi.originalEndLineNumber,zi.originalEndColumn),"char-delete",0));const Jt=Mt.length>0,jt=(0,ye.l$)(1e4);let ui=0,vi=0,Si=null;for(let zi=nt.originalStartLineNumber;zi<=nt.originalEndLineNumber;zi++){const hn=zi-nt.originalStartLineNumber,bn=this._originalModel.getLineTokens(zi),qi=bn.getLineContent(),Rn=_e[ke++],yn=ce.Kp.filter(Mt,zi,1,qi.length+1);if(Rn){let nn=0;for(const Dn of Rn.breakOffsets){const En=bn.sliceAndInflate(nn,Dn,0),Jn=qi.substring(nn,Dn);ui=Math.max(ui,this._renderOriginalLine(vi++,Jn,En,ce.Kp.extractWrapped(yn,nn,Dn),Jt,Ci,Zt,ct,Nt,mi,ut,qe,de,Se,Y,Ke,jt,Vt)),nn=Dn}for(Si||(Si=[]);Si.length<hn;)Si[Si.length]=1;Si[hn]=Rn.breakOffsets.length,pt.heightInLines+=Rn.breakOffsets.length-1;const kn=document.createElement("div");kn.className="line-delete",Ie.original.push({afterLineNumber:zi,afterColumn:0,heightInLines:Rn.breakOffsets.length-1,domNode:st(),marginDomNode:kn})}else ui=Math.max(ui,this._renderOriginalLine(vi++,qi,bn,yn,Jt,Ci,Zt,ct,Nt,mi,ut,qe,de,Se,Y,Ke,jt,Vt))}ui+=Xt;const Oi=jt.build(),Ri=Ze?Ze.createHTML(Oi):Oi;if(Dt.innerHTML=Ri,pt.minWidthInPx=ui*$t,Si){const zi=nt.originalEndLineNumber-nt.originalStartLineNumber;for(;Si.length<=zi;)Si[Si.length]=1}pt.diff.viewLineCounts=Si}Ie.original.sort((lt,nt)=>lt.afterLineNumber-nt.afterLineNumber)}_renderOriginalLine(Ie,Oe,Ke,ct,Nt,$t,Xt,Ci,Zt,mi,mt,ut,qe,de,Se,Y,_e,ke){_e.appendASCIIString('<div class="view-line'),Nt||_e.appendASCIIString(" char-delete"),_e.appendASCIIString('" style="top:'),_e.appendASCIIString(String(Ie*mi)),_e.appendASCIIString('px;width:1000000px;">');const lt=c.wA.isBasicASCII(Oe,$t),nt=c.wA.containsRTL(Oe,lt,Xt),pt=(0,m.d1)(new m.IJ(Ci.isMonospace&&!Zt,Ci.canUseHalfwidthRightwardsArrow,Oe,!1,lt,nt,0,Ke,ct,Y,0,Ci.spaceWidth,Ci.middotWidth,Ci.wsmiddotWidth,ut,qe,de,Se!==f.n0.OFF,null),_e);if(_e.appendASCIIString("</div>"),this._renderIndicators){const Dt=document.createElement("div");Dt.className=`delete-sign ${T.kS.asClassName(Xe)}`,Dt.setAttribute("style",`position:absolute;top:${Ie*mi}px;width:${mt}px;height:${mi}px;right:0;`),ke.appendChild(Dt)}return pt.characterMapping.getAbsoluteOffset(pt.characterMapping.length)}}function ai($e,Ie){return(0,f.NY)($e,Ie,["off","on","inherit"])}function Pt($e){return $e.modifiedEndLineNumber>0}function Gt($e){return $e.originalEndLineNumber>0}function st(){const $e=document.createElement("div");return $e.className="diagonal-fill",$e}function gt($e,Ie,Oe,Ke){const ct=$e.getLineCount();return Oe=Math.min(ct,Math.max(1,Oe)),Ke=Math.min(ct,Math.max(1,Ke)),Ie.coordinatesConverter.convertModelRangeToViewRange(new ge.e(Oe,$e.getLineMinColumn(Oe),Ke,$e.getLineMaxColumn(Ke)))}function ht($e,Ie){return{enableSplitViewResizing:(0,f.O7)($e.enableSplitViewResizing,Ie.enableSplitViewResizing),renderSideBySide:(0,f.O7)($e.renderSideBySide,Ie.renderSideBySide),maxComputationTime:(0,f.Zc)($e.maxComputationTime,Ie.maxComputationTime,0,1073741824),maxFileSize:(0,f.Zc)($e.maxFileSize,Ie.maxFileSize,0,1073741824),ignoreTrimWhitespace:(0,f.O7)($e.ignoreTrimWhitespace,Ie.ignoreTrimWhitespace),renderIndicators:(0,f.O7)($e.renderIndicators,Ie.renderIndicators),originalEditable:(0,f.O7)($e.originalEditable,Ie.originalEditable),diffCodeLens:(0,f.O7)($e.diffCodeLens,Ie.diffCodeLens),renderOverviewRuler:(0,f.O7)($e.renderOverviewRuler,Ie.renderOverviewRuler),diffWordWrap:ai($e.diffWordWrap,Ie.diffWordWrap)}}function Qe($e,Ie){return{enableSplitViewResizing:$e.enableSplitViewResizing!==Ie.enableSplitViewResizing,renderSideBySide:$e.renderSideBySide!==Ie.renderSideBySide,maxComputationTime:$e.maxComputationTime!==Ie.maxComputationTime,maxFileSize:$e.maxFileSize!==Ie.maxFileSize,ignoreTrimWhitespace:$e.ignoreTrimWhitespace!==Ie.ignoreTrimWhitespace,renderIndicators:$e.renderIndicators!==Ie.renderIndicators,originalEditable:$e.originalEditable!==Ie.originalEditable,diffCodeLens:$e.diffCodeLens!==Ie.diffCodeLens,renderOverviewRuler:$e.renderOverviewRuler!==Ie.renderOverviewRuler,diffWordWrap:$e.diffWordWrap!==Ie.diffWordWrap}}(0,T.Ic)(($e,Ie)=>{const Oe=$e.getColor(L.yp);Oe&&(Ie.addRule(`.monaco-editor .line-insert, .monaco-editor .char-insert { background-color: ${Oe}; }`),Ie.addRule(`.monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: ${Oe}; }`),Ie.addRule(`.monaco-editor .inline-added-margin-view-zone { background-color: ${Oe}; }`));const Ke=$e.getColor(L.P4);Ke&&(Ie.addRule(`.monaco-editor .line-delete, .monaco-editor .char-delete { background-color: ${Ke}; }`),Ie.addRule(`.monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: ${Ke}; }`),Ie.addRule(`.monaco-editor .inline-deleted-margin-view-zone { background-color: ${Ke}; }`));const ct=$e.getColor(L.XL);ct&&Ie.addRule(`.monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px ${$e.type==="hc"?"dashed":"solid"} ${ct}; }`);const Nt=$e.getColor(L.mH);Nt&&Ie.addRule(`.monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px ${$e.type==="hc"?"dashed":"solid"} ${Nt}; }`);const $t=$e.getColor(L._w);$t&&Ie.addRule(`.monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px ${$t}; }`);const Xt=$e.getColor(L.LL);Xt&&Ie.addRule(`.monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid ${Xt}; }`);const Ci=$e.getColor(L.et);Ci&&Ie.addRule(`
.monaco-diff-editor .diffViewport {
background: ${Ci};
}
`);const Zt=$e.getColor(L.AB);Zt&&Ie.addRule(`
.monaco-diff-editor .diffViewport:hover {
background: ${Zt};
}
`);const mi=$e.getColor(L.yn);mi&&Ie.addRule(`
.monaco-diff-editor .diffViewport:active {
background: ${mi};
}
`);const mt=$e.getColor(L.L_);Ie.addRule(`
.monaco-editor .diagonal-fill {
background-image: linear-gradient(
-45deg,
${mt} 12.5%,
#0000 12.5%, #0000 50%,
${mt} 50%, ${mt} 62.5%,
#0000 62.5%, #0000 100%
);
background-size: 8px 8px;
}
`)})},46810:function(xt,Te,i){"use strict";i.d(Te,{F:function(){return I}});var h=i(76068),H=i(4348),O=i(69323),P=i(80470),D=i(17373);const G={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0};class I extends O.JT{constructor(E,p={}){super(),this._onDidUpdate=this._register(new H.Q5),this._editor=E,this._options=P.jB(p,G,!1),this.disposed=!1,this.nextIdx=-1,this.ranges=[],this.ignoreSelectionChange=!1,this.revealFirst=!!this._options.alwaysRevealFirst,this._register(this._editor.onDidDispose(()=>this.dispose())),this._register(this._editor.onDidUpdateDiff(()=>this._onDiffUpdated())),this._options.followsCaret&&this._register(this._editor.getModifiedEditor().onDidChangeCursorPosition(a=>{this.ignoreSelectionChange||(this.nextIdx=-1)})),this._options.alwaysRevealFirst&&this._register(this._editor.getModifiedEditor().onDidChangeModel(a=>{this.revealFirst=!0})),this._init()}_init(){this._editor.getLineChanges()}_onDiffUpdated(){this._init(),this._compute(this._editor.getLineChanges()),this.revealFirst&&this._editor.getLineChanges()!==null&&(this.revealFirst=!1,this.nextIdx=-1,this.next(1))}_compute(E){this.ranges=[],E&&E.forEach(p=>{!this._options.ignoreCharChanges&&p.charChanges?p.charChanges.forEach(a=>{this.ranges.push({rhs:!0,range:new D.e(a.modifiedStartLineNumber,a.modifiedStartColumn,a.modifiedEndLineNumber,a.modifiedEndColumn)})}):p.modifiedEndLineNumber===0?this.ranges.push({rhs:!0,range:new D.e(p.modifiedStartLineNumber,1,p.modifiedStartLineNumber+1,1)}):this.ranges.push({rhs:!0,range:new D.e(p.modifiedStartLineNumber,1,p.modifiedEndLineNumber+1,1)})}),this.ranges.sort((p,a)=>D.e.compareRangesUsingStarts(p.range,a.range)),this._onDidUpdate.fire(this)}_initIdx(E){let p=!1,a=this._editor.getPosition();if(!a){this.nextIdx=0;return}for(let g=0,w=this.ranges.length;g<w&&!p;g++){let s=this.ranges[g].range;a.isBeforeOrEqual(s.getStartPosition())&&(this.nextIdx=g+(E?0:-1),p=!0)}p||(this.nextIdx=E?0:this.ranges.length-1),this.nextIdx<0&&(this.nextIdx=this.ranges.length-1)}_move(E,p){if(h.ok(!this.disposed,"Illegal State - diff navigator has been disposed"),!this.canNavigate())return;this.nextIdx===-1?this._initIdx(E):E?(this.nextIdx+=1,this.nextIdx>=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));let a=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{let g=a.range.getStartPosition();this._editor.setPosition(g),this._editor.revealRangeInCenter(a.range,p)}finally{this.ignoreSelectionChange=!1}}canNavigate(){return this.ranges&&this.ranges.length>0}next(E=0){this._move(!0,E)}previous(E=0){this._move(!1,E)}dispose(){super.dispose(),this.ranges=[],this.disposed=!0}}},20712:function(xt,Te,i){"use strict";i.d(Te,{H:function(){return g}});var h=i(80470),H=i(70827),O=i(11036),P=i(35884),D=i(90689),G=i(16925),I=i(79504),y=i(49055),E=i(52950),p=function(w,s,C,f){var v=arguments.length,r=v<3?s:f===null?f=Object.getOwnPropertyDescriptor(s,C):f,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(w,s,C,f);else for(var m=w.length-1;m>=0;m--)(l=w[m])&&(r=(v<3?l(r):v>3?l(s,C,r):l(s,C))||r);return v>3&&r&&Object.defineProperty(s,C,r),r},a=function(w,s){return function(C,f){s(C,f,w)}};let g=class extends O.Gm{constructor(s,C,f,v,r,l,m,c,b,L){super(s,Object.assign(Object.assign({},f.getRawOptions()),{overflowWidgetsDomNode:f.getOverflowWidgetsDomNode()}),{},v,r,l,m,c,b,L),this._parentEditor=f,this._overwriteOptions=C,super.updateOptions(this._overwriteOptions),this._register(f.onDidChangeConfiguration(T=>this._onParentConfigurationChanged(T)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(s){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(s){h.jB(this._overwriteOptions,s,!0),super.updateOptions(this._overwriteOptions)}};g=p([a(3,G.TG),a(4,H.$),a(5,P.H),a(6,D.i6),a(7,y.XE),a(8,I.lT),a(9,E.F)],g)},78529:function(xt,Te,i){"use strict";i.d(Te,{OY:function(){return O},Sj:function(){return P},T4:function(){return H},Uo:function(){return D},hP:function(){return G}});var h=i(17551);class H{constructor(y,E,p=!1){this._range=y,this._text=E,this.insertsAutoWhitespace=p}getEditOperations(y,E){E.addTrackedEditOperation(this._range,this._text)}computeCursorState(y,E){let a=E.getInverseEditOperations()[0].range;return new h.Y(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn)}}class O{constructor(y,E){this._range=y,this._text=E}getEditOperations(y,E){E.addTrackedEditOperation(this._range,this._text)}computeCursorState(y,E){const a=E.getInverseEditOperations()[0].range;return new h.Y(a.startLineNumber,a.startColumn,a.endLineNumber,a.endColumn)}}class P{constructor(y,E,p=!1){this._range=y,this._text=E,this.insertsAutoWhitespace=p}getEditOperations(y,E){E.addTrackedEditOperation(this._range,this._text)}computeCursorState(y,E){let a=E.getInverseEditOperations()[0].range;return new h.Y(a.startLineNumber,a.startColumn,a.startLineNumber,a.startColumn)}}class D{constructor(y,E,p,a,g=!1){this._range=y,this._text=E,this._columnDeltaOffset=a,this._lineNumberDeltaOffset=p,this.insertsAutoWhitespace=g}getEditOperations(y,E){E.addTrackedEditOperation(this._range,this._text)}computeCursorState(y,E){let a=E.getInverseEditOperations()[0].range;return new h.Y(a.endLineNumber+this._lineNumberDeltaOffset,a.endColumn+this._columnDeltaOffset,a.endLineNumber+this._lineNumberDeltaOffset,a.endColumn+this._columnDeltaOffset)}}class G{constructor(y,E,p,a=!1){this._range=y,this._text=E,this._initialSelection=p,this._forceMoveMarkers=a,this._selectionId=null}getEditOperations(y,E){E.addTrackedEditOperation(this._range,this._text,this._forceMoveMarkers),this._selectionId=E.trackSelection(this._initialSelection)}computeCursorState(y,E){return E.getTrackedSelection(this._selectionId)}}},91167:function(xt,Te,i){"use strict";i.d(Te,{U:function(){return y}});var h=i(82983),H=i(69025),O=i(17373),P=i(17551),D=i(73468);const G=Object.create(null);function I(E,p){if(p<=0)return"";G[E]||(G[E]=["",E]);const a=G[E];for(let g=a.length;g<=p;g++)a[g]=a[g-1]+E;return a[p]}class y{constructor(p,a){this._opts=a,this._selection=p,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}static unshiftIndent(p,a,g,w,s){const C=H.io.visibleColumnFromColumn(p,a,g);if(s){const f=I(" ",w),r=H.io.prevIndentTabStop(C,w)/w;return I(f,r)}else{const f=" ",r=H.io.prevRenderTabStop(C,g)/g;return I(f,r)}}static shiftIndent(p,a,g,w,s){const C=H.io.visibleColumnFromColumn(p,a,g);if(s){const f=I(" ",w),r=H.io.nextIndentTabStop(C,w)/w;return I(f,r)}else{const f=" ",r=H.io.nextRenderTabStop(C,g)/g;return I(f,r)}}_addEditOperation(p,a,g){this._useLastEditRangeForCursorEndPosition?p.addTrackedEditOperation(a,g):p.addEditOperation(a,g)}getEditOperations(p,a){const g=this._selection.startLineNumber;let w=this._selection.endLineNumber;this._selection.endColumn===1&&g!==w&&(w=w-1);const{tabSize:s,indentSize:C,insertSpaces:f}=this._opts,v=g===w;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(p.getLineContent(g))&&(this._useLastEditRangeForCursorEndPosition=!0);let r=0,l=0;for(let m=g;m<=w;m++,r=l){l=0;let c=p.getLineContent(m),b=h.LC(c);if(this._opts.isUnshift&&(c.length===0||b===0)||!v&&!this._opts.isUnshift&&c.length===0)continue;if(b===-1&&(b=c.length),m>1&&H.io.visibleColumnFromColumn(c,b+1,s)%C!==0&&p.isCheapToTokenize(m-1)){let M=D.zu.getEnterAction(this._opts.autoIndent,p,new O.e(m-1,p.getLineMaxColumn(m-1),m-1,p.getLineMaxColumn(m-1)));if(M){if(l=r,M.appendText)for(let z=0,oe=M.appendText.length;z<oe&&l<C&&M.appendText.charCodeAt(z)===32;z++)l++;M.removeText&&(l=Math.max(0,l-M.removeText));for(let z=0;z<l&&!(b===0||c.charCodeAt(b-1)!==32);z++)b--}}if(this._opts.isUnshift&&b===0)continue;let L;this._opts.isUnshift?L=y.unshiftIndent(c,b+1,s,C,f):L=y.shiftIndent(c,b+1,s,C,f),this._addEditOperation(a,new O.e(m,1,m,b+1),L),m===g&&!this._selection.isEmpty()&&(this._selectionStartColumnStaysPut=this._selection.startColumn<=b+1)}}else{!this._opts.isUnshift&&this._selection.isEmpty()&&p.getLineLength(g)===0&&(this._useLastEditRangeForCursorEndPosition=!0);const r=f?I(" ",C):" ";for(let l=g;l<=w;l++){const m=p.getLineContent(l);let c=h.LC(m);if(!(this._opts.isUnshift&&(m.length===0||c===0))&&!(!v&&!this._opts.isUnshift&&m.length===0)&&(c===-1&&(c=m.length),!(this._opts.isUnshift&&c===0)))if(this._opts.isUnshift){c=Math.min(c,C);for(let b=0;b<c;b++)if(m.charCodeAt(b)===9){c=b+1;break}this._addEditOperation(a,new O.e(l,1,l,c+1),"")}else this._addEditOperation(a,new O.e(l,1,l,1),r),l===g&&!this._selection.isEmpty()&&(this._selectionStartColumnStaysPut=this._selection.startColumn===1)}}this._selectionId=a.trackSelection(this._selection)}computeCursorState(p,a){if(this._useLastEditRangeForCursorEndPosition){let w=a.getInverseEditOperations()[0];return new P.Y(w.range.endLineNumber,w.range.endColumn,w.range.endLineNumber,w.range.endColumn)}const g=a.getTrackedSelection(this._selectionId);if(this._selectionStartColumnStaysPut){let w=this._selection.startColumn;return g.startColumn<=w?g:g.getDirection()===0?new P.Y(g.startLineNumber,w,g.endLineNumber,g.endColumn):new P.Y(g.endLineNumber,g.endColumn,g.startLineNumber,w)}return g}}},9729:function(xt,Te,i){"use strict";i.d(Te,{Pe:function(){return oe},ei:function(){return z},fv:function(){return l},nG:function(){return g}});var h=i(13268),H=i(4348),O=i(69323),P=i(80470),D=i(43506),G=i(97199),I=i(80724),y=i(62635),E=i(20855),p=i(44650),a=i(55237);const g=new class{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new H.Q5,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(se){this._tabFocus!==se&&(this._tabFocus=se,this._onDidChangeTabFocus.fire(this._tabFocus))}},w=Object.hasOwnProperty;class s{constructor(){this._values=[]}_read(re){return this._values[re]}get(re){return this._values[re]}_write(re,De){this._values[re]=De}}class C{constructor(){this._values=[]}_read(re){return this._values[re]}_write(re,De){this._values[re]=De}}class f{static readOptions(re){const De=re,J=new C;for(const Z of G.Bc){const Q=Z.name==="_never_"?void 0:De[Z.name];J._write(Z.id,Q)}return J}static validateOptions(re){const De=new G.hu;for(const J of G.Bc)De._write(J.id,J.validate(re._read(J.id)));return De}static computeOptions(re,De){const J=new s;for(const Z of G.Bc)J._write(Z.id,Z.compute(De,J,re._read(Z.id)));return J}static _deepEquals(re,De){if(typeof re!="object"||typeof De!="object")return re===De;if(Array.isArray(re)||Array.isArray(De))return Array.isArray(re)&&Array.isArray(De)?D.fS(re,De):!1;for(let J in re)if(!f._deepEquals(re[J],De[J]))return!1;return!0}static checkEquals(re,De){const J=[];let Z=!1;for(const Q of G.Bc){const le=!f._deepEquals(re._read(Q.id),De._read(Q.id));J[Q.id]=le,le&&(Z=!0)}return Z?new G.Bb(J):null}}function v(se){const re=se.wordWrap;re===!0?se.wordWrap="on":re===!1&&(se.wordWrap="off");const De=se.lineNumbers;De===!0?se.lineNumbers="on":De===!1&&(se.lineNumbers="off"),se.autoClosingBrackets===!1&&(se.autoClosingBrackets="never",se.autoClosingQuotes="never",se.autoSurround="never"),se.cursorBlinking==="visible"&&(se.cursorBlinking="solid");const Q=se.renderWhitespace;Q===!0?se.renderWhitespace="boundary":Q===!1&&(se.renderWhitespace="none");const le=se.renderLineHighlight;le===!0?se.renderLineHighlight="line":le===!1&&(se.renderLineHighlight="none");const xe=se.acceptSuggestionOnEnter;xe===!0?se.acceptSuggestionOnEnter="on":xe===!1&&(se.acceptSuggestionOnEnter="off");const j=se.tabCompletion;j===!1?se.tabCompletion="off":j===!0&&(se.tabCompletion="onlySnippets");const R=se.suggest;if(R&&typeof R.filteredTypes=="object"&&R.filteredTypes){const ve={};ve.method="showMethods",ve.function="showFunctions",ve.constructor="showConstructors",ve.deprecated="showDeprecated",ve.field="showFields",ve.variable="showVariables",ve.class="showClasses",ve.struct="showStructs",ve.interface="showInterfaces",ve.module="showModules",ve.property="showProperties",ve.event="showEvents",ve.operator="showOperators",ve.unit="showUnits",ve.value="showValues",ve.constant="showConstants",ve.enum="showEnums",ve.enumMember="showEnumMembers",ve.keyword="showKeywords",ve.text="showWords",ve.color="showColors",ve.file="showFiles",ve.reference="showReferences",ve.folder="showFolders",ve.typeParameter="showTypeParameters",ve.snippet="showSnippets",(0,a.E)(ve,Fe=>{const we=R.filteredTypes[Fe.key];we===!1&&(R[Fe.value]=we)})}const V=se.hover;V===!0?se.hover={enabled:!0}:V===!1&&(se.hover={enabled:!1});const K=se.parameterHints;K===!0?se.parameterHints={enabled:!0}:K===!1&&(se.parameterHints={enabled:!1});const ie=se.autoIndent;ie===!0?se.autoIndent="full":ie===!1&&(se.autoIndent="advanced");const te=se.matchBrackets;te===!0?se.matchBrackets="always":te===!1&&(se.matchBrackets="never");const{renderIndentGuides:ge,highlightActiveIndentGuide:ye}=se;se.guides||(se.guides={}),ge!==void 0&&(se.guides.indentation=!!ge),ye!==void 0&&(se.guides.highlightActiveIndentation=!!ye)}function r(se){const re=P.I8(se);return v(re),re}class l extends O.JT{constructor(re,De){super(),this._onDidChange=this._register(new H.Q5),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new H.Q5),this.onDidChangeFast=this._onDidChangeFast.event,this.isSimpleWidget=re,this._isDominatedByLongLines=!1,this._computeOptionsMemory=new G.LJ,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._rawOptions=r(De),this._readOptions=f.readOptions(this._rawOptions),this._validatedOptions=f.validateOptions(this._readOptions),this._register(I.C.onDidChangeZoomLevel(J=>this._recomputeOptions())),this._register(g.onDidChangeTabFocus(J=>this._recomputeOptions()))}observeReferenceElement(re){}updatePixelRatio(){}_recomputeOptions(){const re=this.options,De=this._computeInternalOptions();if(!re)this.options=De;else{const J=f.checkEquals(re,De);if(J===null)return;this.options=De,this._onDidChangeFast.fire(J),this._onDidChange.fire(J)}}getRawOptions(){return this._rawOptions}_computeInternalOptions(){const re=this._getEnvConfiguration(),De=y.E4.createFromValidatedSettings(this._validatedOptions,re.zoomLevel,re.pixelRatio,this.isSimpleWidget),J={memory:this._computeOptionsMemory,outerWidth:re.outerWidth,outerHeight:re.outerHeight,fontInfo:this.readConfiguration(De),extraEditorClassName:re.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:re.emptySelectionClipboard,pixelRatio:re.pixelRatio,tabFocusMode:g.getTabFocusMode(),accessibilitySupport:re.accessibilitySupport};return f.computeOptions(this._validatedOptions,J)}static _subsetEquals(re,De){for(const J in De)if(w.call(De,J)){const Z=De[J],Q=re[J];if(Q===Z)continue;if(Array.isArray(Q)&&Array.isArray(Z)){if(!D.fS(Q,Z))return!1;continue}if(Q&&typeof Q=="object"&&Z&&typeof Z=="object"){if(!this._subsetEquals(Q,Z))return!1;continue}return!1}return!0}updateOptions(re){if(typeof re=="undefined")return;const De=r(re);l._subsetEquals(this._rawOptions,De)||(this._rawOptions=P.jB(this._rawOptions,De||{}),this._readOptions=f.readOptions(this._rawOptions),this._validatedOptions=f.validateOptions(this._readOptions),this._recomputeOptions())}setIsDominatedByLongLines(re){this._isDominatedByLongLines=re,this._recomputeOptions()}setMaxLineNumber(re){const De=l._digitCount(re);this._lineNumbersDigitCount!==De&&(this._lineNumbersDigitCount=De,this._recomputeOptions())}setViewLineCount(re){this._viewLineCount!==re&&(this._viewLineCount=re,this._recomputeOptions())}static _digitCount(re){let De=0;for(;re;)re=Math.floor(re/10),De++;return De||1}}const m=Object.freeze({id:"editor",order:5,type:"object",title:h.N("editorConfigurationTitle","Editor"),scope:5}),c=p.B.as(E.IP.Configuration),b=Object.assign(Object.assign({},m),{properties:{"editor.tabSize":{type:"number",default:G.DB.tabSize,minimum:1,markdownDescription:h.N("tabSize","The number of spaces a tab is equal to. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.")},"editor.insertSpaces":{type:"boolean",default:G.DB.insertSpaces,markdownDescription:h.N("insertSpaces","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.")},"editor.detectIndentation":{type:"boolean",default:G.DB.detectIndentation,markdownDescription:h.N("detectIndentation","Controls whether `#editor.tabSize#` and `#editor.insertSpaces#` will be automatically detected when a file is opened based on the file contents.")},"editor.trimAutoWhitespace":{type:"boolean",default:G.DB.trimAutoWhitespace,description:h.N("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:G.DB.largeFileOptimizations,description:h.N("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{type:"boolean",default:!0,description:h.N("wordBasedSuggestions","Controls whether completions should be computed based on words in the document.")},"editor.wordBasedSuggestionsMode":{enum:["currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[h.N("wordBasedSuggestionsMode.currentDocument","Only suggest words from the active document."),h.N("wordBasedSuggestionsMode.matchingDocuments","Suggest words from all open documents of the same language."),h.N("wordBasedSuggestionsMode.allDocuments","Suggest words from all open documents.")],description:h.N("wordBasedSuggestionsMode","Controls from which documents word based completions are computed.")},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[h.N("semanticHighlighting.true","Semantic highlighting enabled for all color themes."),h.N("semanticHighlighting.false","Semantic highlighting disabled for all color themes."),h.N("semanticHighlighting.configuredByTheme","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:h.N("semanticHighlighting.enabled","Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:h.N("stablePeek","Keep peek editors open even when double clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:h.N("maxTokenizationLineLength","Lines above this length will not be tokenized for performance reasons")},"editor.language.brackets":{type:"array",default:!1,description:h.N("schema.brackets","Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:h.N("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:h.N("schema.closeBracket","The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:"array",default:!1,description:h.N("schema.colorizedBracketPairs","Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:h.N("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:h.N("schema.closeBracket","The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:5e3,description:h.N("maxComputationTime","Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:50,description:h.N("maxFileSize","Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:!0,description:h.N("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:!0,description:h.N("ignoreTrimWhitespace","When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:!0,description:h.N("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:!1,description:h.N("codeLens","Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:"inherit",markdownEnumDescriptions:[h.N("wordWrap.off","Lines will never wrap."),h.N("wordWrap.on","Lines will wrap at the viewport width."),h.N("wordWrap.inherit","Lines will wrap according to the `#editor.wordWrap#` setting.")]}}});function L(se){return typeof se.type!="undefined"||typeof se.anyOf!="undefined"}for(const se of G.Bc){const re=se.schema;if(typeof re!="undefined")if(L(re))b.properties[`editor.${se.name}`]=re;else for(let De in re)w.call(re,De)&&(b.properties[De]=re[De])}let T=null;function M(){return T===null&&(T=Object.create(null),Object.keys(b.properties).forEach(se=>{T[se]=!0})),T}function z(se){return M()[`editor.${se}`]||!1}function oe(se){return M()[`diffEditor.${se}`]||!1}c.registerConfiguration(b)},97199:function(xt,Te,i){"use strict";i.d(Te,{$J:function(){return we},BH:function(){return Xe},Bb:function(){return D},Bc:function(){return Ht},DB:function(){return Ft},LJ:function(){return I},NY:function(){return v},O7:function(){return a},Zc:function(){return w},d2:function(){return T},gk:function(){return xe},hL:function(){return vt},hu:function(){return G},n0:function(){return re},y0:function(){return P}});var h=i(13268),H=i(23345),O=i(87131);const P=8;class D{constructor(Ae){this._values=Ae}hasChanged(Ae){return this._values[Ae]}}class G{constructor(){this._values=[]}_read(Ae){return this._values[Ae]}get(Ae){return this._values[Ae]}_write(Ae,He){this._values[Ae]=He}}class I{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class y{constructor(Ae,He,Et,Wt){this.id=Ae,this.name=He,this.defaultValue=Et,this.schema=Wt}compute(Ae,He,Et){return Et}}class E{constructor(Ae,He=null){this.schema=void 0,this.id=Ae,this.name="_never_",this.defaultValue=void 0,this.deps=He}validate(Ae){return this.defaultValue}}class p{constructor(Ae,He,Et,Wt){this.id=Ae,this.name=He,this.defaultValue=Et,this.schema=Wt}validate(Ae){return typeof Ae=="undefined"?this.defaultValue:Ae}compute(Ae,He,Et){return Et}}function a(Ze,Ae){return typeof Ze=="undefined"?Ae:Ze==="false"?!1:!!Ze}class g extends p{constructor(Ae,He,Et,Wt=void 0){typeof Wt!="undefined"&&(Wt.type="boolean",Wt.default=Et),super(Ae,He,Et,Wt)}validate(Ae){return a(Ae,this.defaultValue)}}function w(Ze,Ae,He,Et){if(typeof Ze=="undefined")return Ae;let Wt=parseInt(Ze,10);return isNaN(Wt)?Ae:(Wt=Math.max(He,Wt),Wt=Math.min(Et,Wt),Wt|0)}class s extends p{constructor(Ae,He,Et,Wt,oi,ni=void 0){typeof ni!="undefined"&&(ni.type="integer",ni.default=Et,ni.minimum=Wt,ni.maximum=oi),super(Ae,He,Et,ni),this.minimum=Wt,this.maximum=oi}static clampedInt(Ae,He,Et,Wt){return w(Ae,He,Et,Wt)}validate(Ae){return s.clampedInt(Ae,this.defaultValue,this.minimum,this.maximum)}}class C extends p{constructor(Ae,He,Et,Wt,oi){typeof oi!="undefined"&&(oi.type="number",oi.default=Et),super(Ae,He,Et,oi),this.validationFn=Wt}static clamp(Ae,He,Et){return Ae<He?He:Ae>Et?Et:Ae}static float(Ae,He){if(typeof Ae=="number")return Ae;if(typeof Ae=="undefined")return He;const Et=parseFloat(Ae);return isNaN(Et)?He:Et}validate(Ae){return this.validationFn(C.float(Ae,this.defaultValue))}}class f extends p{static string(Ae,He){return typeof Ae!="string"?He:Ae}constructor(Ae,He,Et,Wt=void 0){typeof Wt!="undefined"&&(Wt.type="string",Wt.default=Et),super(Ae,He,Et,Wt)}validate(Ae){return f.string(Ae,this.defaultValue)}}function v(Ze,Ae,He){return typeof Ze!="string"||He.indexOf(Ze)===-1?Ae:Ze}class r extends p{constructor(Ae,He,Et,Wt,oi=void 0){typeof oi!="undefined"&&(oi.type="string",oi.enum=Wt,oi.default=Et),super(Ae,He,Et,oi),this._allowedValues=Wt}validate(Ae){return v(Ae,this.defaultValue,this._allowedValues)}}class l extends y{constructor(Ae,He,Et,Wt,oi,ni,hi=void 0){typeof hi!="undefined"&&(hi.type="string",hi.enum=oi,hi.default=Wt),super(Ae,He,Et,hi),this._allowedValues=oi,this._convert=ni}validate(Ae){return typeof Ae!="string"?this.defaultValue:this._allowedValues.indexOf(Ae)===-1?this.defaultValue:this._convert(Ae)}}function m(Ze){switch(Ze){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class c extends y{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[h.N("accessibilitySupport.auto","The editor will use platform APIs to detect when a Screen Reader is attached."),h.N("accessibilitySupport.on","The editor will be permanently optimized for usage with a Screen Reader. Word wrapping will be disabled."),h.N("accessibilitySupport.off","The editor will never be optimized for usage with a Screen Reader.")],default:"auto",description:h.N("accessibilitySupport","Controls whether the editor should run in a mode where it is optimized for screen readers. Setting to on will disable word wrapping.")})}validate(Ae){switch(Ae){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(Ae,He,Et){return Et===0?Ae.accessibilitySupport:Et}}class b extends y{constructor(){const Ae={insertSpace:!0,ignoreEmptyLines:!0};super(19,"comments",Ae,{"editor.comments.insertSpace":{type:"boolean",default:Ae.insertSpace,description:h.N("comments.insertSpace","Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:Ae.ignoreEmptyLines,description:h.N("comments.ignoreEmptyLines","Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(Ae){if(!Ae||typeof Ae!="object")return this.defaultValue;const He=Ae;return{insertSpace:a(He.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:a(He.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function L(Ze){switch(Ze){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var T;(function(Ze){Ze[Ze.Line=1]="Line",Ze[Ze.Block=2]="Block",Ze[Ze.Underline=3]="Underline",Ze[Ze.LineThin=4]="LineThin",Ze[Ze.BlockOutline=5]="BlockOutline",Ze[Ze.UnderlineThin=6]="UnderlineThin"})(T||(T={}));function M(Ze){switch(Ze){case"line":return T.Line;case"block":return T.Block;case"underline":return T.Underline;case"line-thin":return T.LineThin;case"block-outline":return T.BlockOutline;case"underline-thin":return T.UnderlineThin}}class z extends E{constructor(){super(126,[65,33])}compute(Ae,He,Et){const Wt=["monaco-editor"];return He.get(33)&&Wt.push(He.get(33)),Ae.extraEditorClassName&&Wt.push(Ae.extraEditorClassName),He.get(65)==="default"?Wt.push("mouse-default"):He.get(65)==="copy"&&Wt.push("mouse-copy"),He.get(99)&&Wt.push("showUnused"),He.get(124)&&Wt.push("showDeprecated"),Wt.join(" ")}}class oe extends g{constructor(){super(32,"emptySelectionClipboard",!0,{description:h.N("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})}compute(Ae,He,Et){return Et&&Ae.emptySelectionClipboard}}class se extends y{constructor(){const Ae={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(35,"find",Ae,{"editor.find.cursorMoveOnType":{type:"boolean",default:Ae.cursorMoveOnType,description:h.N("find.cursorMoveOnType","Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:Ae.seedSearchStringFromSelection,enumDescriptions:[h.N("editor.find.seedSearchStringFromSelection.never","Never seed search string from the editor selection."),h.N("editor.find.seedSearchStringFromSelection.always","Always seed search string from the editor selection, including word at cursor position."),h.N("editor.find.seedSearchStringFromSelection.selection","Only seed search string from the editor selection.")],description:h.N("find.seedSearchStringFromSelection","Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:Ae.autoFindInSelection,enumDescriptions:[h.N("editor.find.autoFindInSelection.never","Never turn on Find in Selection automatically (default)."),h.N("editor.find.autoFindInSelection.always","Always turn on Find in Selection automatically."),h.N("editor.find.autoFindInSelection.multiline","Turn on Find in Selection automatically when multiple lines of content are selected.")],description:h.N("find.autoFindInSelection","Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:Ae.globalFindClipboard,description:h.N("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:H.dz},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:Ae.addExtraSpaceOnTop,description:h.N("find.addExtraSpaceOnTop","Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:Ae.loop,description:h.N("find.loop","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(Ae){if(!Ae||typeof Ae!="object")return this.defaultValue;const He=Ae;return{cursorMoveOnType:a(He.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof Ae.seedSearchStringFromSelection=="boolean"?Ae.seedSearchStringFromSelection?"always":"never":v(He.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof Ae.autoFindInSelection=="boolean"?Ae.autoFindInSelection?"always":"never":v(He.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:a(He.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:a(He.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:a(He.loop,this.defaultValue.loop)}}}class re extends y{constructor(){super(44,"fontLigatures",re.OFF,{anyOf:[{type:"boolean",description:h.N("fontLigatures","Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:h.N("fontFeatureSettings","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:h.N("fontLigaturesGeneral","Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(Ae){return typeof Ae=="undefined"?this.defaultValue:typeof Ae=="string"?Ae==="false"?re.OFF:Ae==="true"?re.ON:Ae:Ae?re.ON:re.OFF}}re.OFF='"liga" off, "calt" off',re.ON='"liga" on, "calt" on';class De extends E{constructor(){super(43)}compute(Ae,He,Et){return Ae.fontInfo}}class J extends p{constructor(){super(45,"fontSize",vt.fontSize,{type:"number",minimum:6,maximum:100,default:vt.fontSize,description:h.N("fontSize","Controls the font size in pixels.")})}validate(Ae){let He=C.float(Ae,this.defaultValue);return He===0?vt.fontSize:C.clamp(He,6,100)}compute(Ae,He,Et){return Ae.fontInfo.fontSize}}class Z extends y{constructor(){super(46,"fontWeight",vt.fontWeight,{anyOf:[{type:"number",minimum:Z.MINIMUM_VALUE,maximum:Z.MAXIMUM_VALUE,errorMessage:h.N("fontWeightErrorMessage",'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:Z.SUGGESTION_VALUES}],default:vt.fontWeight,description:h.N("fontWeight",'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(Ae){return Ae==="normal"||Ae==="bold"?Ae:String(s.clampedInt(Ae,vt.fontWeight,Z.MINIMUM_VALUE,Z.MAXIMUM_VALUE))}}Z.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],Z.MINIMUM_VALUE=1,Z.MAXIMUM_VALUE=1e3;class Q extends y{constructor(){const Ae={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},He={type:"string",enum:["peek","gotoAndPeek","goto"],default:Ae.multiple,enumDescriptions:[h.N("editor.gotoLocation.multiple.peek","Show peek view of the results (default)"),h.N("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a peek view"),h.N("editor.gotoLocation.multiple.goto","Go to the primary result and enable peek-less navigation to others")]},Et=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(50,"gotoLocation",Ae,{"editor.gotoLocation.multiple":{deprecationMessage:h.N("editor.gotoLocation.multiple.deprecated","This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":Object.assign({description:h.N("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist.")},He),"editor.gotoLocation.multipleTypeDefinitions":Object.assign({description:h.N("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.")},He),"editor.gotoLocation.multipleDeclarations":Object.assign({description:h.N("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.")},He),"editor.gotoLocation.multipleImplementations":Object.assign({description:h.N("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.")},He),"editor.gotoLocation.multipleReferences":Object.assign({description:h.N("editor.editor.gotoLocation.multipleReferences","Controls the behavior the 'Go to References'-command when multiple target locations exist.")},He),"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:Ae.alternativeDefinitionCommand,enum:Et,description:h.N("alternativeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:Ae.alternativeTypeDefinitionCommand,enum:Et,description:h.N("alternativeTypeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:Ae.alternativeDeclarationCommand,enum:Et,description:h.N("alternativeDeclarationCommand","Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:Ae.alternativeImplementationCommand,enum:Et,description:h.N("alternativeImplementationCommand","Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:Ae.alternativeReferenceCommand,enum:Et,description:h.N("alternativeReferenceCommand","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(Ae){var He,Et,Wt,oi,ni;if(!Ae||typeof Ae!="object")return this.defaultValue;const hi=Ae;return{multiple:v(hi.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:(He=hi.multipleDefinitions)!==null&&He!==void 0?He:v(hi.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:(Et=hi.multipleTypeDefinitions)!==null&&Et!==void 0?Et:v(hi.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:(Wt=hi.multipleDeclarations)!==null&&Wt!==void 0?Wt:v(hi.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:(oi=hi.multipleImplementations)!==null&&oi!==void 0?oi:v(hi.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:(ni=hi.multipleReferences)!==null&&ni!==void 0?ni:v(hi.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:f.string(hi.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:f.string(hi.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:f.string(hi.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:f.string(hi.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:f.string(hi.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}class le extends y{constructor(){const Ae={enabled:!0,delay:300,sticky:!0,above:!0};super(52,"hover",Ae,{"editor.hover.enabled":{type:"boolean",default:Ae.enabled,description:h.N("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:Ae.delay,description:h.N("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:Ae.sticky,description:h.N("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.above":{type:"boolean",default:Ae.above,description:h.N("hover.above","Prefer showing hovers above the line, if there's space.")}})}validate(Ae){if(!Ae||typeof Ae!="object")return this.defaultValue;const He=Ae;return{enabled:a(He.enabled,this.defaultValue.enabled),delay:s.clampedInt(He.delay,this.defaultValue.delay,0,1e4),sticky:a(He.sticky,this.defaultValue.sticky),above:a(He.above,this.defaultValue.above)}}}class xe extends E{constructor(){super(129,[49,57,37,64,91,59,60,93,116,119,120,121,2])}compute(Ae,He,Et){return xe.computeLayout(He,{memory:Ae.memory,outerWidth:Ae.outerWidth,outerHeight:Ae.outerHeight,isDominatedByLongLines:Ae.isDominatedByLongLines,lineHeight:Ae.fontInfo.lineHeight,viewLineCount:Ae.viewLineCount,lineNumbersDigitCount:Ae.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:Ae.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:Ae.fontInfo.maxDigitWidth,pixelRatio:Ae.pixelRatio})}static computeContainedMinimapLineCount(Ae){const He=Ae.height/Ae.lineHeight,Et=Ae.scrollBeyondLastLine?He-1:0,Wt=(Ae.viewLineCount+Et)/(Ae.pixelRatio*Ae.height),oi=Math.floor(Ae.viewLineCount/Wt);return{typicalViewportLineCount:He,extraLinesBeyondLastLine:Et,desiredRatio:Wt,minimapLineCount:oi}}static _computeMinimapLayout(Ae,He){const Et=Ae.outerWidth,Wt=Ae.outerHeight,oi=Ae.pixelRatio;if(!Ae.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(oi*Wt),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:Wt};const ni=He.stableMinimapLayoutInput,hi=ni&&Ae.outerHeight===ni.outerHeight&&Ae.lineHeight===ni.lineHeight&&Ae.typicalHalfwidthCharacterWidth===ni.typicalHalfwidthCharacterWidth&&Ae.pixelRatio===ni.pixelRatio&&Ae.scrollBeyondLastLine===ni.scrollBeyondLastLine&&Ae.minimap.enabled===ni.minimap.enabled&&Ae.minimap.side===ni.minimap.side&&Ae.minimap.size===ni.minimap.size&&Ae.minimap.showSlider===ni.minimap.showSlider&&Ae.minimap.renderCharacters===ni.minimap.renderCharacters&&Ae.minimap.maxColumn===ni.minimap.maxColumn&&Ae.minimap.scale===ni.minimap.scale&&Ae.verticalScrollbarWidth===ni.verticalScrollbarWidth&&Ae.isViewportWrapping===ni.isViewportWrapping,Di=Ae.lineHeight,Ti=Ae.typicalHalfwidthCharacterWidth,Ni=Ae.scrollBeyondLastLine,ai=Ae.minimap.renderCharacters;let Pt=oi>=2?Math.round(Ae.minimap.scale*2):Ae.minimap.scale;const Gt=Ae.minimap.maxColumn,st=Ae.minimap.size,gt=Ae.minimap.side,ht=Ae.verticalScrollbarWidth,Qe=Ae.viewLineCount,$e=Ae.remainingWidth,Ie=Ae.isViewportWrapping,Oe=ai?2:3;let Ke=Math.floor(oi*Wt);const ct=Ke/oi;let Nt=!1,$t=!1,Xt=Oe*Pt,Ci=Pt/oi,Zt=1;if(st==="fill"||st==="fit"){const{typicalViewportLineCount:Y,extraLinesBeyondLastLine:_e,desiredRatio:ke,minimapLineCount:lt}=xe.computeContainedMinimapLineCount({viewLineCount:Qe,scrollBeyondLastLine:Ni,height:Wt,lineHeight:Di,pixelRatio:oi});if(Qe/lt>1)Nt=!0,$t=!0,Pt=1,Xt=1,Ci=Pt/oi;else{let pt=!1,Dt=Pt+1;if(st==="fit"){const Vt=Math.ceil((Qe+_e)*Xt);Ie&&hi&&$e<=He.stableFitRemainingWidth?(pt=!0,Dt=He.stableFitMaxMinimapScale):pt=Vt>Ke}if(st==="fill"||pt){Nt=!0;const Vt=Pt;Xt=Math.min(Di*oi,Math.max(1,Math.floor(1/ke))),Ie&&hi&&$e<=He.stableFitRemainingWidth&&(Dt=He.stableFitMaxMinimapScale),Pt=Math.min(Dt,Math.max(1,Math.floor(Xt/Oe))),Pt>Vt&&(Zt=Math.min(2,Pt/Vt)),Ci=Pt/oi/Zt,Ke=Math.ceil(Math.max(Y,Qe+_e)*Xt),Ie?(He.stableMinimapLayoutInput=Ae,He.stableFitRemainingWidth=$e,He.stableFitMaxMinimapScale=Pt):(He.stableMinimapLayoutInput=null,He.stableFitRemainingWidth=0)}}}const mi=Math.floor(Gt*Ci),mt=Math.min(mi,Math.max(0,Math.floor(($e-ht-2)*Ci/(Ti+Ci)))+P);let ut=Math.floor(oi*mt);const qe=ut/oi;ut=Math.floor(ut*Zt);const de=ai?1:2,Se=gt==="left"?0:Et-mt-ht;return{renderMinimap:de,minimapLeft:Se,minimapWidth:mt,minimapHeightIsEditorHeight:Nt,minimapIsSampling:$t,minimapScale:Pt,minimapLineHeight:Xt,minimapCanvasInnerWidth:ut,minimapCanvasInnerHeight:Ke,minimapCanvasOuterWidth:qe,minimapCanvasOuterHeight:ct}}static computeLayout(Ae,He){const Et=He.outerWidth|0,Wt=He.outerHeight|0,oi=He.lineHeight|0,ni=He.lineNumbersDigitCount|0,hi=He.typicalHalfwidthCharacterWidth,Di=He.maxDigitWidth,Ti=He.pixelRatio,Ni=He.viewLineCount,ai=Ae.get(121),Pt=ai==="inherit"?Ae.get(120):ai,Gt=Pt==="inherit"?Ae.get(116):Pt,st=Ae.get(119),gt=Ae.get(2),ht=He.isDominatedByLongLines,Qe=Ae.get(49),$e=Ae.get(59).renderType!==0,Ie=Ae.get(60),Oe=Ae.get(93),Ke=Ae.get(64),ct=Ae.get(91),Nt=ct.verticalScrollbarSize,$t=ct.verticalHasArrows,Xt=ct.arrowSize,Ci=ct.horizontalScrollbarSize,Zt=Ae.get(57),mi=Ae.get(37);let mt;if(typeof Zt=="string"&&/^\d+(\.\d+)?ch$/.test(Zt)){const jt=parseFloat(Zt.substr(0,Zt.length-2));mt=s.clampedInt(jt*hi,0,0,1e3)}else mt=s.clampedInt(Zt,0,0,1e3);mi&&(mt+=16);let ut=0;if($e){const jt=Math.max(ni,Ie);ut=Math.round(jt*Di)}let qe=0;Qe&&(qe=oi);let de=0,Se=de+qe,Y=Se+ut,_e=Y+mt;const ke=Et-qe-ut-mt;let lt=!1,nt=!1,pt=-1;gt!==2&&(Pt==="inherit"&&ht?(lt=!0,nt=!0):Gt==="on"||Gt==="bounded"?nt=!0:Gt==="wordWrapColumn"&&(pt=st));const Dt=xe._computeMinimapLayout({outerWidth:Et,outerHeight:Wt,lineHeight:oi,typicalHalfwidthCharacterWidth:hi,pixelRatio:Ti,scrollBeyondLastLine:Oe,minimap:Ke,verticalScrollbarWidth:Nt,viewLineCount:Ni,remainingWidth:ke,isViewportWrapping:nt},He.memory||new I);Dt.renderMinimap!==0&&Dt.minimapLeft===0&&(de+=Dt.minimapWidth,Se+=Dt.minimapWidth,Y+=Dt.minimapWidth,_e+=Dt.minimapWidth);const Vt=ke-Dt.minimapWidth,Mt=Math.max(1,Math.floor((Vt-Nt-2)/hi)),Jt=$t?Xt:0;return nt&&(pt=Math.max(1,Mt),Gt==="bounded"&&(pt=Math.min(pt,st))),{width:Et,height:Wt,glyphMarginLeft:de,glyphMarginWidth:qe,lineNumbersLeft:Se,lineNumbersWidth:ut,decorationsLeft:Y,decorationsWidth:mt,contentLeft:_e,contentWidth:Vt,minimap:Dt,viewportColumn:Mt,isWordWrapMinified:lt,isViewportWrapping:nt,wrappingColumn:pt,verticalScrollbarWidth:Nt,horizontalScrollbarHeight:Ci,overviewRuler:{top:Jt,width:Nt,height:Wt-2*Jt,right:0}}}}class j extends y{constructor(){const Ae={enabled:!0};super(56,"lightbulb",Ae,{"editor.lightbulb.enabled":{type:"boolean",default:Ae.enabled,description:h.N("codeActions","Enables the code action lightbulb in the editor.")}})}validate(Ae){return!Ae||typeof Ae!="object"?this.defaultValue:{enabled:a(Ae.enabled,this.defaultValue.enabled)}}}class R extends y{constructor(){const Ae={enabled:!0,fontSize:0,fontFamily:""};super(125,"inlayHints",Ae,{"editor.inlayHints.enabled":{type:"boolean",default:Ae.enabled,description:h.N("inlayHints.enable","Enables the inlay hints in the editor.")},"editor.inlayHints.fontSize":{type:"number",default:Ae.fontSize,markdownDescription:h.N("inlayHints.fontSize","Controls font size of inlay hints in the editor. A default of 90% of `#editor.fontSize#` is used when the configured value is less than `5` or greater than the editor font size.")},"editor.inlayHints.fontFamily":{type:"string",default:Ae.fontFamily,markdownDescription:h.N("inlayHints.fontFamily","Controls font family of inlay hints in the editor. When set to empty, the `#editor.fontFamily#` is used.")}})}validate(Ae){if(!Ae||typeof Ae!="object")return this.defaultValue;const He=Ae;return{enabled:a(He.enabled,this.defaultValue.enabled),fontSize:s.clampedInt(He.fontSize,this.defaultValue.fontSize,0,100),fontFamily:f.string(He.fontFamily,this.defaultValue.fontFamily)}}}class V extends C{constructor(){super(58,"lineHeight",vt.lineHeight,Ae=>C.clamp(Ae,0,150),{markdownDescription:h.N("lineHeight",`Controls the line height.
- Use 0 to automatically compute the line height from the font size.
- Values between 0 and 8 will be used as a multiplier with the font size.
- Values greater than or equal to 8 will be used as effective values.`)})}compute(Ae,He,Et){return Ae.fontInfo.lineHeight}}class K extends y{constructor(){const Ae={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",renderCharacters:!0,maxColumn:120,scale:1};super(64,"minimap",Ae,{"editor.minimap.enabled":{type:"boolean",default:Ae.enabled,description:h.N("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[h.N("minimap.size.proportional","The minimap has the same size as the editor contents (and might scroll)."),h.N("minimap.size.fill","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),h.N("minimap.size.fit","The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:Ae.size,description:h.N("minimap.size","Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:Ae.side,description:h.N("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:Ae.showSlider,description:h.N("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:Ae.scale,minimum:1,maximum:3,enum:[1,2,3],description:h.N("minimap.scale","Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:Ae.renderCharacters,description:h.N("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:Ae.maxColumn,description:h.N("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")}})}validate(Ae){if(!Ae||typeof Ae!="object")return this.defaultValue;const He=Ae;return{enabled:a(He.enabled,this.defaultValue.enabled),size:v(He.size,this.defaultValue.size,["proportional","fill","fit"]),side:v(He.side,this.defaultValue.side,["right","left"]),showSlider:v(He.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:a(He.renderCharacters,this.defaultValue.renderCharacters),scale:s.clampedInt(He.scale,1,1,3),maxColumn:s.clampedInt(He.maxColumn,this.defaultValue.maxColumn,1,1e4)}}}function ie(Ze){return Ze==="ctrlCmd"?H.dz?"metaKey":"ctrlKey":"altKey"}class te extends y{constructor(){super(74,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:h.N("padding.top","Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:h.N("padding.bottom","Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(Ae){if(!Ae||typeof Ae!="object")return this.defaultValue;const He=Ae;return{top:s.clampedInt(He.top,0,0,1e3),bottom:s.clampedInt(He.bottom,0,0,1e3)}}}class ge extends y{constructor(){const Ae={enabled:!0,cycle:!1};super(75,"parameterHints",Ae,{"editor.parameterHints.enabled":{type:"boolean",default:Ae.enabled,description:h.N("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:Ae.cycle,description:h.N("parameterHints.cycle","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(Ae){if(!Ae||typeof Ae!="object")return this.defaultValue;const He=Ae;return{enabled:a(He.enabled,this.defaultValue.enabled),cycle:a(He.cycle,this.defaultValue.cycle)}}}class ye extends E{constructor(){super(127)}compute(Ae,He,Et){return Ae.pixelRatio}}class ve extends y{constructor(){const Ae={other:!0,comments:!1,strings:!1};super(78,"quickSuggestions",Ae,{anyOf:[{type:"boolean"},{type:"object",properties:{strings:{type:"boolean",default:Ae.strings,description:h.N("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{type:"boolean",default:Ae.comments,description:h.N("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{type:"boolean",default:Ae.other,description:h.N("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}}}],default:Ae,description:h.N("quickSuggestions","Controls whether suggestions should automatically show up while typing.")}),this.defaultValue=Ae}validate(Ae){if(typeof Ae=="boolean")return Ae;if(Ae&&typeof Ae=="object"){const He=Ae,Et={other:a(He.other,this.defaultValue.other),comments:a(He.comments,this.defaultValue.comments),strings:a(He.strings,this.defaultValue.strings)};return Et.other&&Et.comments&&Et.strings?!0:!Et.other&&!Et.comments&&!Et.strings?!1:Et}return this.defaultValue}}class Fe extends y{constructor(){super(59,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[h.N("lineNumbers.off","Line numbers are not rendered."),h.N("lineNumbers.on","Line numbers are rendered as absolute number."),h.N("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),h.N("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:h.N("lineNumbers","Controls the display of line numbers.")})}validate(Ae){let He=this.defaultValue.renderType,Et=this.defaultValue.renderFn;return typeof Ae!="undefined"&&(typeof Ae=="function"?(He=4,Et=Ae):Ae==="interval"?He=3:Ae==="relative"?He=2:Ae==="on"?He=1:He=0),{renderType:He,renderFn:Et}}}function we(Ze){const Ae=Ze.get(86);return Ae==="editable"?Ze.get(80):Ae!=="on"}class ue extends y{constructor(){const Ae=[],He={type:"number",description:h.N("rulers.size","Number of monospace characters at which this editor ruler will render.")};super(90,"rulers",Ae,{type:"array",items:{anyOf:[He,{type:["object"],properties:{column:He,color:{type:"string",description:h.N("rulers.color","Color of this editor ruler."),format:"color-hex"}}}]},default:Ae,description:h.N("rulers","Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(Ae){if(Array.isArray(Ae)){let He=[];for(let Et of Ae)if(typeof Et=="number")He.push({column:s.clampedInt(Et,0,0,1e4),color:null});else if(Et&&typeof Et=="object"){const Wt=Et;He.push({column:s.clampedInt(Wt.column,0,0,1e4),color:Wt.color})}return He.sort((Et,Wt)=>Et.column-Wt.column),He}return this.defaultValue}}function ce(Ze,Ae){if(typeof Ze!="string")return Ae;switch(Ze){case"hidden":return 2;case"visible":return 3;default:return 1}}class Ve extends y{constructor(){const Ae={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1};super(91,"scrollbar",Ae,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[h.N("scrollbar.vertical.auto","The vertical scrollbar will be visible only when necessary."),h.N("scrollbar.vertical.visible","The vertical scrollbar will always be visible."),h.N("scrollbar.vertical.fit","The vertical scrollbar will always be hidden.")],default:"auto",description:h.N("scrollbar.vertical","Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[h.N("scrollbar.horizontal.auto","The horizontal scrollbar will be visible only when necessary."),h.N("scrollbar.horizontal.visible","The horizontal scrollbar will always be visible."),h.N("scrollbar.horizontal.fit","The horizontal scrollbar will always be hidden.")],default:"auto",description:h.N("scrollbar.horizontal","Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:Ae.verticalScrollbarSize,description:h.N("scrollbar.verticalScrollbarSize","The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:Ae.horizontalScrollbarSize,description:h.N("scrollbar.horizontalScrollbarSize","The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:Ae.scrollByPage,description:h.N("scrollbar.scrollByPage","Controls whether clicks scroll by page or jump to click position.")}})}validate(Ae){if(!Ae||typeof Ae!="object")return this.defaultValue;const He=Ae,Et=s.clampedInt(He.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),Wt=s.clampedInt(He.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:s.clampedInt(He.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:ce(He.vertical,this.defaultValue.vertical),horizontal:ce(He.horizontal,this.defaultValue.horizontal),useShadows:a(He.useShadows,this.defaultValue.useShadows),verticalHasArrows:a(He.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:a(He.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:a(He.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:a(He.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:Et,horizontalSliderSize:s.clampedInt(He.horizontalSliderSize,Et,0,1e3),verticalScrollbarSize:Wt,verticalSliderSize:s.clampedInt(He.verticalSliderSize,Wt,0,1e3),scrollByPage:a(He.scrollByPage,this.defaultValue.scrollByPage)}}}class We extends y{constructor(){const Ae={enabled:!0,mode:"subwordSmart"};super(54,"inlineSuggest",Ae,{"editor.inlineSuggest.enabled":{type:"boolean",default:Ae.enabled,description:h.N("inlineSuggest.enabled","Controls whether to automatically show inline suggestions in the editor.")}})}validate(Ae){if(!Ae||typeof Ae!="object")return this.defaultValue;const He=Ae;return{enabled:a(He.enabled,this.defaultValue.enabled),mode:v(He.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"])}}}class ae extends y{constructor(){const Ae={enabled:Ft.bracketPairColorizationOptions.enabled};super(12,"bracketPairColorization",Ae,{"editor.bracketPairColorization.enabled":{type:"boolean",default:Ae.enabled,description:h.N("bracketPairColorization.enabled","Controls whether bracket pair colorization is enabled or not. Use 'workbench.colorCustomizations' to override the bracket highlight colors.")}})}validate(Ae){return!Ae||typeof Ae!="object"?this.defaultValue:{enabled:a(Ae.enabled,this.defaultValue.enabled)}}}class fe extends y{constructor(){const Ae={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(13,"guides",Ae,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[h.N("editor.guides.bracketPairs.true","Enables bracket pair guides."),h.N("editor.guides.bracketPairs.active","Enables bracket pair guides only for the active bracket pair."),h.N("editor.guides.bracketPairs.false","Disables bracket pair guides.")],default:Ae.bracketPairs,description:h.N("editor.guides.bracketPairs","Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[h.N("editor.guides.bracketPairsHorizontal.true","Enables horizontal guides as addition to vertical bracket pair guides."),h.N("editor.guides.bracketPairsHorizontal.active","Enables horizontal guides only for the active bracket pair."),h.N("editor.guides.bracketPairsHorizontal.false","Disables horizontal bracket pair guides.")],default:Ae.bracketPairsHorizontal,description:h.N("editor.guides.bracketPairsHorizontal","Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:Ae.highlightActiveBracketPair,description:h.N("editor.guides.highlightActiveBracketPair","Controls whether bracket pair guides are enabled or not.")},"editor.guides.indentation":{type:"boolean",default:Ae.indentation,description:h.N("editor.guides.indentation","Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:"boolean",default:Ae.highlightActiveIndentation,description:h.N("editor.guides.highlightActiveIndentation","Controls whether the editor should highlight the active indent guide.")}})}validate(Ae){if(!Ae||typeof Ae!="object")return this.defaultValue;const He=Ae;return{bracketPairs:ne(He.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:ne(He.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:a(He.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:a(He.indentation,this.defaultValue.indentation),highlightActiveIndentation:a(He.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation)}}}function ne(Ze,Ae,He){const Et=He.indexOf(Ze);return Et===-1?Ae:He[Et]}class W extends y{constructor(){const Ae={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!0,localityBonus:!1,shareSuggestSelections:!1,showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(105,"suggest",Ae,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[h.N("suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),h.N("suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:Ae.insertMode,description:h.N("suggest.insertMode","Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:Ae.filterGraceful,description:h.N("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:Ae.localityBonus,description:h.N("suggest.localityBonus","Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:Ae.shareSuggestSelections,markdownDescription:h.N("suggest.shareSuggestSelections","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:Ae.snippetsPreventQuickSuggestions,description:h.N("suggest.snippetsPreventQuickSuggestions","Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:Ae.showIcons,description:h.N("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:Ae.showStatusBar,description:h.N("suggest.showStatusBar","Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:Ae.preview,description:h.N("suggest.preview","Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:Ae.showInlineDetails,description:h.N("suggest.showInlineDetails","Controls whether suggest details show inline with the label or only in the details widget")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:h.N("suggest.maxVisibleSuggestions.dep","This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:h.N("deprecated","This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showMethods","When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showFunctions","When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showConstructors","When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showDeprecated","When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showFields","When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showVariables","When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showClasss","When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showStructs","When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showInterfaces","When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showModules","When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showPropertys","When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showEvents","When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showOperators","When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showUnits","When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showValues","When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showConstants","When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showEnums","When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showEnumMembers","When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showKeywords","When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showTexts","When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showColors","When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showFiles","When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showReferences","When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showCustomcolors","When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showFolders","When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showTypeParameters","When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showSnippets","When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showUsers","When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:h.N("editor.suggest.showIssues","When enabled IntelliSense shows `issues`-suggestions.")}})}validate(Ae){if(!Ae||typeof Ae!="object")return this.defaultValue;const He=Ae;return{insertMode:v(He.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:a(He.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:a(He.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:a(He.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:a(He.shareSuggestSelections,this.defaultValue.shareSuggestSelections),showIcons:a(He.showIcons,this.defaultValue.showIcons),showStatusBar:a(He.showStatusBar,this.defaultValue.showStatusBar),preview:a(He.preview,this.defaultValue.preview),previewMode:v(He.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:a(He.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:a(He.showMethods,this.defaultValue.showMethods),showFunctions:a(He.showFunctions,this.defaultValue.showFunctions),showConstructors:a(He.showConstructors,this.defaultValue.showConstructors),showDeprecated:a(He.showDeprecated,this.defaultValue.showDeprecated),showFields:a(He.showFields,this.defaultValue.showFields),showVariables:a(He.showVariables,this.defaultValue.showVariables),showClasses:a(He.showClasses,this.defaultValue.showClasses),showStructs:a(He.showStructs,this.defaultValue.showStructs),showInterfaces:a(He.showInterfaces,this.defaultValue.showInterfaces),showModules:a(He.showModules,this.defaultValue.showModules),showProperties:a(He.showProperties,this.defaultValue.showProperties),showEvents:a(He.showEvents,this.defaultValue.showEvents),showOperators:a(He.showOperators,this.defaultValue.showOperators),showUnits:a(He.showUnits,this.defaultValue.showUnits),showValues:a(He.showValues,this.defaultValue.showValues),showConstants:a(He.showConstants,this.defaultValue.showConstants),showEnums:a(He.showEnums,this.defaultValue.showEnums),showEnumMembers:a(He.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:a(He.showKeywords,this.defaultValue.showKeywords),showWords:a(He.showWords,this.defaultValue.showWords),showColors:a(He.showColors,this.defaultValue.showColors),showFiles:a(He.showFiles,this.defaultValue.showFiles),showReferences:a(He.showReferences,this.defaultValue.showReferences),showFolders:a(He.showFolders,this.defaultValue.showFolders),showTypeParameters:a(He.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:a(He.showSnippets,this.defaultValue.showSnippets),showUsers:a(He.showUsers,this.defaultValue.showUsers),showIssues:a(He.showIssues,this.defaultValue.showIssues)}}}class $ extends y{constructor(){super(101,"smartSelect",{selectLeadingAndTrailingWhitespace:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:h.N("selectLeadingAndTrailingWhitespace","Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"}})}validate(Ae){return!Ae||typeof Ae!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:a(Ae.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace)}}}class ee extends E{constructor(){super(128,[80])}compute(Ae,He,Et){return He.get(80)?!0:Ae.tabFocusMode}}function he(Ze){switch(Ze){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}}class Pe extends E{constructor(){super(130,[129])}compute(Ae,He,Et){const Wt=He.get(129);return{isDominatedByLongLines:Ae.isDominatedByLongLines,isWordWrapMinified:Wt.isWordWrapMinified,isViewportWrapping:Wt.isViewportWrapping,wrappingColumn:Wt.wrappingColumn}}}const vt={fontFamily:H.dz?"Menlo, Monaco, 'Courier New', monospace":H.IJ?"'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:H.dz?12:14,lineHeight:0,letterSpacing:0},Ft={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!1}},Ht=[];function ze(Ze){return Ht[Ze.id]=Ze,Ze}const Xe={acceptSuggestionOnCommitCharacter:ze(new g(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:h.N("acceptSuggestionOnCommitCharacter","Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:ze(new r(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",h.N("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:h.N("acceptSuggestionOnEnter","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:ze(new c),accessibilityPageSize:ze(new s(3,"accessibilityPageSize",10,1,1073741824,{description:h.N("accessibilityPageSize","Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default.")})),ariaLabel:ze(new f(4,"ariaLabel",h.N("editorViewAccessibleLabel","Editor content"))),autoClosingBrackets:ze(new r(5,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",h.N("editor.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),h.N("editor.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],description:h.N("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingDelete:ze(new r(6,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",h.N("editor.autoClosingDelete.auto","Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:h.N("autoClosingDelete","Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:ze(new r(7,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",h.N("editor.autoClosingOvertype.auto","Type over closing quotes or brackets only if they were automatically inserted."),""],description:h.N("autoClosingOvertype","Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:ze(new r(8,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",h.N("editor.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),h.N("editor.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],description:h.N("autoClosingQuotes","Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:ze(new l(9,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],m,{enumDescriptions:[h.N("editor.autoIndent.none","The editor will not insert indentation automatically."),h.N("editor.autoIndent.keep","The editor will keep the current line's indentation."),h.N("editor.autoIndent.brackets","The editor will keep the current line's indentation and honor language defined brackets."),h.N("editor.autoIndent.advanced","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),h.N("editor.autoIndent.full","The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:h.N("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:ze(new g(10,"automaticLayout",!1)),autoSurround:ze(new r(11,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[h.N("editor.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),h.N("editor.autoSurround.quotes","Surround with quotes but not brackets."),h.N("editor.autoSurround.brackets","Surround with brackets but not quotes."),""],description:h.N("autoSurround","Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:ze(new ae),bracketPairGuides:ze(new fe),stickyTabStops:ze(new g(103,"stickyTabStops",!1,{description:h.N("stickyTabStops","Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:ze(new g(14,"codeLens",!0,{description:h.N("codeLens","Controls whether the editor shows CodeLens.")})),codeLensFontFamily:ze(new f(15,"codeLensFontFamily","",{description:h.N("codeLensFontFamily","Controls the font family for CodeLens.")})),codeLensFontSize:ze(new s(16,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:h.N("codeLensFontSize","Controls the font size in pixels for CodeLens. When set to `0`, the 90% of `#editor.fontSize#` is used.")})),colorDecorators:ze(new g(17,"colorDecorators",!0,{description:h.N("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")})),columnSelection:ze(new g(18,"columnSelection",!1,{description:h.N("columnSelection","Enable that the selection with the mouse and keys is doing column selection.")})),comments:ze(new b),contextmenu:ze(new g(20,"contextmenu",!0)),copyWithSyntaxHighlighting:ze(new g(21,"copyWithSyntaxHighlighting",!0,{description:h.N("copyWithSyntaxHighlighting","Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:ze(new l(22,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],L,{description:h.N("cursorBlinking","Control the cursor animation style.")})),cursorSmoothCaretAnimation:ze(new g(23,"cursorSmoothCaretAnimation",!1,{description:h.N("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")})),cursorStyle:ze(new l(24,"cursorStyle",T.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],M,{description:h.N("cursorStyle","Controls the cursor style.")})),cursorSurroundingLines:ze(new s(25,"cursorSurroundingLines",0,0,1073741824,{description:h.N("cursorSurroundingLines","Controls the minimal number of visible leading and trailing lines surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:ze(new r(26,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[h.N("cursorSurroundingLinesStyle.default","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),h.N("cursorSurroundingLinesStyle.all","`cursorSurroundingLines` is enforced always.")],description:h.N("cursorSurroundingLinesStyle","Controls when `cursorSurroundingLines` should be enforced.")})),cursorWidth:ze(new s(27,"cursorWidth",0,0,1073741824,{markdownDescription:h.N("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:ze(new g(28,"disableLayerHinting",!1)),disableMonospaceOptimizations:ze(new g(29,"disableMonospaceOptimizations",!1)),domReadOnly:ze(new g(30,"domReadOnly",!1)),dragAndDrop:ze(new g(31,"dragAndDrop",!0,{description:h.N("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:ze(new oe),extraEditorClassName:ze(new f(33,"extraEditorClassName","")),fastScrollSensitivity:ze(new C(34,"fastScrollSensitivity",5,Ze=>Ze<=0?5:Ze,{markdownDescription:h.N("fastScrollSensitivity","Scrolling speed multiplier when pressing `Alt`.")})),find:ze(new se),fixedOverflowWidgets:ze(new g(36,"fixedOverflowWidgets",!1)),folding:ze(new g(37,"folding",!0,{description:h.N("folding","Controls whether the editor has code folding enabled.")})),foldingStrategy:ze(new r(38,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[h.N("foldingStrategy.auto","Use a language-specific folding strategy if available, else the indentation-based one."),h.N("foldingStrategy.indentation","Use the indentation-based folding strategy.")],description:h.N("foldingStrategy","Controls the strategy for computing folding ranges.")})),foldingHighlight:ze(new g(39,"foldingHighlight",!0,{description:h.N("foldingHighlight","Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:ze(new g(40,"foldingImportsByDefault",!1,{description:h.N("foldingImportsByDefault","Controls whether the editor automatically collapses import ranges.")})),unfoldOnClickAfterEndOfLine:ze(new g(41,"unfoldOnClickAfterEndOfLine",!1,{description:h.N("unfoldOnClickAfterEndOfLine","Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:ze(new f(42,"fontFamily",vt.fontFamily,{description:h.N("fontFamily","Controls the font family.")})),fontInfo:ze(new De),fontLigatures2:ze(new re),fontSize:ze(new J),fontWeight:ze(new Z),formatOnPaste:ze(new g(47,"formatOnPaste",!1,{description:h.N("formatOnPaste","Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:ze(new g(48,"formatOnType",!1,{description:h.N("formatOnType","Controls whether the editor should automatically format the line after typing.")})),glyphMargin:ze(new g(49,"glyphMargin",!0,{description:h.N("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:ze(new Q),hideCursorInOverviewRuler:ze(new g(51,"hideCursorInOverviewRuler",!1,{description:h.N("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")})),hover:ze(new le),inDiffEditor:ze(new g(53,"inDiffEditor",!1)),letterSpacing:ze(new C(55,"letterSpacing",vt.letterSpacing,Ze=>C.clamp(Ze,-5,20),{description:h.N("letterSpacing","Controls the letter spacing in pixels.")})),lightbulb:ze(new j),lineDecorationsWidth:ze(new p(57,"lineDecorationsWidth",10)),lineHeight:ze(new V),lineNumbers:ze(new Fe),lineNumbersMinChars:ze(new s(60,"lineNumbersMinChars",5,1,300)),linkedEditing:ze(new g(61,"linkedEditing",!1,{description:h.N("linkedEditing","Controls whether the editor has linked editing enabled. Depending on the language, related symbols, e.g. HTML tags, are updated while editing.")})),links:ze(new g(62,"links",!0,{description:h.N("links","Controls whether the editor should detect links and make them clickable.")})),matchBrackets:ze(new r(63,"matchBrackets","always",["always","near","never"],{description:h.N("matchBrackets","Highlight matching brackets.")})),minimap:ze(new K),mouseStyle:ze(new r(65,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:ze(new C(66,"mouseWheelScrollSensitivity",1,Ze=>Ze===0?1:Ze,{markdownDescription:h.N("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:ze(new g(67,"mouseWheelZoom",!1,{markdownDescription:h.N("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:ze(new g(68,"multiCursorMergeOverlapping",!0,{description:h.N("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")})),multiCursorModifier:ze(new l(69,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],ie,{markdownEnumDescriptions:[h.N("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),h.N("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:h.N({key:"multiCursorModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier. [Read more](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:ze(new r(70,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[h.N("multiCursorPaste.spread","Each cursor pastes a single line of the text."),h.N("multiCursorPaste.full","Each cursor pastes the full text.")],markdownDescription:h.N("multiCursorPaste","Controls pasting when the line count of the pasted text matches the cursor count.")})),occurrencesHighlight:ze(new g(71,"occurrencesHighlight",!0,{description:h.N("occurrencesHighlight","Controls whether the editor should highlight semantic symbol occurrences.")})),overviewRulerBorder:ze(new g(72,"overviewRulerBorder",!0,{description:h.N("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:ze(new s(73,"overviewRulerLanes",3,0,3)),padding:ze(new te),parameterHints:ze(new ge),peekWidgetDefaultFocus:ze(new r(76,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[h.N("peekWidgetDefaultFocus.tree","Focus the tree when opening peek"),h.N("peekWidgetDefaultFocus.editor","Focus the editor when opening peek")],description:h.N("peekWidgetDefaultFocus","Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:ze(new g(77,"definitionLinkOpensInPeek",!1,{description:h.N("definitionLinkOpensInPeek","Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:ze(new ve),quickSuggestionsDelay:ze(new s(79,"quickSuggestionsDelay",10,0,1073741824,{description:h.N("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:ze(new g(80,"readOnly",!1)),renameOnType:ze(new g(81,"renameOnType",!1,{description:h.N("renameOnType","Controls whether the editor auto renames on type."),markdownDeprecationMessage:h.N("renameOnTypeDeprecate","Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:ze(new g(82,"renderControlCharacters",!0,{description:h.N("renderControlCharacters","Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:ze(new g(83,"renderFinalNewline",!0,{description:h.N("renderFinalNewline","Render last line number when the file ends with a newline.")})),renderLineHighlight:ze(new r(84,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",h.N("renderLineHighlight.all","Highlights both the gutter and the current line.")],description:h.N("renderLineHighlight","Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:ze(new g(85,"renderLineHighlightOnlyWhenFocus",!1,{description:h.N("renderLineHighlightOnlyWhenFocus","Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:ze(new r(86,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:ze(new r(87,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",h.N("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),h.N("renderWhitespace.selection","Render whitespace characters only on selected text."),h.N("renderWhitespace.trailing","Render only trailing whitespace characters."),""],description:h.N("renderWhitespace","Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:ze(new s(88,"revealHorizontalRightPadding",30,0,1e3)),roundedSelection:ze(new g(89,"roundedSelection",!0,{description:h.N("roundedSelection","Controls whether selections should have rounded corners.")})),rulers:ze(new ue),scrollbar:ze(new Ve),scrollBeyondLastColumn:ze(new s(92,"scrollBeyondLastColumn",5,0,1073741824,{description:h.N("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:ze(new g(93,"scrollBeyondLastLine",!0,{description:h.N("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:ze(new g(94,"scrollPredominantAxis",!0,{description:h.N("scrollPredominantAxis","Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:ze(new g(95,"selectionClipboard",!0,{description:h.N("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:H.IJ})),selectionHighlight:ze(new g(96,"selectionHighlight",!0,{description:h.N("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:ze(new g(97,"selectOnLineNumbers",!0)),showFoldingControls:ze(new r(98,"showFoldingControls","mouseover",["always","mouseover"],{enumDescriptions:[h.N("showFoldingControls.always","Always show the folding controls."),h.N("showFoldingControls.mouseover","Only show the folding controls when the mouse is over the gutter.")],description:h.N("showFoldingControls","Controls when the folding controls on the gutter are shown.")})),showUnused:ze(new g(99,"showUnused",!0,{description:h.N("showUnused","Controls fading out of unused code.")})),showDeprecated:ze(new g(124,"showDeprecated",!0,{description:h.N("showDeprecated","Controls strikethrough deprecated variables.")})),inlayHints:ze(new R),snippetSuggestions:ze(new r(100,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[h.N("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),h.N("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),h.N("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),h.N("snippetSuggestions.none","Do not show snippet suggestions.")],description:h.N("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:ze(new $),smoothScrolling:ze(new g(102,"smoothScrolling",!1,{description:h.N("smoothScrolling","Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:ze(new s(104,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:ze(new W),inlineSuggest:ze(new We),suggestFontSize:ze(new s(106,"suggestFontSize",0,0,1e3,{markdownDescription:h.N("suggestFontSize","Font size for the suggest widget. When set to `0`, the value of `#editor.fontSize#` is used.")})),suggestLineHeight:ze(new s(107,"suggestLineHeight",0,0,1e3,{markdownDescription:h.N("suggestLineHeight","Line height for the suggest widget. When set to `0`, the value of `#editor.lineHeight#` is used. The minimum value is 8.")})),suggestOnTriggerCharacters:ze(new g(108,"suggestOnTriggerCharacters",!0,{description:h.N("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:ze(new r(109,"suggestSelection","recentlyUsed",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[h.N("suggestSelection.first","Always select the first suggestion."),h.N("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),h.N("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:h.N("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:ze(new r(110,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[h.N("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),h.N("tabCompletion.off","Disable tab completions."),h.N("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:h.N("tabCompletion","Enables tab completions.")})),tabIndex:ze(new s(111,"tabIndex",0,-1,1073741824)),unusualLineTerminators:ze(new r(112,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[h.N("unusualLineTerminators.auto","Unusual line terminators are automatically removed."),h.N("unusualLineTerminators.off","Unusual line terminators are ignored."),h.N("unusualLineTerminators.prompt","Unusual line terminators prompt to be removed.")],description:h.N("unusualLineTerminators","Remove unusual line terminators that might cause problems.")})),useShadowDOM:ze(new g(113,"useShadowDOM",!0)),useTabStops:ze(new g(114,"useTabStops",!0,{description:h.N("useTabStops","Inserting and deleting whitespace follows tab stops.")})),wordSeparators:ze(new f(115,"wordSeparators",O.vu,{description:h.N("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:ze(new r(116,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[h.N("wordWrap.off","Lines will never wrap."),h.N("wordWrap.on","Lines will wrap at the viewport width."),h.N({key:"wordWrap.wordWrapColumn",comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),h.N({key:"wordWrap.bounded",comment:["- viewport means the edge of the visible window size.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:h.N({key:"wordWrap",comment:["- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:ze(new f(117,"wordWrapBreakAfterCharacters"," })]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63")),wordWrapBreakBeforeCharacters:ze(new f(118,"wordWrapBreakBeforeCharacters","([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B")),wordWrapColumn:ze(new s(119,"wordWrapColumn",80,1,1073741824,{markdownDescription:h.N({key:"wordWrapColumn",comment:["- `editor.wordWrap` refers to a different setting and should not be localized.","- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized."]},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:ze(new r(120,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:ze(new r(121,"wordWrapOverride2","inherit",["off","on","inherit"])),wrappingIndent:ze(new l(122,"wrappingIndent",1,"same",["none","same","indent","deepIndent"],he,{enumDescriptions:[h.N("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),h.N("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),h.N("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),h.N("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],description:h.N("wrappingIndent","Controls the indentation of wrapped lines.")})),wrappingStrategy:ze(new r(123,"wrappingStrategy","simple",["simple","advanced"],{enumDescriptions:[h.N("wrappingStrategy.simple","Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),h.N("wrappingStrategy.advanced","Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],description:h.N("wrappingStrategy","Controls the algorithm that computes wrapping points.")})),editorClassName:ze(new z),pixelRatio:ze(new ye),tabFocusMode:ze(new ee),layoutInfo:ze(new xe),wrappingInfo:ze(new Pe)}},80724:function(xt,Te,i){"use strict";i.d(Te,{C:function(){return H}});var h=i(4348);const H=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new h.Q5,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(O){O=Math.min(Math.max(-5,O),20),this._zoomLevel!==O&&(this._zoomLevel=O,this._onDidChangeZoomLevel.fire(this._zoomLevel))}}},62635:function(xt,Te,i){"use strict";i.d(Te,{E4:function(){return D},pR:function(){return I}});var h=i(23345),H=i(80724);const O=h.dz?1.5:1.35,P=8;class D{constructor(E){this._bareFontInfoBrand=void 0,this.zoomLevel=E.zoomLevel,this.pixelRatio=E.pixelRatio,this.fontFamily=String(E.fontFamily),this.fontWeight=String(E.fontWeight),this.fontSize=E.fontSize,this.fontFeatureSettings=E.fontFeatureSettings,this.lineHeight=E.lineHeight|0,this.letterSpacing=E.letterSpacing}static createFromValidatedSettings(E,p,a,g){const w=E.get(42),s=E.get(46),C=E.get(45),f=E.get(44),v=E.get(58),r=E.get(55);return D._create(w,s,C,f,v,r,p,a,g)}static _create(E,p,a,g,w,s,C,f,v){w===0?w=O*a:w<P&&(w=w*a),w=Math.round(w),w<P&&(w=P);const r=1+(v?0:H.C.getZoomLevel()*.1);return a*=r,w*=r,new D({zoomLevel:C,pixelRatio:f,fontFamily:E,fontWeight:p,fontSize:a,fontFeatureSettings:g,lineHeight:w,letterSpacing:s})}getId(){return this.zoomLevel+"-"+this.pixelRatio+"-"+this.fontFamily+"-"+this.fontWeight+"-"+this.fontSize+"-"+this.fontFeatureSettings+"-"+this.lineHeight+"-"+this.letterSpacing}getMassagedFontFamily(E){const p=D._wrapInQuotes(this.fontFamily);return E&&this.fontFamily!==E?`${p}, ${E}`:p}static _wrapInQuotes(E){return/[,"']/.test(E)?E:/[+ ]/.test(E)?`"${E}"`:E}}const G=1;class I extends D{constructor(E,p){super(E),this._editorStylingBrand=void 0,this.version=G,this.isTrusted=p,this.isMonospace=E.isMonospace,this.typicalHalfwidthCharacterWidth=E.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=E.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=E.canUseHalfwidthRightwardsArrow,this.spaceWidth=E.spaceWidth,this.middotWidth=E.middotWidth,this.wsmiddotWidth=E.wsmiddotWidth,this.maxDigitWidth=E.maxDigitWidth}equals(E){return this.fontFamily===E.fontFamily&&this.fontWeight===E.fontWeight&&this.fontSize===E.fontSize&&this.fontFeatureSettings===E.fontFeatureSettings&&this.lineHeight===E.lineHeight&&this.letterSpacing===E.letterSpacing&&this.typicalHalfwidthCharacterWidth===E.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===E.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===E.canUseHalfwidthRightwardsArrow&&this.spaceWidth===E.spaceWidth&&this.middotWidth===E.middotWidth&&this.wsmiddotWidth===E.wsmiddotWidth&&this.maxDigitWidth===E.maxDigitWidth}}},59671:function(xt,Te,i){"use strict";i.d(Te,{l:function(){return H}});var h=i(69025);class H{static whitespaceVisibleColumn(P,D,G){const I=P.length;let y=0,E=-1,p=-1;for(let a=0;a<I;a++){if(a===D)return[E,p,y];switch(y%G===0&&(E=a,p=y),P.charCodeAt(a)){case 32:y+=1;break;case 9:y=h.io.nextRenderTabStop(y,G);break;default:return[-1,-1,-1]}}return D===I?[E,p,y]:[-1,-1,-1]}static atomicPosition(P,D,G,I){const y=P.length,[E,p,a]=H.whitespaceVisibleColumn(P,D,G);if(a===-1)return-1;let g;switch(I){case 0:g=!0;break;case 1:g=!1;break;case 2:if(a%G===0)return D;g=a%G<=G/2;break}if(g){if(E===-1)return-1;let C=p;for(let f=E;f<y;++f){if(C===p+G)return E;switch(P.charCodeAt(f)){case 32:C+=1;break;case 9:C=h.io.nextRenderTabStop(C,G);break;default:return-1}}return C===p+G?E:-1}const w=h.io.nextRenderTabStop(a,G);let s=a;for(let C=D;C<y;C++){if(s===w)return C;switch(P.charCodeAt(C)){case 32:s+=1;break;case 9:s=h.io.nextRenderTabStop(s,G);break;default:return-1}}return s===w?y:-1}}},46446:function(xt,Te,i){"use strict";i.d(Te,{i:function(){return H}});var h=i(82983);class H{static visibleColumnFromColumn(P,D,G){const I=P.length,y=D-1<I?D-1:I;let E=0,p=0;for(;p<y;){const a=h.ZH(P,y,p);if(p+=a>=65536?2:1,a===9)E=H.nextRenderTabStop(E,G);else{let g=h.S6(a);for(;p<y;){const w=h.ZH(P,y,p),s=h.S6(w);if(h.fi(g,s))break;p+=w>=65536?2:1,g=s}h.K7(a)||h.C8(a)?E=E+2:E=E+1}}return E}static visibleColumnsByColumns(P,D){const G=P.length;let I=new Array;I.push(-1);let y=0,E=0;for(;E<G;){const p=h.ZH(P,G,E);if(E+=p>=65536?2:1,I.push(y),p>=65536&&I.push(y),p===9)y=H.nextRenderTabStop(y,D);else{let a=h.S6(p);for(;E<G;){const g=h.ZH(P,G,E),w=h.S6(g);if(h.fi(a,w))break;E+=g>=65536?2:1,I.push(y),p>=65536&&I.push(y),a=w}h.K7(p)||h.C8(p)?y=y+2:y=y+1}}return I.push(y),I}static visibleColumnFromColumn2(P,D,G){return this.visibleColumnFromColumn(D.getLineContent(G.lineNumber),G.column,P.tabSize)}static columnFromVisibleColumn(P,D,G){if(D<=0)return 1;const I=P.length;let y=0,E=1,p=0;for(;p<I;){const a=h.ZH(P,I,p);p+=a>=65536?2:1;let g;if(a===9)g=H.nextRenderTabStop(y,G);else{let s=h.S6(a);for(;p<I;){const C=h.ZH(P,I,p),f=h.S6(C);if(h.fi(s,f))break;p+=C>=65536?2:1,s=f}h.K7(a)||h.C8(a)?g=y+2:g=y+1}const w=p+1;if(g>=D){const s=D-y;return g-D<s?w:E}y=g,E=w}return I+1}static columnFromVisibleColumn2(P,D,G,I){let y=this.columnFromVisibleColumn(D.getLineContent(G),I,P.tabSize),E=D.getLineMinColumn(G);if(y<E)return E;let p=D.getLineMaxColumn(G);return y>p?p:y}static nextRenderTabStop(P,D){return P+D-P%D}static nextIndentTabStop(P,D){return P+D-P%D}static prevRenderTabStop(P,D){return Math.max(0,P-1-(P-1)%D)}static prevIndentTabStop(P,D){return Math.max(0,P-1-(P-1)%D)}}},69025:function(xt,Te,i){"use strict";i.d(Te,{LM:function(){return a},LN:function(){return r},Tp:function(){return v},Vi:function(){return f},io:function(){return I.i},rS:function(){return g},zp:function(){return w}});var h=i(79881),H=i(72146),O=i(17373),P=i(17551),D=i(31276),G=i(73468),I=i(46446);const y=()=>!0,E=()=>!1,p=l=>l===" "||l===" ";class a{constructor(m,c,b){this._cursorMoveConfigurationBrand=void 0,this._languageId=m;const L=b.options,T=L.get(129);this.readOnly=L.get(80),this.tabSize=c.tabSize,this.indentSize=c.indentSize,this.insertSpaces=c.insertSpaces,this.stickyTabStops=L.get(103),this.lineHeight=L.get(58),this.pageSize=Math.max(1,Math.floor(T.height/this.lineHeight)-2),this.useTabStops=L.get(114),this.wordSeparators=L.get(115),this.emptySelectionClipboard=L.get(32),this.copyWithSyntaxHighlighting=L.get(21),this.multiCursorMergeOverlapping=L.get(68),this.multiCursorPaste=L.get(70),this.autoClosingBrackets=L.get(5),this.autoClosingQuotes=L.get(8),this.autoClosingDelete=L.get(6),this.autoClosingOvertype=L.get(7),this.autoSurround=L.get(11),this.autoIndent=L.get(9),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:a._getShouldAutoClose(m,this.autoClosingQuotes),bracket:a._getShouldAutoClose(m,this.autoClosingBrackets)},this.autoClosingPairs=G.zu.getAutoClosingPairs(m);let M=a._getSurroundingPairs(m);if(M)for(const z of M)this.surroundingPairs[z.open]=z.close}static shouldRecreate(m){return m.hasChanged(129)||m.hasChanged(115)||m.hasChanged(32)||m.hasChanged(68)||m.hasChanged(70)||m.hasChanged(5)||m.hasChanged(8)||m.hasChanged(6)||m.hasChanged(7)||m.hasChanged(11)||m.hasChanged(114)||m.hasChanged(58)||m.hasChanged(80)}get electricChars(){if(!this._electricChars){this._electricChars={};let m=a._getElectricCharacters(this._languageId);if(m)for(const c of m)this._electricChars[c]=!0}return this._electricChars}normalizeIndentation(m){return D.yO.normalizeIndentation(m,this.indentSize,this.insertSpaces)}static _getElectricCharacters(m){try{return G.zu.getElectricCharacters(m)}catch(c){return(0,h.dL)(c),null}}static _getShouldAutoClose(m,c){switch(c){case"beforeWhitespace":return p;case"languageDefined":return a._getLanguageDefinedShouldAutoClose(m);case"always":return y;case"never":return E}}static _getLanguageDefinedShouldAutoClose(m){try{const c=G.zu.getAutoCloseBeforeSet(m);return b=>c.indexOf(b)!==-1}catch(c){return(0,h.dL)(c),E}}static _getSurroundingPairs(m){try{return G.zu.getSurroundingPairs(m)}catch(c){return(0,h.dL)(c),null}}}class g{constructor(m,c,b,L){this._singleCursorStateBrand=void 0,this.selectionStart=m,this.selectionStartLeftoverVisibleColumns=c,this.position=b,this.leftoverVisibleColumns=L,this.selection=g._computeSelection(this.selectionStart,this.position)}equals(m){return this.selectionStartLeftoverVisibleColumns===m.selectionStartLeftoverVisibleColumns&&this.leftoverVisibleColumns===m.leftoverVisibleColumns&&this.position.equals(m.position)&&this.selectionStart.equalsRange(m.selectionStart)}hasSelection(){return!this.selection.isEmpty()||!this.selectionStart.isEmpty()}move(m,c,b,L){return m?new g(this.selectionStart,this.selectionStartLeftoverVisibleColumns,new H.L(c,b),L):new g(new O.e(c,b,c,b),L,new H.L(c,b),L)}static _computeSelection(m,c){let b,L,T,M;return m.isEmpty()?(b=m.startLineNumber,L=m.startColumn,T=c.lineNumber,M=c.column):c.isBeforeOrEqual(m.getStartPosition())?(b=m.endLineNumber,L=m.endColumn,T=c.lineNumber,M=c.column):(b=m.startLineNumber,L=m.startColumn,T=c.lineNumber,M=c.column),new P.Y(b,L,T,M)}}class w{constructor(m,c,b,L){this._cursorContextBrand=void 0,this.model=m,this.viewModel=c,this.coordinatesConverter=b,this.cursorConfig=L}}class s{constructor(m){this.modelState=m,this.viewState=null}}class C{constructor(m){this.modelState=null,this.viewState=m}}class f{constructor(m,c){this._cursorStateBrand=void 0,this.modelState=m,this.viewState=c}static fromModelState(m){return new s(m)}static fromViewState(m){return new C(m)}static fromModelSelection(m){const c=m.selectionStartLineNumber,b=m.selectionStartColumn,L=m.positionLineNumber,T=m.positionColumn,M=new g(new O.e(c,b,c,b),0,new H.L(L,T),0);return f.fromModelState(M)}static fromModelSelections(m){let c=[];for(let b=0,L=m.length;b<L;b++)c[b]=this.fromModelSelection(m[b]);return c}equals(m){return this.viewState.equals(m.viewState)&&this.modelState.equals(m.modelState)}}class v{constructor(m,c,b){this._editOperationResultBrand=void 0,this.type=m,this.commands=c,this.shouldPushStackElementBefore=b.shouldPushStackElementBefore,this.shouldPushStackElementAfter=b.shouldPushStackElementAfter}}function r(l){return l==="'"||l==='"'||l==="`"}},75805:function(xt,Te,i){"use strict";i.d(Te,{A:function(){return I}});var h=i(82983),H=i(78529),O=i(69025),P=i(87095),D=i(17373),G=i(72146);class I{static deleteRight(E,p,a,g){let w=[],s=E!==3;for(let C=0,f=g.length;C<f;C++){const v=g[C];let r=v;if(r.isEmpty()){let l=v.getPosition(),m=P.o.right(p,a,l);r=new D.e(m.lineNumber,m.column,l.lineNumber,l.column)}if(r.isEmpty()){w[C]=null;continue}r.startLineNumber!==r.endLineNumber&&(s=!0),w[C]=new H.T4(r,"")}return[s,w]}static isAutoClosingPairDelete(E,p,a,g,w,s,C){if(p==="never"&&a==="never"||E==="never")return!1;for(let f=0,v=s.length;f<v;f++){const r=s[f],l=r.getPosition();if(!r.isEmpty())return!1;const m=w.getLineContent(l.lineNumber);if(l.column<2||l.column>=m.length+1)return!1;const c=m.charAt(l.column-2),b=g.get(c);if(!b)return!1;if((0,O.LN)(c)){if(a==="never")return!1}else if(p==="never")return!1;const L=m.charAt(l.column-1);let T=!1;for(const M of b)M.open===c&&M.close===L&&(T=!0);if(!T)return!1;if(E==="auto"){let M=!1;for(let z=0,oe=C.length;z<oe;z++){const se=C[z];if(l.lineNumber===se.startLineNumber&&l.column===se.startColumn){M=!0;break}}if(!M)return!1}}return!0}static _runAutoClosingPairDelete(E,p,a){let g=[];for(let w=0,s=a.length;w<s;w++){const C=a[w].getPosition(),f=new D.e(C.lineNumber,C.column-1,C.lineNumber,C.column+1);g[w]=new H.T4(f,"")}return[!0,g]}static deleteLeft(E,p,a,g,w){if(this.isAutoClosingPairDelete(p.autoClosingDelete,p.autoClosingBrackets,p.autoClosingQuotes,p.autoClosingPairs.autoClosingPairsOpenByEnd,a,g,w))return this._runAutoClosingPairDelete(p,a,g);const s=[];let C=E!==2;for(let f=0,v=g.length;f<v;f++){let r=I.getDeleteRange(g[f],a,p);if(r.isEmpty()){s[f]=null;continue}r.startLineNumber!==r.endLineNumber&&(C=!0),s[f]=new H.T4(r,"")}return[C,s]}static getDeleteRange(E,p,a){if(!E.isEmpty())return E;const g=E.getPosition();if(a.useTabStops&&g.column>1){const w=p.getLineContent(g.lineNumber),s=h.LC(w),C=s===-1?w.length+1:s+1;if(g.column<=C){const f=O.io.visibleColumnFromColumn2(a,p,g),v=O.io.prevIndentTabStop(f,a.indentSize),r=O.io.columnFromVisibleColumn2(a,p,g.lineNumber,v);return new D.e(g.lineNumber,r,g.lineNumber,g.column)}}return D.e.fromPositions(I.getPositionAfterDeleteLeft(g,p),g)}static getPositionAfterDeleteLeft(E,p){if(E.column>1){const a=h.oH(E.column-1,p.getLineContent(E.lineNumber));return E.with(void 0,a+1)}else if(E.lineNumber>1){const a=E.lineNumber-1;return new G.L(a,p.getLineMaxColumn(a))}else return E}static cut(E,p,a){let g=[],w=null;a.sort((s,C)=>G.L.compare(s.getStartPosition(),C.getEndPosition()));for(let s=0,C=a.length;s<C;s++){const f=a[s];if(f.isEmpty())if(E.emptySelectionClipboard){let v=f.getPosition(),r,l,m,c;v.lineNumber<p.getLineCount()?(r=v.lineNumber,l=1,m=v.lineNumber+1,c=1):v.lineNumber>1&&(w==null?void 0:w.endLineNumber)!==v.lineNumber?(r=v.lineNumber-1,l=p.getLineMaxColumn(v.lineNumber-1),m=v.lineNumber,c=p.getLineMaxColumn(v.lineNumber)):(r=v.lineNumber,l=1,m=v.lineNumber,c=p.getLineMaxColumn(v.lineNumber));let b=new D.e(r,l,m,c);w=b,b.isEmpty()?g[s]=null:g[s]=new H.T4(b,"")}else g[s]=null;else g[s]=new H.T4(f,"")}return new O.Tp(0,g,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}},43361:function(xt,Te,i){"use strict";i.d(Te,{N:function(){return y},P:function(){return I}});var h=i(72999),H=i(69025),O=i(87095),P=i(99292),D=i(72146),G=i(17373);class I{static addCursorDown(p,a,g){let w=[],s=0;for(let C=0,f=a.length;C<f;C++){const v=a[C];w[s++]=new H.Vi(v.modelState,v.viewState),g?w[s++]=H.Vi.fromModelState(O.o.translateDown(p.cursorConfig,p.model,v.modelState)):w[s++]=H.Vi.fromViewState(O.o.translateDown(p.cursorConfig,p,v.viewState))}return w}static addCursorUp(p,a,g){let w=[],s=0;for(let C=0,f=a.length;C<f;C++){const v=a[C];w[s++]=new H.Vi(v.modelState,v.viewState),g?w[s++]=H.Vi.fromModelState(O.o.translateUp(p.cursorConfig,p.model,v.modelState)):w[s++]=H.Vi.fromViewState(O.o.translateUp(p.cursorConfig,p,v.viewState))}return w}static moveToBeginningOfLine(p,a,g){let w=[];for(let s=0,C=a.length;s<C;s++){const f=a[s];w[s]=this._moveToLineStart(p,f,g)}return w}static _moveToLineStart(p,a,g){const w=a.viewState.position.column,s=a.modelState.position.column,C=w===s,f=a.viewState.position.lineNumber,v=p.getLineFirstNonWhitespaceColumn(f);return!C&&!(w===v)?this._moveToLineStartByView(p,a,g):this._moveToLineStartByModel(p,a,g)}static _moveToLineStartByView(p,a,g){return H.Vi.fromViewState(O.o.moveToBeginningOfLine(p.cursorConfig,p,a.viewState,g))}static _moveToLineStartByModel(p,a,g){return H.Vi.fromModelState(O.o.moveToBeginningOfLine(p.cursorConfig,p.model,a.modelState,g))}static moveToEndOfLine(p,a,g,w){let s=[];for(let C=0,f=a.length;C<f;C++){const v=a[C];s[C]=this._moveToLineEnd(p,v,g,w)}return s}static _moveToLineEnd(p,a,g,w){const s=a.viewState.position,C=p.getLineMaxColumn(s.lineNumber),f=s.column===C,v=a.modelState.position,r=p.model.getLineMaxColumn(v.lineNumber),l=C-s.column===r-v.column;return f||l?this._moveToLineEndByModel(p,a,g,w):this._moveToLineEndByView(p,a,g,w)}static _moveToLineEndByView(p,a,g,w){return H.Vi.fromViewState(O.o.moveToEndOfLine(p.cursorConfig,p,a.viewState,g,w))}static _moveToLineEndByModel(p,a,g,w){return H.Vi.fromModelState(O.o.moveToEndOfLine(p.cursorConfig,p.model,a.modelState,g,w))}static expandLineSelection(p,a){let g=[];for(let w=0,s=a.length;w<s;w++){const C=a[w],f=C.modelState.selection.startLineNumber,v=p.model.getLineCount();let r=C.modelState.selection.endLineNumber,l;r===v?l=p.model.getLineMaxColumn(v):(r++,l=1),g[w]=H.Vi.fromModelState(new H.rS(new G.e(f,1,f,1),0,new D.L(r,l),0))}return g}static moveToBeginningOfBuffer(p,a,g){let w=[];for(let s=0,C=a.length;s<C;s++){const f=a[s];w[s]=H.Vi.fromModelState(O.o.moveToBeginningOfBuffer(p.cursorConfig,p.model,f.modelState,g))}return w}static moveToEndOfBuffer(p,a,g){let w=[];for(let s=0,C=a.length;s<C;s++){const f=a[s];w[s]=H.Vi.fromModelState(O.o.moveToEndOfBuffer(p.cursorConfig,p.model,f.modelState,g))}return w}static selectAll(p,a){const g=p.model.getLineCount(),w=p.model.getLineMaxColumn(g);return H.Vi.fromModelState(new H.rS(new G.e(1,1,1,1),0,new D.L(g,w),0))}static line(p,a,g,w,s){const C=p.model.validatePosition(w),f=s?p.coordinatesConverter.validateViewPosition(new D.L(s.lineNumber,s.column),C):p.coordinatesConverter.convertModelPositionToViewPosition(C);if(!g||!a.modelState.hasSelection()){const r=p.model.getLineCount();let l=C.lineNumber+1,m=1;return l>r&&(l=r,m=p.model.getLineMaxColumn(l)),H.Vi.fromModelState(new H.rS(new G.e(C.lineNumber,1,l,m),0,new D.L(l,m),0))}const v=a.modelState.selectionStart.getStartPosition().lineNumber;if(C.lineNumber<v)return H.Vi.fromViewState(a.viewState.move(a.modelState.hasSelection(),f.lineNumber,1,0));if(C.lineNumber>v){const r=p.getLineCount();let l=f.lineNumber+1,m=1;return l>r&&(l=r,m=p.getLineMaxColumn(l)),H.Vi.fromViewState(a.viewState.move(a.modelState.hasSelection(),l,m,0))}else{const r=a.modelState.selectionStart.getEndPosition();return H.Vi.fromModelState(a.modelState.move(a.modelState.hasSelection(),r.lineNumber,r.column,0))}}static word(p,a,g,w){const s=p.model.validatePosition(w);return H.Vi.fromModelState(P.w.word(p.cursorConfig,p.model,a.modelState,g,s))}static cancelSelection(p,a){if(!a.modelState.hasSelection())return new H.Vi(a.modelState,a.viewState);const g=a.viewState.position.lineNumber,w=a.viewState.position.column;return H.Vi.fromViewState(new H.rS(new G.e(g,w,g,w),0,new D.L(g,w),0))}static moveTo(p,a,g,w,s){const C=p.model.validatePosition(w),f=s?p.coordinatesConverter.validateViewPosition(new D.L(s.lineNumber,s.column),C):p.coordinatesConverter.convertModelPositionToViewPosition(C);return H.Vi.fromViewState(a.viewState.move(g,f.lineNumber,f.column,0))}static simpleMove(p,a,g,w,s,C){switch(g){case 0:return C===4?this._moveHalfLineLeft(p,a,w):this._moveLeft(p,a,w,s);case 1:return C===4?this._moveHalfLineRight(p,a,w):this._moveRight(p,a,w,s);case 2:return C===2?this._moveUpByViewLines(p,a,w,s):this._moveUpByModelLines(p,a,w,s);case 3:return C===2?this._moveDownByViewLines(p,a,w,s):this._moveDownByModelLines(p,a,w,s);case 4:return C===2?a.map(f=>H.Vi.fromViewState(O.o.moveToPrevBlankLine(p.cursorConfig,p,f.viewState,w))):a.map(f=>H.Vi.fromModelState(O.o.moveToPrevBlankLine(p.cursorConfig,p.model,f.modelState,w)));case 5:return C===2?a.map(f=>H.Vi.fromViewState(O.o.moveToNextBlankLine(p.cursorConfig,p,f.viewState,w))):a.map(f=>H.Vi.fromModelState(O.o.moveToNextBlankLine(p.cursorConfig,p.model,f.modelState,w)));case 6:return this._moveToViewMinColumn(p,a,w);case 7:return this._moveToViewFirstNonWhitespaceColumn(p,a,w);case 8:return this._moveToViewCenterColumn(p,a,w);case 9:return this._moveToViewMaxColumn(p,a,w);case 10:return this._moveToViewLastNonWhitespaceColumn(p,a,w);default:return null}}static viewportMove(p,a,g,w,s){const C=p.getCompletelyVisibleViewRange(),f=p.coordinatesConverter.convertViewRangeToModelRange(C);switch(g){case 11:{const v=this._firstLineNumberInRange(p.model,f,s),r=p.model.getLineFirstNonWhitespaceColumn(v);return[this._moveToModelPosition(p,a[0],w,v,r)]}case 13:{const v=this._lastLineNumberInRange(p.model,f,s),r=p.model.getLineFirstNonWhitespaceColumn(v);return[this._moveToModelPosition(p,a[0],w,v,r)]}case 12:{const v=Math.round((f.startLineNumber+f.endLineNumber)/2),r=p.model.getLineFirstNonWhitespaceColumn(v);return[this._moveToModelPosition(p,a[0],w,v,r)]}case 14:{let v=[];for(let r=0,l=a.length;r<l;r++){const m=a[r];v[r]=this.findPositionInViewportIfOutside(p,m,C,w)}return v}default:return null}}static findPositionInViewportIfOutside(p,a,g,w){let s=a.viewState.position.lineNumber;if(g.startLineNumber<=s&&s<=g.endLineNumber-1)return new H.Vi(a.modelState,a.viewState);{let C;s>g.endLineNumber-1?C=g.endLineNumber-1:s<g.startLineNumber?C=g.startLineNumber:C=s;const f=O.o.vertical(p.cursorConfig,p,s,a.viewState.position.column,a.viewState.leftoverVisibleColumns,C,!1);return H.Vi.fromViewState(a.viewState.move(w,f.lineNumber,f.column,f.leftoverVisibleColumns))}}static _firstLineNumberInRange(p,a,g){let w=a.startLineNumber;return a.startColumn!==p.getLineMinColumn(w)&&w++,Math.min(a.endLineNumber,w+g-1)}static _lastLineNumberInRange(p,a,g){let w=a.startLineNumber;return a.startColumn!==p.getLineMinColumn(w)&&w++,Math.max(w,a.endLineNumber-g+1)}static _moveLeft(p,a,g,w){return a.map(s=>H.Vi.fromViewState(O.o.moveLeft(p.cursorConfig,p,s.viewState,g,w)))}static _moveHalfLineLeft(p,a,g){let w=[];for(let s=0,C=a.length;s<C;s++){const f=a[s],v=f.viewState.position.lineNumber,r=Math.round(p.getLineContent(v).length/2);w[s]=H.Vi.fromViewState(O.o.moveLeft(p.cursorConfig,p,f.viewState,g,r))}return w}static _moveRight(p,a,g,w){return a.map(s=>H.Vi.fromViewState(O.o.moveRight(p.cursorConfig,p,s.viewState,g,w)))}static _moveHalfLineRight(p,a,g){let w=[];for(let s=0,C=a.length;s<C;s++){const f=a[s],v=f.viewState.position.lineNumber,r=Math.round(p.getLineContent(v).length/2);w[s]=H.Vi.fromViewState(O.o.moveRight(p.cursorConfig,p,f.viewState,g,r))}return w}static _moveDownByViewLines(p,a,g,w){let s=[];for(let C=0,f=a.length;C<f;C++){const v=a[C];s[C]=H.Vi.fromViewState(O.o.moveDown(p.cursorConfig,p,v.viewState,g,w))}return s}static _moveDownByModelLines(p,a,g,w){let s=[];for(let C=0,f=a.length;C<f;C++){const v=a[C];s[C]=H.Vi.fromModelState(O.o.moveDown(p.cursorConfig,p.model,v.modelState,g,w))}return s}static _moveUpByViewLines(p,a,g,w){let s=[];for(let C=0,f=a.length;C<f;C++){const v=a[C];s[C]=H.Vi.fromViewState(O.o.moveUp(p.cursorConfig,p,v.viewState,g,w))}return s}static _moveUpByModelLines(p,a,g,w){let s=[];for(let C=0,f=a.length;C<f;C++){const v=a[C];s[C]=H.Vi.fromModelState(O.o.moveUp(p.cursorConfig,p.model,v.modelState,g,w))}return s}static _moveToViewPosition(p,a,g,w,s){return H.Vi.fromViewState(a.viewState.move(g,w,s,0))}static _moveToModelPosition(p,a,g,w,s){return H.Vi.fromModelState(a.modelState.move(g,w,s,0))}static _moveToViewMinColumn(p,a,g){let w=[];for(let s=0,C=a.length;s<C;s++){const f=a[s],v=f.viewState.position.lineNumber,r=p.getLineMinColumn(v);w[s]=this._moveToViewPosition(p,f,g,v,r)}return w}static _moveToViewFirstNonWhitespaceColumn(p,a,g){let w=[];for(let s=0,C=a.length;s<C;s++){const f=a[s],v=f.viewState.position.lineNumber,r=p.getLineFirstNonWhitespaceColumn(v);w[s]=this._moveToViewPosition(p,f,g,v,r)}return w}static _moveToViewCenterColumn(p,a,g){let w=[];for(let s=0,C=a.length;s<C;s++){const f=a[s],v=f.viewState.position.lineNumber,r=Math.round((p.getLineMaxColumn(v)+p.getLineMinColumn(v))/2);w[s]=this._moveToViewPosition(p,f,g,v,r)}return w}static _moveToViewMaxColumn(p,a,g){let w=[];for(let s=0,C=a.length;s<C;s++){const f=a[s],v=f.viewState.position.lineNumber,r=p.getLineMaxColumn(v);w[s]=this._moveToViewPosition(p,f,g,v,r)}return w}static _moveToViewLastNonWhitespaceColumn(p,a,g){let w=[];for(let s=0,C=a.length;s<C;s++){const f=a[s],v=f.viewState.position.lineNumber,r=p.getLineLastNonWhitespaceColumn(v);w[s]=this._moveToViewPosition(p,f,g,v,r)}return w}}var y;(function(E){const p=function(g){if(!h.Kn(g))return!1;let w=g;return!(!h.HD(w.to)||!h.o8(w.select)&&!h.jn(w.select)||!h.o8(w.by)&&!h.HD(w.by)||!h.o8(w.value)&&!h.hj(w.value))};E.description={description:"Move cursor to a logical position in the view",args:[{name:"Cursor move argument object",description:`Property-value pairs that can be passed through this argument:
* 'to': A mandatory logical position value providing where to move the cursor.
\`\`\`
'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',
'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'
'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'
'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'
\`\`\`
* 'by': Unit to move. Default is computed based on 'to' value.
\`\`\`
'line', 'wrappedLine', 'character', 'halfLine'
\`\`\`
* 'value': Number of units to move. Default is '1'.
* 'select': If 'true' makes the selection. Default is 'false'.
`,constraint:p,schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["left","right","up","down","prevBlankLine","nextBlankLine","wrappedLineStart","wrappedLineEnd","wrappedLineColumnCenter","wrappedLineFirstNonWhitespaceCharacter","wrappedLineLastNonWhitespaceCharacter","viewPortTop","viewPortCenter","viewPortBottom","viewPortIfOutside"]},by:{type:"string",enum:["line","wrappedLine","character","halfLine"]},value:{type:"number",default:1},select:{type:"boolean",default:!1}}}}]},E.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",PrevBlankLine:"prevBlankLine",NextBlankLine:"nextBlankLine",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"},E.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine"};function a(g){if(!g.to)return null;let w;switch(g.to){case E.RawDirection.Left:w=0;break;case E.RawDirection.Right:w=1;break;case E.RawDirection.Up:w=2;break;case E.RawDirection.Down:w=3;break;case E.RawDirection.PrevBlankLine:w=4;break;case E.RawDirection.NextBlankLine:w=5;break;case E.RawDirection.WrappedLineStart:w=6;break;case E.RawDirection.WrappedLineFirstNonWhitespaceCharacter:w=7;break;case E.RawDirection.WrappedLineColumnCenter:w=8;break;case E.RawDirection.WrappedLineEnd:w=9;break;case E.RawDirection.WrappedLineLastNonWhitespaceCharacter:w=10;break;case E.RawDirection.ViewPortTop:w=11;break;case E.RawDirection.ViewPortBottom:w=13;break;case E.RawDirection.ViewPortCenter:w=12;break;case E.RawDirection.ViewPortIfOutside:w=14;break;default:return null}let s=0;switch(g.by){case E.RawUnit.Line:s=1;break;case E.RawUnit.WrappedLine:s=2;break;case E.RawUnit.Character:s=3;break;case E.RawUnit.HalfLine:s=4;break}return{direction:w,unit:s,select:!!g.select,value:g.value||1}}E.parse=a})(y||(y={}))},87095:function(xt,Te,i){"use strict";i.d(Te,{o:function(){return I}});var h=i(69025),H=i(72146),O=i(17373),P=i(82983),D=i(59671);class G{constructor(E,p,a){this._cursorPositionBrand=void 0,this.lineNumber=E,this.column=p,this.leftoverVisibleColumns=a}}class I{static leftPosition(E,p){if(p.column>E.getLineMinColumn(p.lineNumber))return p.delta(void 0,-P.HO(E.getLineContent(p.lineNumber),p.column-1));if(p.lineNumber>1){const a=p.lineNumber-1;return new H.L(a,E.getLineMaxColumn(a))}else return p}static leftPositionAtomicSoftTabs(E,p,a){if(p.column<=E.getLineIndentColumn(p.lineNumber)){const g=E.getLineMinColumn(p.lineNumber),w=E.getLineContent(p.lineNumber),s=D.l.atomicPosition(w,p.column-1,a,0);if(s!==-1&&s+1>=g)return new H.L(p.lineNumber,s+1)}return this.leftPosition(E,p)}static left(E,p,a){const g=E.stickyTabStops?I.leftPositionAtomicSoftTabs(p,a,E.tabSize):I.leftPosition(p,a);return new G(g.lineNumber,g.column,0)}static moveLeft(E,p,a,g,w){let s,C;if(a.hasSelection()&&!g)s=a.selection.startLineNumber,C=a.selection.startColumn;else{const f=a.position.delta(void 0,-(w-1)),v=p.normalizePosition(I.clipPositionColumn(f,p),0),r=I.left(E,p,v);s=r.lineNumber,C=r.column}return a.move(g,s,C,0)}static clipPositionColumn(E,p){return new H.L(E.lineNumber,I.clipRange(E.column,p.getLineMinColumn(E.lineNumber),p.getLineMaxColumn(E.lineNumber)))}static clipRange(E,p,a){return E<p?p:E>a?a:E}static rightPosition(E,p,a){return a<E.getLineMaxColumn(p)?a=a+P.vH(E.getLineContent(p),a-1):p<E.getLineCount()&&(p=p+1,a=E.getLineMinColumn(p)),new H.L(p,a)}static rightPositionAtomicSoftTabs(E,p,a,g,w){if(a<E.getLineIndentColumn(p)){const s=E.getLineContent(p),C=D.l.atomicPosition(s,a-1,g,1);if(C!==-1)return new H.L(p,C+1)}return this.rightPosition(E,p,a)}static right(E,p,a){const g=E.stickyTabStops?I.rightPositionAtomicSoftTabs(p,a.lineNumber,a.column,E.tabSize,E.indentSize):I.rightPosition(p,a.lineNumber,a.column);return new G(g.lineNumber,g.column,0)}static moveRight(E,p,a,g,w){let s,C;if(a.hasSelection()&&!g)s=a.selection.endLineNumber,C=a.selection.endColumn;else{const f=a.position.delta(void 0,w-1),v=p.normalizePosition(I.clipPositionColumn(f,p),1),r=I.right(E,p,v);s=r.lineNumber,C=r.column}return a.move(g,s,C,0)}static vertical(E,p,a,g,w,s,C){const f=h.io.visibleColumnFromColumn(p.getLineContent(a),g,E.tabSize)+w,v=p.getLineCount(),r=a===1&&g===1,l=a===v&&g===p.getLineMaxColumn(a),m=s<a?r:l;return a=s,a<1?(a=1,C?g=p.getLineMinColumn(a):g=Math.min(p.getLineMaxColumn(a),g)):a>v?(a=v,C?g=p.getLineMaxColumn(a):g=Math.min(p.getLineMaxColumn(a),g)):g=h.io.columnFromVisibleColumn2(E,p,a,f),m?w=0:w=f-h.io.visibleColumnFromColumn(p.getLineContent(a),g,E.tabSize),new G(a,g,w)}static down(E,p,a,g,w,s,C){return this.vertical(E,p,a,g,w,a+s,C)}static moveDown(E,p,a,g,w){let s,C;a.hasSelection()&&!g?(s=a.selection.endLineNumber,C=a.selection.endColumn):(s=a.position.lineNumber,C=a.position.column);let f=I.down(E,p,s,C,a.leftoverVisibleColumns,w,!0);return a.move(g,f.lineNumber,f.column,f.leftoverVisibleColumns)}static translateDown(E,p,a){let g=a.selection,w=I.down(E,p,g.selectionStartLineNumber,g.selectionStartColumn,a.selectionStartLeftoverVisibleColumns,1,!1),s=I.down(E,p,g.positionLineNumber,g.positionColumn,a.leftoverVisibleColumns,1,!1);return new h.rS(new O.e(w.lineNumber,w.column,w.lineNumber,w.column),w.leftoverVisibleColumns,new H.L(s.lineNumber,s.column),s.leftoverVisibleColumns)}static up(E,p,a,g,w,s,C){return this.vertical(E,p,a,g,w,a-s,C)}static moveUp(E,p,a,g,w){let s,C;a.hasSelection()&&!g?(s=a.selection.startLineNumber,C=a.selection.startColumn):(s=a.position.lineNumber,C=a.position.column);let f=I.up(E,p,s,C,a.leftoverVisibleColumns,w,!0);return a.move(g,f.lineNumber,f.column,f.leftoverVisibleColumns)}static translateUp(E,p,a){let g=a.selection,w=I.up(E,p,g.selectionStartLineNumber,g.selectionStartColumn,a.selectionStartLeftoverVisibleColumns,1,!1),s=I.up(E,p,g.positionLineNumber,g.positionColumn,a.leftoverVisibleColumns,1,!1);return new h.rS(new O.e(w.lineNumber,w.column,w.lineNumber,w.column),w.leftoverVisibleColumns,new H.L(s.lineNumber,s.column),s.leftoverVisibleColumns)}static _isBlankLine(E,p){return E.getLineFirstNonWhitespaceColumn(p)===0}static moveToPrevBlankLine(E,p,a,g){let w=a.position.lineNumber;for(;w>1&&this._isBlankLine(p,w);)w--;for(;w>1&&!this._isBlankLine(p,w);)w--;return a.move(g,w,p.getLineMinColumn(w),0)}static moveToNextBlankLine(E,p,a,g){const w=p.getLineCount();let s=a.position.lineNumber;for(;s<w&&this._isBlankLine(p,s);)s++;for(;s<w&&!this._isBlankLine(p,s);)s++;return a.move(g,s,p.getLineMinColumn(s),0)}static moveToBeginningOfLine(E,p,a,g){let w=a.position.lineNumber,s=p.getLineMinColumn(w),C=p.getLineFirstNonWhitespaceColumn(w)||s,f;return a.position.column===C?f=s:f=C,a.move(g,w,f,0)}static moveToEndOfLine(E,p,a,g,w){let s=a.position.lineNumber,C=p.getLineMaxColumn(s);return a.move(g,s,C,w?1073741824-C:0)}static moveToBeginningOfBuffer(E,p,a,g){return a.move(g,1,1,0)}static moveToEndOfBuffer(E,p,a,g){let w=p.getLineCount(),s=p.getLineMaxColumn(w);return a.move(g,w,s,0)}}},74502:function(xt,Te,i){"use strict";i.d(Te,{u:function(){return g},g:function(){return w}});var h=i(79881),H=i(82983),O=i(78529),P=i(91167),D=i(17373),G=i(17551);class I{constructor(l,m,c){this._range=l,this._charBeforeSelection=m,this._charAfterSelection=c}getEditOperations(l,m){m.addTrackedEditOperation(new D.e(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),m.addTrackedEditOperation(new D.e(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)}computeCursorState(l,m){let c=m.getInverseEditOperations(),b=c[0].range,L=c[1].range;return new G.Y(b.endLineNumber,b.endColumn,L.endLineNumber,L.endColumn-this._charAfterSelection.length)}}var y=i(69025),E=i(21981),p=i(21462),a=i(73468);class g{static indent(l,m,c){if(m===null||c===null)return[];let b=[];for(let L=0,T=c.length;L<T;L++)b[L]=new P.U(c[L],{isUnshift:!1,tabSize:l.tabSize,indentSize:l.indentSize,insertSpaces:l.insertSpaces,useTabStops:l.useTabStops,autoIndent:l.autoIndent});return b}static outdent(l,m,c){let b=[];for(let L=0,T=c.length;L<T;L++)b[L]=new P.U(c[L],{isUnshift:!0,tabSize:l.tabSize,indentSize:l.indentSize,insertSpaces:l.insertSpaces,useTabStops:l.useTabStops,autoIndent:l.autoIndent});return b}static shiftIndent(l,m,c){return c=c||1,P.U.shiftIndent(m,m.length+c,l.tabSize,l.indentSize,l.insertSpaces)}static unshiftIndent(l,m,c){return c=c||1,P.U.unshiftIndent(m,m.length+c,l.tabSize,l.indentSize,l.insertSpaces)}static _distributedPaste(l,m,c,b){let L=[];for(let T=0,M=c.length;T<M;T++)L[T]=new O.T4(c[T],b[T]);return new y.Tp(0,L,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _simplePaste(l,m,c,b,L){let T=[];for(let M=0,z=c.length;M<z;M++){const oe=c[M];let se=oe.getPosition();if(L&&!oe.isEmpty()&&(L=!1),L&&b.indexOf(`
`)!==b.length-1&&(L=!1),L){let re=new D.e(se.lineNumber,1,se.lineNumber,1);T[M]=new O.hP(re,b,oe,!0)}else T[M]=new O.T4(oe,b)}return new y.Tp(0,T,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _distributePasteToCursors(l,m,c,b,L){if(b||m.length===1)return null;if(L&&L.length===m.length)return L;if(l.multiCursorPaste==="spread"){c.charCodeAt(c.length-1)===10&&(c=c.substr(0,c.length-1)),c.charCodeAt(c.length-1)===13&&(c=c.substr(0,c.length-1));let T=H.uq(c);if(T.length===m.length)return T}return null}static paste(l,m,c,b,L,T){const M=this._distributePasteToCursors(l,c,b,L,T);return M?(c=c.sort(D.e.compareRangesUsingStarts),this._distributedPaste(l,m,c,M)):this._simplePaste(l,m,c,b,L)}static _goodIndentForLine(l,m,c){let b=null,L="";const T=a.zu.getInheritIndentForLine(l.autoIndent,m,c,!1);if(T)b=T.action,L=T.indentation;else if(c>1){let M;for(M=c-1;M>=1;M--){const se=m.getLineContent(M);if(H.ow(se)>=0)break}if(M<1)return null;const z=m.getLineMaxColumn(M),oe=a.zu.getEnterAction(l.autoIndent,m,new D.e(M,z,M,z));oe&&(L=oe.indentation+oe.appendText)}return b&&(b===p.wU.Indent&&(L=g.shiftIndent(l,L)),b===p.wU.Outdent&&(L=g.unshiftIndent(l,L)),L=l.normalizeIndentation(L)),L||null}static _replaceJumpToNextIndent(l,m,c,b){let L="",T=c.getStartPosition();if(l.insertSpaces){let M=y.io.visibleColumnFromColumn2(l,m,T),z=l.indentSize,oe=z-M%z;for(let se=0;se<oe;se++)L+=" "}else L=" ";return new O.T4(c,L,b)}static tab(l,m,c){let b=[];for(let L=0,T=c.length;L<T;L++){const M=c[L];if(M.isEmpty()){let z=m.getLineContent(M.startLineNumber);if(/^\s*$/.test(z)&&m.isCheapToTokenize(M.startLineNumber)){let oe=this._goodIndentForLine(l,m,M.startLineNumber);oe=oe||" ";let se=l.normalizeIndentation(oe);if(!z.startsWith(se)){b[L]=new O.T4(new D.e(M.startLineNumber,1,M.startLineNumber,z.length+1),se,!0);continue}}b[L]=this._replaceJumpToNextIndent(l,m,M,!0)}else{if(M.startLineNumber===M.endLineNumber){let z=m.getLineMaxColumn(M.startLineNumber);if(M.startColumn!==1||M.endColumn!==z){b[L]=this._replaceJumpToNextIndent(l,m,M,!1);continue}}b[L]=new P.U(M,{isUnshift:!1,tabSize:l.tabSize,indentSize:l.indentSize,insertSpaces:l.insertSpaces,useTabStops:l.useTabStops,autoIndent:l.autoIndent})}}return b}static compositionType(l,m,c,b,L,T,M,z){const oe=b.map(se=>this._compositionType(c,se,L,T,M,z));return new y.Tp(4,oe,{shouldPushStackElementBefore:C(l,4),shouldPushStackElementAfter:!1})}static _compositionType(l,m,c,b,L,T){if(!m.isEmpty())return null;const M=m.getPosition(),z=Math.max(1,M.column-b),oe=Math.min(l.getLineMaxColumn(M.lineNumber),M.column+L),se=new D.e(M.lineNumber,z,M.lineNumber,oe);return l.getValueInRange(se)===c&&T===0?null:new O.Uo(se,c,0,T)}static _typeCommand(l,m,c){return c?new O.Sj(l,m,!0):new O.T4(l,m,!0)}static _enter(l,m,c,b){if(l.autoIndent===0)return g._typeCommand(b,`
`,c);if(!m.isCheapToTokenize(b.getStartPosition().lineNumber)||l.autoIndent===1){let z=m.getLineContent(b.startLineNumber),oe=H.V8(z).substring(0,b.startColumn-1);return g._typeCommand(b,`
`+l.normalizeIndentation(oe),c)}const L=a.zu.getEnterAction(l.autoIndent,m,b);if(L){if(L.indentAction===p.wU.None)return g._typeCommand(b,`
`+l.normalizeIndentation(L.indentation+L.appendText),c);if(L.indentAction===p.wU.Indent)return g._typeCommand(b,`
`+l.normalizeIndentation(L.indentation+L.appendText),c);if(L.indentAction===p.wU.IndentOutdent){const z=l.normalizeIndentation(L.indentation),oe=l.normalizeIndentation(L.indentation+L.appendText),se=`
`+oe+`
`+z;return c?new O.Sj(b,se,!0):new O.Uo(b,se,-1,oe.length-z.length,!0)}else if(L.indentAction===p.wU.Outdent){const z=g.unshiftIndent(l,L.indentation);return g._typeCommand(b,`
`+l.normalizeIndentation(z+L.appendText),c)}}const T=m.getLineContent(b.startLineNumber),M=H.V8(T).substring(0,b.startColumn-1);if(l.autoIndent>=4){const z=a.zu.getIndentForEnter(l.autoIndent,m,b,{unshiftIndent:oe=>g.unshiftIndent(l,oe),shiftIndent:oe=>g.shiftIndent(l,oe),normalizeIndentation:oe=>l.normalizeIndentation(oe)});if(z){let oe=y.io.visibleColumnFromColumn2(l,m,b.getEndPosition());const se=b.endColumn,re=m.getLineContent(b.endLineNumber),De=H.LC(re);if(De>=0?b=b.setEndPosition(b.endLineNumber,Math.max(b.endColumn,De+1)):b=b.setEndPosition(b.endLineNumber,m.getLineMaxColumn(b.endLineNumber)),c)return new O.Sj(b,`
`+l.normalizeIndentation(z.afterEnter),!0);{let J=0;return se<=De+1&&(l.insertSpaces||(oe=Math.ceil(oe/l.indentSize)),J=Math.min(oe+1-l.normalizeIndentation(z.afterEnter).length-1,0)),new O.Uo(b,`
`+l.normalizeIndentation(z.afterEnter),0,J,!0)}}}return g._typeCommand(b,`
`+l.normalizeIndentation(M),c)}static _isAutoIndentType(l,m,c){if(l.autoIndent<4)return!1;for(let b=0,L=c.length;b<L;b++)if(!m.isCheapToTokenize(c[b].getEndPosition().lineNumber))return!1;return!0}static _runAutoIndentType(l,m,c,b){const L=a.zu.getIndentationAtPosition(m,c.startLineNumber,c.startColumn),T=a.zu.getIndentActionForType(l.autoIndent,m,c,b,{shiftIndent:M=>g.shiftIndent(l,M),unshiftIndent:M=>g.unshiftIndent(l,M)});if(T===null)return null;if(T!==l.normalizeIndentation(L)){const M=m.getLineFirstNonWhitespaceColumn(c.startLineNumber);return M===0?g._typeCommand(new D.e(c.startLineNumber,1,c.endLineNumber,c.endColumn),l.normalizeIndentation(T)+b,!1):g._typeCommand(new D.e(c.startLineNumber,1,c.endLineNumber,c.endColumn),l.normalizeIndentation(T)+m.getLineContent(c.startLineNumber).substring(M-1,c.startColumn-1)+b,!1)}return null}static _isAutoClosingOvertype(l,m,c,b,L){if(l.autoClosingOvertype==="never"||!l.autoClosingPairs.autoClosingPairsCloseSingleChar.has(L))return!1;for(let T=0,M=c.length;T<M;T++){const z=c[T];if(!z.isEmpty())return!1;const oe=z.getPosition(),se=m.getLineContent(oe.lineNumber);if(se.charAt(oe.column-1)!==L)return!1;const De=(0,y.LN)(L);if((oe.column>2?se.charCodeAt(oe.column-2):0)===92&&De)return!1;if(l.autoClosingOvertype==="auto"){let Z=!1;for(let Q=0,le=b.length;Q<le;Q++){const xe=b[Q];if(oe.lineNumber===xe.startLineNumber&&oe.column===xe.startColumn){Z=!0;break}}if(!Z)return!1}}return!0}static _runAutoClosingOvertype(l,m,c,b,L){let T=[];for(let M=0,z=b.length;M<z;M++){const se=b[M].getPosition(),re=new D.e(se.lineNumber,se.column,se.lineNumber,se.column+1);T[M]=new O.T4(re,L)}return new y.Tp(4,T,{shouldPushStackElementBefore:C(l,4),shouldPushStackElementAfter:!1})}static _isBeforeClosingBrace(l,m){const c=m.charAt(0),b=l.autoClosingPairs.autoClosingPairsOpenByStart.get(c)||[],L=l.autoClosingPairs.autoClosingPairsCloseByStart.get(c)||[],T=b.some(z=>m.startsWith(z.open)),M=L.some(z=>m.startsWith(z.close));return!T&&M}static _findAutoClosingPairOpen(l,m,c,b){const L=l.autoClosingPairs.autoClosingPairsOpenByEnd.get(b);if(!L)return null;let T=null;for(const M of L)if(T===null||M.open.length>T.open.length){let z=!0;for(const oe of c)if(m.getValueInRange(new D.e(oe.lineNumber,oe.column-M.open.length+1,oe.lineNumber,oe.column))+b!==M.open){z=!1;break}z&&(T=M)}return T}static _findSubAutoClosingPairClose(l,m){if(m.open.length<=1)return"";const c=m.close.charAt(m.close.length-1),b=l.autoClosingPairs.autoClosingPairsCloseByEnd.get(c)||[];let L=null;for(const T of b)T.open!==m.open&&m.open.includes(T.open)&&m.close.endsWith(T.close)&&(!L||T.open.length>L.open.length)&&(L=T);return L?L.close:""}static _getAutoClosingPairClose(l,m,c,b,L){const T=(0,y.LN)(b),M=T?l.autoClosingQuotes:l.autoClosingBrackets;if(M==="never")return null;const z=this._findAutoClosingPairOpen(l,m,c.map(De=>De.getPosition()),b);if(!z)return null;const oe=this._findSubAutoClosingPairClose(l,z);let se=!0;const re=T?l.shouldAutoCloseBefore.quote:l.shouldAutoCloseBefore.bracket;for(let De=0,J=c.length;De<J;De++){const Z=c[De];if(!Z.isEmpty())return null;const Q=Z.getPosition(),le=m.getLineContent(Q.lineNumber),xe=le.substring(Q.column-1);if(xe.startsWith(oe)||(se=!1),le.length>Q.column-1){const V=le.charAt(Q.column-1);if(!g._isBeforeClosingBrace(l,xe)&&!re(V))return null}if(!m.isCheapToTokenize(Q.lineNumber))return null;if(z.open.length===1&&(b==="'"||b==='"')&&M!=="always"){const V=(0,E.u)(l.wordSeparators);if(L&&Q.column>1&&V.get(le.charCodeAt(Q.column-2))===0||!L&&Q.column>2&&V.get(le.charCodeAt(Q.column-3))===0)return null}m.forceTokenization(Q.lineNumber);const j=m.getLineTokens(Q.lineNumber);let R=!1;try{R=a.zu.shouldAutoClosePair(z,j,L?Q.column:Q.column-1)}catch(V){(0,h.dL)(V)}if(!R)return null}return se?z.close.substring(0,z.close.length-oe.length):z.close}static _runAutoClosingOpenCharType(l,m,c,b,L,T,M){let z=[];for(let oe=0,se=b.length;oe<se;oe++){const re=b[oe];z[oe]=new w(re,L,T,M)}return new y.Tp(4,z,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}static _shouldSurroundChar(l,m){return(0,y.LN)(m)?l.autoSurround==="quotes"||l.autoSurround==="languageDefined":l.autoSurround==="brackets"||l.autoSurround==="languageDefined"}static _isSurroundSelectionType(l,m,c,b){if(!g._shouldSurroundChar(l,b)||!l.surroundingPairs.hasOwnProperty(b))return!1;const L=(0,y.LN)(b);for(let T=0,M=c.length;T<M;T++){const z=c[T];if(z.isEmpty())return!1;let oe=!0;for(let se=z.startLineNumber;se<=z.endLineNumber;se++){const re=m.getLineContent(se),De=se===z.startLineNumber?z.startColumn-1:0,J=se===z.endLineNumber?z.endColumn-1:re.length,Z=re.substring(De,J);if(/[^ \t]/.test(Z)){oe=!1;break}}if(oe)return!1;if(L&&z.startLineNumber===z.endLineNumber&&z.startColumn+1===z.endColumn){const se=m.getValueInRange(z);if((0,y.LN)(se))return!1}}return!0}static _runSurroundSelectionType(l,m,c,b,L){let T=[];for(let M=0,z=b.length;M<z;M++){const oe=b[M],se=m.surroundingPairs[L];T[M]=new I(oe,L,se)}return new y.Tp(0,T,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _isTypeInterceptorElectricChar(l,m,c){return!!(c.length===1&&m.isCheapToTokenize(c[0].getEndPosition().lineNumber))}static _typeInterceptorElectricChar(l,m,c,b,L){if(!m.electricChars.hasOwnProperty(L)||!b.isEmpty())return null;let T=b.getPosition();c.forceTokenization(T.lineNumber);let M=c.getLineTokens(T.lineNumber),z;try{z=a.zu.onElectricCharacter(L,M,T.column)}catch(oe){return(0,h.dL)(oe),null}if(!z)return null;if(z.matchOpenBracket){let oe=(M.getLineContent()+L).lastIndexOf(z.matchOpenBracket)+1,se=c.findMatchingBracketUp(z.matchOpenBracket,{lineNumber:T.lineNumber,column:oe});if(se){if(se.startLineNumber===T.lineNumber)return null;let re=c.getLineContent(se.startLineNumber),De=H.V8(re),J=m.normalizeIndentation(De),Z=c.getLineContent(T.lineNumber),Q=c.getLineFirstNonWhitespaceColumn(T.lineNumber)||T.column,le=Z.substring(Q-1,T.column-1),xe=J+le+L,j=new D.e(T.lineNumber,1,T.lineNumber,T.column);const R=new O.T4(j,xe);return new y.Tp(s(xe,l),[R],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!0})}}return null}static compositionEndWithInterceptors(l,m,c,b,L,T){if(!b||G.Y.selectionsArrEqual(b,L))return null;let M=null;for(const oe of L){if(!oe.isEmpty())return null;const se=oe.getPosition(),re=c.getValueInRange(new D.e(se.lineNumber,se.column-1,se.lineNumber,se.column));if(M===null)M=re;else if(M!==re)return null}if(!M)return null;if(this._isAutoClosingOvertype(m,c,L,T,M)){const oe=L.map(se=>new O.T4(new D.e(se.positionLineNumber,se.positionColumn,se.positionLineNumber,se.positionColumn+1),"",!1));return new y.Tp(4,oe,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const z=this._getAutoClosingPairClose(m,c,L,M,!1);return z!==null?this._runAutoClosingOpenCharType(l,m,c,L,M,!1,z):null}static typeWithInterceptors(l,m,c,b,L,T,M){if(!l&&M===`
`){let se=[];for(let re=0,De=L.length;re<De;re++)se[re]=g._enter(c,b,!1,L[re]);return new y.Tp(4,se,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(!l&&this._isAutoIndentType(c,b,L)){let se=[],re=!1;for(let De=0,J=L.length;De<J;De++)if(se[De]=this._runAutoIndentType(c,b,L[De],M),!se[De]){re=!0;break}if(!re)return new y.Tp(4,se,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(!l&&this._isAutoClosingOvertype(c,b,L,T,M))return this._runAutoClosingOvertype(m,c,b,L,M);if(!l){const se=this._getAutoClosingPairClose(c,b,L,M,!0);if(se)return this._runAutoClosingOpenCharType(m,c,b,L,M,!0,se)}if(this._isSurroundSelectionType(c,b,L,M))return this._runSurroundSelectionType(m,c,b,L,M);if(!l&&this._isTypeInterceptorElectricChar(c,b,L)){const se=this._typeInterceptorElectricChar(m,c,b,L[0],M);if(se)return se}let z=[];for(let se=0,re=L.length;se<re;se++)z[se]=new O.T4(L[se],M);const oe=s(M,m);return new y.Tp(oe,z,{shouldPushStackElementBefore:C(m,oe),shouldPushStackElementAfter:!1})}static typeWithoutInterceptors(l,m,c,b,L){let T=[];for(let z=0,oe=b.length;z<oe;z++)T[z]=new O.T4(b[z],L);const M=s(L,l);return new y.Tp(M,T,{shouldPushStackElementBefore:C(l,M),shouldPushStackElementAfter:!1})}static lineInsertBefore(l,m,c){if(m===null||c===null)return[];let b=[];for(let L=0,T=c.length;L<T;L++){let M=c[L].positionLineNumber;if(M===1)b[L]=new O.Sj(new D.e(1,1,1,1),`
`);else{M--;let z=m.getLineMaxColumn(M);b[L]=this._enter(l,m,!1,new D.e(M,z,M,z))}}return b}static lineInsertAfter(l,m,c){if(m===null||c===null)return[];let b=[];for(let L=0,T=c.length;L<T;L++){const M=c[L].positionLineNumber;let z=m.getLineMaxColumn(M);b[L]=this._enter(l,m,!1,new D.e(M,z,M,z))}return b}static lineBreakInsert(l,m,c){let b=[];for(let L=0,T=c.length;L<T;L++)b[L]=this._enter(l,m,!0,c[L]);return b}}class w extends O.Uo{constructor(l,m,c,b){super(l,(c?m:"")+b,0,-b.length),this._openCharacter=m,this._closeCharacter=b,this.closeCharacterRange=null,this.enclosingRange=null}computeCursorState(l,m){let b=m.getInverseEditOperations()[0].range;return this.closeCharacterRange=new D.e(b.startLineNumber,b.endColumn-this._closeCharacter.length,b.endLineNumber,b.endColumn),this.enclosingRange=new D.e(b.startLineNumber,b.endColumn-this._openCharacter.length-this._closeCharacter.length,b.endLineNumber,b.endColumn),super.computeCursorState(l,m)}}function s(r,l){return r===" "?l===5||l===6?6:5:4}function C(r,l){return v(r)&&!v(l)?!0:r===5?!1:f(r)!==f(l)}function f(r){return r===6||r===5?"space":r}function v(r){return r===4||r===5||r===6}},99292:function(xt,Te,i){"use strict";i.d(Te,{L:function(){return y},w:function(){return I}});var h=i(82983),H=i(69025),O=i(75805),P=i(21981),D=i(72146),G=i(17373);class I{static _createWord(a,g,w,s,C){return{start:s,end:C,wordType:g,nextCharClass:w}}static _findPreviousWordOnLine(a,g,w){let s=g.getLineContent(w.lineNumber);return this._doFindPreviousWordOnLine(s,a,w)}static _doFindPreviousWordOnLine(a,g,w){let s=0;for(let C=w.column-2;C>=0;C--){let f=a.charCodeAt(C),v=g.get(f);if(v===0){if(s===2)return this._createWord(a,s,v,C+1,this._findEndOfWord(a,g,s,C+1));s=1}else if(v===2){if(s===1)return this._createWord(a,s,v,C+1,this._findEndOfWord(a,g,s,C+1));s=2}else if(v===1&&s!==0)return this._createWord(a,s,v,C+1,this._findEndOfWord(a,g,s,C+1))}return s!==0?this._createWord(a,s,1,0,this._findEndOfWord(a,g,s,0)):null}static _findEndOfWord(a,g,w,s){let C=a.length;for(let f=s;f<C;f++){let v=a.charCodeAt(f),r=g.get(v);if(r===1||w===1&&r===2||w===2&&r===0)return f}return C}static _findNextWordOnLine(a,g,w){let s=g.getLineContent(w.lineNumber);return this._doFindNextWordOnLine(s,a,w)}static _doFindNextWordOnLine(a,g,w){let s=0,C=a.length;for(let f=w.column-1;f<C;f++){let v=a.charCodeAt(f),r=g.get(v);if(r===0){if(s===2)return this._createWord(a,s,r,this._findStartOfWord(a,g,s,f-1),f);s=1}else if(r===2){if(s===1)return this._createWord(a,s,r,this._findStartOfWord(a,g,s,f-1),f);s=2}else if(r===1&&s!==0)return this._createWord(a,s,r,this._findStartOfWord(a,g,s,f-1),f)}return s!==0?this._createWord(a,s,1,this._findStartOfWord(a,g,s,C-1),C):null}static _findStartOfWord(a,g,w,s){for(let C=s;C>=0;C--){let f=a.charCodeAt(C),v=g.get(f);if(v===1||w===1&&v===2||w===2&&v===0)return C+1}return 0}static moveWordLeft(a,g,w,s){let C=w.lineNumber,f=w.column;f===1&&C>1&&(C=C-1,f=g.getLineMaxColumn(C));let v=I._findPreviousWordOnLine(a,g,new D.L(C,f));if(s===0)return new D.L(C,v?v.start+1:1);if(s===1)return v&&v.wordType===2&&v.end-v.start===1&&v.nextCharClass===0&&(v=I._findPreviousWordOnLine(a,g,new D.L(C,v.start+1))),new D.L(C,v?v.start+1:1);if(s===3){for(;v&&v.wordType===2;)v=I._findPreviousWordOnLine(a,g,new D.L(C,v.start+1));return new D.L(C,v?v.start+1:1)}return v&&f<=v.end+1&&(v=I._findPreviousWordOnLine(a,g,new D.L(C,v.start+1))),new D.L(C,v?v.end+1:1)}static _moveWordPartLeft(a,g){const w=g.lineNumber,s=a.getLineMaxColumn(w);if(g.column===1)return w>1?new D.L(w-1,a.getLineMaxColumn(w-1)):g;const C=a.getLineContent(w);for(let f=g.column-1;f>1;f--){const v=C.charCodeAt(f-2),r=C.charCodeAt(f-1);if(v===95&&r!==95)return new D.L(w,f);if(h.mK(v)&&h.df(r))return new D.L(w,f);if(h.df(v)&&h.df(r)&&f+1<s){const l=C.charCodeAt(f);if(h.mK(l))return new D.L(w,f)}}return new D.L(w,1)}static moveWordRight(a,g,w,s){let C=w.lineNumber,f=w.column,v=!1;f===g.getLineMaxColumn(C)&&C<g.getLineCount()&&(v=!0,C=C+1,f=1);let r=I._findNextWordOnLine(a,g,new D.L(C,f));if(s===2)r&&r.wordType===2&&r.end-r.start===1&&r.nextCharClass===0&&(r=I._findNextWordOnLine(a,g,new D.L(C,r.end+1))),r?f=r.end+1:f=g.getLineMaxColumn(C);else if(s===3){for(v&&(f=0);r&&(r.wordType===2||r.start+1<=f);)r=I._findNextWordOnLine(a,g,new D.L(C,r.end+1));r?f=r.start+1:f=g.getLineMaxColumn(C)}else r&&!v&&f>=r.start+1&&(r=I._findNextWordOnLine(a,g,new D.L(C,r.end+1))),r?f=r.start+1:f=g.getLineMaxColumn(C);return new D.L(C,f)}static _moveWordPartRight(a,g){const w=g.lineNumber,s=a.getLineMaxColumn(w);if(g.column===s)return w<a.getLineCount()?new D.L(w+1,1):g;const C=a.getLineContent(w);for(let f=g.column+1;f<s;f++){const v=C.charCodeAt(f-2),r=C.charCodeAt(f-1);if(v!==95&&r===95)return new D.L(w,f);if(h.mK(v)&&h.df(r))return new D.L(w,f);if(h.df(v)&&h.df(r)&&f+1<s){const l=C.charCodeAt(f);if(h.mK(l))return new D.L(w,f)}}return new D.L(w,s)}static _deleteWordLeftWhitespace(a,g){const w=a.getLineContent(g.lineNumber),s=g.column-2,C=h.ow(w,s);return C+1<s?new G.e(g.lineNumber,C+2,g.lineNumber,g.column):null}static deleteWordLeft(a,g){const w=a.wordSeparators,s=a.model,C=a.selection,f=a.whitespaceHeuristics;if(!C.isEmpty())return C;if(O.A.isAutoClosingPairDelete(a.autoClosingDelete,a.autoClosingBrackets,a.autoClosingQuotes,a.autoClosingPairs.autoClosingPairsOpenByEnd,a.model,[a.selection],a.autoClosedCharacters)){const c=a.selection.getPosition();return new G.e(c.lineNumber,c.column-1,c.lineNumber,c.column+1)}const v=new D.L(C.positionLineNumber,C.positionColumn);let r=v.lineNumber,l=v.column;if(r===1&&l===1)return null;if(f){let c=this._deleteWordLeftWhitespace(s,v);if(c)return c}let m=I._findPreviousWordOnLine(w,s,v);return g===0?m?l=m.start+1:l>1?l=1:(r--,l=s.getLineMaxColumn(r)):(m&&l<=m.end+1&&(m=I._findPreviousWordOnLine(w,s,new D.L(r,m.start+1))),m?l=m.end+1:l>1?l=1:(r--,l=s.getLineMaxColumn(r))),new G.e(r,l,v.lineNumber,v.column)}static deleteInsideWord(a,g,w){if(!w.isEmpty())return w;const s=new D.L(w.positionLineNumber,w.positionColumn);let C=this._deleteInsideWordWhitespace(g,s);return C||this._deleteInsideWordDetermineDeleteRange(a,g,s)}static _charAtIsWhitespace(a,g){const w=a.charCodeAt(g);return w===32||w===9}static _deleteInsideWordWhitespace(a,g){const w=a.getLineContent(g.lineNumber),s=w.length;if(s===0)return null;let C=Math.max(g.column-2,0);if(!this._charAtIsWhitespace(w,C))return null;let f=Math.min(g.column-1,s-1);if(!this._charAtIsWhitespace(w,f))return null;for(;C>0&&this._charAtIsWhitespace(w,C-1);)C--;for(;f+1<s&&this._charAtIsWhitespace(w,f+1);)f++;return new G.e(g.lineNumber,C+1,g.lineNumber,f+2)}static _deleteInsideWordDetermineDeleteRange(a,g,w){const s=g.getLineContent(w.lineNumber),C=s.length;if(C===0)return w.lineNumber>1?new G.e(w.lineNumber-1,g.getLineMaxColumn(w.lineNumber-1),w.lineNumber,1):w.lineNumber<g.getLineCount()?new G.e(w.lineNumber,1,w.lineNumber+1,1):new G.e(w.lineNumber,1,w.lineNumber,1);const f=c=>c.start+1<=w.column&&w.column<=c.end+1,v=(c,b)=>(c=Math.min(c,w.column),b=Math.max(b,w.column),new G.e(w.lineNumber,c,w.lineNumber,b)),r=c=>{let b=c.start+1,L=c.end+1,T=!1;for(;L-1<C&&this._charAtIsWhitespace(s,L-1);)T=!0,L++;if(!T)for(;b>1&&this._charAtIsWhitespace(s,b-2);)b--;return v(b,L)},l=I._findPreviousWordOnLine(a,g,w);if(l&&f(l))return r(l);const m=I._findNextWordOnLine(a,g,w);return m&&f(m)?r(m):l&&m?v(l.end+1,m.start+1):l?v(l.start+1,l.end+1):m?v(m.start+1,m.end+1):v(1,C+1)}static _deleteWordPartLeft(a,g){if(!g.isEmpty())return g;const w=g.getPosition(),s=I._moveWordPartLeft(a,w);return new G.e(w.lineNumber,w.column,s.lineNumber,s.column)}static _findFirstNonWhitespaceChar(a,g){let w=a.length;for(let s=g;s<w;s++){let C=a.charAt(s);if(C!==" "&&C!==" ")return s}return w}static _deleteWordRightWhitespace(a,g){const w=a.getLineContent(g.lineNumber),s=g.column-1,C=this._findFirstNonWhitespaceChar(w,s);return s+1<C?new G.e(g.lineNumber,g.column,g.lineNumber,C+1):null}static deleteWordRight(a,g){const w=a.wordSeparators,s=a.model,C=a.selection,f=a.whitespaceHeuristics;if(!C.isEmpty())return C;const v=new D.L(C.positionLineNumber,C.positionColumn);let r=v.lineNumber,l=v.column;const m=s.getLineCount(),c=s.getLineMaxColumn(r);if(r===m&&l===c)return null;if(f){let L=this._deleteWordRightWhitespace(s,v);if(L)return L}let b=I._findNextWordOnLine(w,s,v);return g===2?b?l=b.end+1:l<c||r===m?l=c:(r++,b=I._findNextWordOnLine(w,s,new D.L(r,1)),b?l=b.start+1:l=s.getLineMaxColumn(r)):(b&&l>=b.start+1&&(b=I._findNextWordOnLine(w,s,new D.L(r,b.end+1))),b?l=b.start+1:l<c||r===m?l=c:(r++,b=I._findNextWordOnLine(w,s,new D.L(r,1)),b?l=b.start+1:l=s.getLineMaxColumn(r))),new G.e(r,l,v.lineNumber,v.column)}static _deleteWordPartRight(a,g){if(!g.isEmpty())return g;const w=g.getPosition(),s=I._moveWordPartRight(a,w);return new G.e(w.lineNumber,w.column,s.lineNumber,s.column)}static _createWordAtPosition(a,g,w){const s=new G.e(g,w.start+1,g,w.end+1);return{word:a.getValueInRange(s),startColumn:s.startColumn,endColumn:s.endColumn}}static getWordAtPosition(a,g,w){const s=(0,P.u)(g),C=I._findPreviousWordOnLine(s,a,w);if(C&&C.wordType===1&&C.start<=w.column-1&&w.column-1<=C.end)return I._createWordAtPosition(a,w.lineNumber,C);const f=I._findNextWordOnLine(s,a,w);return f&&f.wordType===1&&f.start<=w.column-1&&w.column-1<=f.end?I._createWordAtPosition(a,w.lineNumber,f):null}static word(a,g,w,s,C){const f=(0,P.u)(a.wordSeparators);let v=I._findPreviousWordOnLine(f,g,C),r=I._findNextWordOnLine(f,g,C);if(!s){let L,T;return v&&v.wordType===1&&v.start<=C.column-1&&C.column-1<=v.end?(L=v.start+1,T=v.end+1):r&&r.wordType===1&&r.start<=C.column-1&&C.column-1<=r.end?(L=r.start+1,T=r.end+1):(v?L=v.end+1:L=1,r?T=r.start+1:T=g.getLineMaxColumn(C.lineNumber)),new H.rS(new G.e(C.lineNumber,L,C.lineNumber,T),0,new D.L(C.lineNumber,T),0)}let l,m;v&&v.wordType===1&&v.start<C.column-1&&C.column-1<v.end?(l=v.start+1,m=v.end+1):r&&r.wordType===1&&r.start<C.column-1&&C.column-1<r.end?(l=r.start+1,m=r.end+1):(l=C.column,m=C.column);let c=C.lineNumber,b;if(w.selectionStart.containsPosition(C))b=w.selectionStart.endColumn;else if(C.isBeforeOrEqual(w.selectionStart.getStartPosition())){b=l;let L=new D.L(c,b);w.selectionStart.containsPosition(L)&&(b=w.selectionStart.endColumn)}else{b=m;let L=new D.L(c,b);w.selectionStart.containsPosition(L)&&(b=w.selectionStart.startColumn)}return w.move(!0,c,b,0)}}class y extends I{static deleteWordPartLeft(a){const g=E([I.deleteWordLeft(a,0),I.deleteWordLeft(a,2),I._deleteWordPartLeft(a.model,a.selection)]);return g.sort(G.e.compareRangesUsingEnds),g[2]}static deleteWordPartRight(a){const g=E([I.deleteWordRight(a,0),I.deleteWordRight(a,2),I._deleteWordPartRight(a.model,a.selection)]);return g.sort(G.e.compareRangesUsingStarts),g[0]}static moveWordPartLeft(a,g,w){const s=E([I.moveWordLeft(a,g,w,0),I.moveWordLeft(a,g,w,2),I._moveWordPartLeft(g,w)]);return s.sort(D.L.compare),s[2]}static moveWordPartRight(a,g,w){const s=E([I.moveWordRight(a,g,w,0),I.moveWordRight(a,g,w,2),I._moveWordPartRight(g,w)]);return s.sort(D.L.compare),s[0]}}function E(p){return p.filter(a=>!!a)}},21981:function(xt,Te,i){"use strict";i.d(Te,{u:function(){return P}});var h=i(14788);class H extends h.N{constructor(G){super(0);for(let I=0,y=G.length;I<y;I++)this.set(G.charCodeAt(I),2);this.set(32,1),this.set(9,1)}}function O(D){let G={};return I=>(G.hasOwnProperty(I)||(G[I]=D(I)),G[I])}const P=O(D=>new H(D))},14788:function(xt,Te,i){"use strict";i.d(Te,{N:function(){return H},q:function(){return O}});var h=i(41301);class H{constructor(D){let G=(0,h.K)(D);this._defaultValue=G,this._asciiMap=H._createAsciiMap(G),this._map=new Map}static _createAsciiMap(D){let G=new Uint8Array(256);for(let I=0;I<256;I++)G[I]=D;return G}set(D,G){let I=(0,h.K)(G);D>=0&&D<256?this._asciiMap[D]=I:this._map.set(D,I)}get(D){return D>=0&&D<256?this._asciiMap[D]:this._map.get(D)||this._defaultValue}}class O{constructor(){this._actual=new H(0)}add(D){this._actual.set(D,1)}has(D){return this._actual.get(D)===1}}},44124:function(xt,Te,i){"use strict";i.d(Te,{h:function(){return H}});var h=i(17373);class H{static insert(P,D){return{range:new h.e(P.lineNumber,P.column,P.lineNumber,P.column),text:D,forceMoveMarkers:!0}}static delete(P){return{range:P,text:null}}static replace(P,D){return{range:P,text:D}}static replaceMove(P,D){return{range:P,text:D,forceMoveMarkers:!0}}}},35521:function(xt,Te,i){"use strict";i.d(Te,{A:function(){return H}});var h=i(27347);class H{constructor(D,G,I){this._lineTokensBrand=void 0,this._tokens=D,this._tokensCount=this._tokens.length>>>1,this._text=G,this._languageIdCodec=I}static createEmpty(D,G){const I=H.defaultTokenMetadata,y=new Uint32Array(2);return y[0]=D.length,y[1]=I,new H(y,D,G)}equals(D){return D instanceof H?this.slicedEquals(D,0,this._tokensCount):!1}slicedEquals(D,G,I){if(this._text!==D._text||this._tokensCount!==D._tokensCount)return!1;const y=G<<1,E=y+(I<<1);for(let p=y;p<E;p++)if(this._tokens[p]!==D._tokens[p])return!1;return!0}getLineContent(){return this._text}getCount(){return this._tokensCount}getStartOffset(D){return D>0?this._tokens[D-1<<1]:0}getMetadata(D){return this._tokens[(D<<1)+1]}getLanguageId(D){const G=this._tokens[(D<<1)+1],I=h.NX.getLanguageId(G);return this._languageIdCodec.decodeLanguageId(I)}getStandardTokenType(D){const G=this._tokens[(D<<1)+1];return h.NX.getTokenType(G)}getForeground(D){const G=this._tokens[(D<<1)+1];return h.NX.getForeground(G)}getClassName(D){const G=this._tokens[(D<<1)+1];return h.NX.getClassNameFromMetadata(G)}getInlineStyle(D,G){const I=this._tokens[(D<<1)+1];return h.NX.getInlineStyleFromMetadata(I,G)}getEndOffset(D){return this._tokens[D<<1]}findTokenIndexAtOffset(D){return H.findIndexInTokensArray(this._tokens,D)}inflate(){return this}sliceAndInflate(D,G,I){return new O(this,D,G,I)}static convertToEndOffset(D,G){const y=(D.length>>>1)-1;for(let E=0;E<y;E++)D[E<<1]=D[E+1<<1];D[y<<1]=G}static findIndexInTokensArray(D,G){if(D.length<=2)return 0;let I=0,y=(D.length>>>1)-1;for(;I<y;){const E=I+Math.floor((y-I)/2),p=D[E<<1];if(p===G)return E+1;p<G?I=E+1:p>G&&(y=E)}return I}withInserted(D){if(D.length===0)return this;let G=0,I=0,y="";const E=new Array;let p=0;for(;;){let a=G<this._tokensCount?this._tokens[G<<1]:-1,g=I<D.length?D[I]:null;if(a!==-1&&(g===null||a<=g.offset)){y+=this._text.substring(p,a);const w=this._tokens[(G<<1)+1];E.push(y.length,w),G++,p=a}else if(g){if(g.offset>p){y+=this._text.substring(p,g.offset);const w=this._tokens[(G<<1)+1];E.push(y.length,w),p=g.offset}y+=g.text,E.push(y.length,g.tokenMetadata),I++}else break}return new H(new Uint32Array(E),y,this._languageIdCodec)}}H.defaultTokenMetadata=(16384|2<<23)>>>0;class O{constructor(D,G,I,y){this._source=D,this._startOffset=G,this._endOffset=I,this._deltaOffset=y,this._firstTokenIndex=D.findTokenIndexAtOffset(G),this._tokensCount=0;for(let E=this._firstTokenIndex,p=D.getCount();E<p&&!(D.getStartOffset(E)>=I);E++)this._tokensCount++}equals(D){return D instanceof O?this._startOffset===D._startOffset&&this._endOffset===D._endOffset&&this._deltaOffset===D._deltaOffset&&this._source.slicedEquals(D._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getForeground(D){return this._source.getForeground(this._firstTokenIndex+D)}getEndOffset(D){const G=this._source.getEndOffset(this._firstTokenIndex+D);return Math.min(this._endOffset,G)-this._startOffset+this._deltaOffset}getClassName(D){return this._source.getClassName(this._firstTokenIndex+D)}getInlineStyle(D,G){return this._source.getInlineStyle(this._firstTokenIndex+D,G)}findTokenIndexAtOffset(D){return this._source.findTokenIndexAtOffset(D+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}},72146:function(xt,Te,i){"use strict";i.d(Te,{L:function(){return h}});class h{constructor(O,P){this.lineNumber=O,this.column=P}with(O=this.lineNumber,P=this.column){return O===this.lineNumber&&P===this.column?this:new h(O,P)}delta(O=0,P=0){return this.with(this.lineNumber+O,this.column+P)}equals(O){return h.equals(this,O)}static equals(O,P){return!O&&!P?!0:!!O&&!!P&&O.lineNumber===P.lineNumber&&O.column===P.column}isBefore(O){return h.isBefore(this,O)}static isBefore(O,P){return O.lineNumber<P.lineNumber?!0:P.lineNumber<O.lineNumber?!1:O.column<P.column}isBeforeOrEqual(O){return h.isBeforeOrEqual(this,O)}static isBeforeOrEqual(O,P){return O.lineNumber<P.lineNumber?!0:P.lineNumber<O.lineNumber?!1:O.column<=P.column}static compare(O,P){let D=O.lineNumber|0,G=P.lineNumber|0;if(D===G){let I=O.column|0,y=P.column|0;return I-y}return D-G}clone(){return new h(this.lineNumber,this.column)}toString(){return"("+this.lineNumber+","+this.column+")"}static lift(O){return new h(O.lineNumber,O.column)}static isIPosition(O){return O&&typeof O.lineNumber=="number"&&typeof O.column=="number"}}},17373:function(xt,Te,i){"use strict";i.d(Te,{e:function(){return H}});var h=i(72146);class H{constructor(P,D,G,I){P>G||P===G&&D>I?(this.startLineNumber=G,this.startColumn=I,this.endLineNumber=P,this.endColumn=D):(this.startLineNumber=P,this.startColumn=D,this.endLineNumber=G,this.endColumn=I)}isEmpty(){return H.isEmpty(this)}static isEmpty(P){return P.startLineNumber===P.endLineNumber&&P.startColumn===P.endColumn}containsPosition(P){return H.containsPosition(this,P)}static containsPosition(P,D){return!(D.lineNumber<P.startLineNumber||D.lineNumber>P.endLineNumber||D.lineNumber===P.startLineNumber&&D.column<P.startColumn||D.lineNumber===P.endLineNumber&&D.column>P.endColumn)}containsRange(P){return H.containsRange(this,P)}static containsRange(P,D){return!(D.startLineNumber<P.startLineNumber||D.endLineNumber<P.startLineNumber||D.startLineNumber>P.endLineNumber||D.endLineNumber>P.endLineNumber||D.startLineNumber===P.startLineNumber&&D.startColumn<P.startColumn||D.endLineNumber===P.endLineNumber&&D.endColumn>P.endColumn)}strictContainsRange(P){return H.strictContainsRange(this,P)}static strictContainsRange(P,D){return!(D.startLineNumber<P.startLineNumber||D.endLineNumber<P.startLineNumber||D.startLineNumber>P.endLineNumber||D.endLineNumber>P.endLineNumber||D.startLineNumber===P.startLineNumber&&D.startColumn<=P.startColumn||D.endLineNumber===P.endLineNumber&&D.endColumn>=P.endColumn)}plusRange(P){return H.plusRange(this,P)}static plusRange(P,D){let G,I,y,E;return D.startLineNumber<P.startLineNumber?(G=D.startLineNumber,I=D.startColumn):D.startLineNumber===P.startLineNumber?(G=D.startLineNumber,I=Math.min(D.startColumn,P.startColumn)):(G=P.startLineNumber,I=P.startColumn),D.endLineNumber>P.endLineNumber?(y=D.endLineNumber,E=D.endColumn):D.endLineNumber===P.endLineNumber?(y=D.endLineNumber,E=Math.max(D.endColumn,P.endColumn)):(y=P.endLineNumber,E=P.endColumn),new H(G,I,y,E)}intersectRanges(P){return H.intersectRanges(this,P)}static intersectRanges(P,D){let G=P.startLineNumber,I=P.startColumn,y=P.endLineNumber,E=P.endColumn,p=D.startLineNumber,a=D.startColumn,g=D.endLineNumber,w=D.endColumn;return G<p?(G=p,I=a):G===p&&(I=Math.max(I,a)),y>g?(y=g,E=w):y===g&&(E=Math.min(E,w)),G>y||G===y&&I>E?null:new H(G,I,y,E)}equalsRange(P){return H.equalsRange(this,P)}static equalsRange(P,D){return!!P&&!!D&&P.startLineNumber===D.startLineNumber&&P.startColumn===D.startColumn&&P.endLineNumber===D.endLineNumber&&P.endColumn===D.endColumn}getEndPosition(){return H.getEndPosition(this)}static getEndPosition(P){return new h.L(P.endLineNumber,P.endColumn)}getStartPosition(){return H.getStartPosition(this)}static getStartPosition(P){return new h.L(P.startLineNumber,P.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(P,D){return new H(this.startLineNumber,this.startColumn,P,D)}setStartPosition(P,D){return new H(P,D,this.endLineNumber,this.endColumn)}collapseToStart(){return H.collapseToStart(this)}static collapseToStart(P){return new H(P.startLineNumber,P.startColumn,P.startLineNumber,P.startColumn)}static fromPositions(P,D=P){return new H(P.lineNumber,P.column,D.lineNumber,D.column)}static lift(P){return P?new H(P.startLineNumber,P.startColumn,P.endLineNumber,P.endColumn):null}static isIRange(P){return P&&typeof P.startLineNumber=="number"&&typeof P.startColumn=="number"&&typeof P.endLineNumber=="number"&&typeof P.endColumn=="number"}static areIntersectingOrTouching(P,D){return!(P.endLineNumber<D.startLineNumber||P.endLineNumber===D.startLineNumber&&P.endColumn<D.startColumn||D.endLineNumber<P.startLineNumber||D.endLineNumber===P.startLineNumber&&D.endColumn<P.startColumn)}static areIntersecting(P,D){return!(P.endLineNumber<D.startLineNumber||P.endLineNumber===D.startLineNumber&&P.endColumn<=D.startColumn||D.endLineNumber<P.startLineNumber||D.endLineNumber===P.startLineNumber&&D.endColumn<=P.startColumn)}static compareRangesUsingStarts(P,D){if(P&&D){const y=P.startLineNumber|0,E=D.startLineNumber|0;if(y===E){const p=P.startColumn|0,a=D.startColumn|0;if(p===a){const g=P.endLineNumber|0,w=D.endLineNumber|0;if(g===w){const s=P.endColumn|0,C=D.endColumn|0;return s-C}return g-w}return p-a}return y-E}return(P?1:0)-(D?1:0)}static compareRangesUsingEnds(P,D){return P.endLineNumber===D.endLineNumber?P.endColumn===D.endColumn?P.startLineNumber===D.startLineNumber?P.startColumn-D.startColumn:P.startLineNumber-D.startLineNumber:P.endColumn-D.endColumn:P.endLineNumber-D.endLineNumber}static spansMultipleLines(P){return P.endLineNumber>P.startLineNumber}}},17551:function(xt,Te,i){"use strict";i.d(Te,{Y:function(){return O}});var h=i(72146),H=i(17373);class O extends H.e{constructor(D,G,I,y){super(D,G,I,y),this.selectionStartLineNumber=D,this.selectionStartColumn=G,this.positionLineNumber=I,this.positionColumn=y}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(D){return O.selectionsEqual(this,D)}static selectionsEqual(D,G){return D.selectionStartLineNumber===G.selectionStartLineNumber&&D.selectionStartColumn===G.selectionStartColumn&&D.positionLineNumber===G.positionLineNumber&&D.positionColumn===G.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(D,G){return this.getDirection()===0?new O(this.startLineNumber,this.startColumn,D,G):new O(D,G,this.startLineNumber,this.startColumn)}getPosition(){return new h.L(this.positionLineNumber,this.positionColumn)}setStartPosition(D,G){return this.getDirection()===0?new O(D,G,this.endLineNumber,this.endColumn):new O(this.endLineNumber,this.endColumn,D,G)}static fromPositions(D,G=D){return new O(D.lineNumber,D.column,G.lineNumber,G.column)}static liftSelection(D){return new O(D.selectionStartLineNumber,D.selectionStartColumn,D.positionLineNumber,D.positionColumn)}static selectionsArrEqual(D,G){if(D&&!G||!D&&G)return!1;if(!D&&!G)return!0;if(D.length!==G.length)return!1;for(let I=0,y=D.length;I<y;I++)if(!this.selectionsEqual(D[I],G[I]))return!1;return!0}static isISelection(D){return D&&typeof D.selectionStartLineNumber=="number"&&typeof D.selectionStartColumn=="number"&&typeof D.positionLineNumber=="number"&&typeof D.positionColumn=="number"}static createWithDirection(D,G,I,y,E){return E===0?new O(D,G,I,y):new O(I,y,D,G)}}},48772:function(xt,Te,i){"use strict";i.d(Te,{kH:function(){return g},l$:function(){return a},lZ:function(){return p},oe:function(){return E}});var h=i(82983),H=i(23345),O=i(90794);let P;function D(){return P||(P=new TextDecoder("UTF-16LE")),P}let G;function I(){return G||(G=new TextDecoder("UTF-16BE")),G}let y;function E(){return y||(y=H.r()?D():I()),y}const p=typeof TextDecoder!="undefined";let a,g;p?(a=v=>new C(v),g=w):(a=v=>new f,g=s);function w(v,r,l){const m=new Uint16Array(v.buffer,r,l);return l>0&&(m[0]===65279||m[0]===65534)?s(v,r,l):D().decode(m)}function s(v,r,l){let m=[],c=0;for(let b=0;b<l;b++){const L=O.mP(v,r);r+=2,m[c++]=String.fromCharCode(L)}return m.join("")}class C{constructor(r){this._capacity=r|0,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return this._completedStrings!==null?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(this._bufferLength===0)return"";const r=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return E().decode(r)}_flushBuffer(){const r=this._buildBuffer();this._bufferLength=0,this._completedStrings===null?this._completedStrings=[r]:this._completedStrings[this._completedStrings.length]=r}write1(r){const l=this._capacity-this._bufferLength;l<=1&&(l===0||h.ZG(r))&&this._flushBuffer(),this._buffer[this._bufferLength++]=r}appendASCII(r){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=r}appendASCIIString(r){const l=r.length;if(this._bufferLength+l>=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=r;return}for(let m=0;m<l;m++)this._buffer[this._bufferLength++]=r.charCodeAt(m)}}class f{constructor(){this._pieces=[],this._piecesLen=0}reset(){this._pieces=[],this._piecesLen=0}build(){return this._pieces.join("")}write1(r){this._pieces[this._piecesLen++]=String.fromCharCode(r)}appendASCII(r){this._pieces[this._piecesLen++]=String.fromCharCode(r)}appendASCIIString(r){this._pieces[this._piecesLen++]=r}}},56336:function(xt,Te,i){"use strict";i.d(Te,{Hi:function(){return O},WU:function(){return h},hG:function(){return H}});class h{constructor(D,G,I){this._tokenBrand=void 0,this.offset=D|0,this.type=G,this.language=I}toString(){return"("+this.offset+", "+this.type+")"}}class H{constructor(D,G){this._tokenizationResultBrand=void 0,this.tokens=D,this.endState=G}}class O{constructor(D,G){this._tokenizationResult2Brand=void 0,this.tokens=D,this.endState=G}}},78385:function(xt,Te,i){"use strict";i.d(Te,{p:function(){return h}});class h{constructor(O,P,D,G,I,y){this.id=O,this.label=P,this.alias=D,this._precondition=G,this._run=I,this._contextKeyService=y}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(){return this.isSupported()?this._run():Promise.resolve(void 0)}}},91676:function(xt,Te,i){"use strict";i.d(Te,{I:function(){return h},g:function(){return H}});function h(O){return O&&typeof O.id=="string"}const H={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"}},68987:function(xt,Te,i){"use strict";i.d(Te,{u:function(){return O}});var h=i(13268),H=i(90689),O;(function(P){P.editorSimpleInput=new H.uy("editorSimpleInput",!1,!0),P.editorTextFocus=new H.uy("editorTextFocus",!1,h.N("editorTextFocus","Whether the editor text has focus (cursor is blinking)")),P.focus=new H.uy("editorFocus",!1,h.N("editorFocus","Whether the editor or an editor widget has focus (e.g. focus is in the find widget)")),P.textInputFocus=new H.uy("textInputFocus",!1,h.N("textInputFocus","Whether an editor or a rich text input has focus (cursor is blinking)")),P.readOnly=new H.uy("editorReadonly",!1,h.N("editorReadonly","Whether the editor is read only")),P.inDiffEditor=new H.uy("inDiffEditor",!1,h.N("inDiffEditor","Whether the context is a diff editor")),P.columnSelection=new H.uy("editorColumnSelection",!1,h.N("editorColumnSelection","Whether `editor.columnSelection` is enabled")),P.writable=P.readOnly.toNegated(),P.hasNonEmptySelection=new H.uy("editorHasSelection",!1,h.N("editorHasSelection","Whether the editor has text selected")),P.hasOnlyEmptySelection=P.hasNonEmptySelection.toNegated(),P.hasMultipleSelections=new H.uy("editorHasMultipleSelections",!1,h.N("editorHasMultipleSelections","Whether the editor has multiple selections")),P.hasSingleSelection=P.hasMultipleSelections.toNegated(),P.tabMovesFocus=new H.uy("editorTabMovesFocus",!1,h.N("editorTabMovesFocus","Whether `Tab` will move focus out of the editor")),P.tabDoesNotMoveFocus=P.tabMovesFocus.toNegated(),P.isInWalkThroughSnippet=new H.uy("isInEmbeddedEditor",!1,!0),P.canUndo=new H.uy("canUndo",!1,!0),P.canRedo=new H.uy("canRedo",!1,!0),P.hoverVisible=new H.uy("editorHoverVisible",!1,h.N("editorHoverVisible","Whether the editor hover is visible")),P.inCompositeEditor=new H.uy("inCompositeEditor",void 0,h.N("inCompositeEditor","Whether the editor is part of a larger editor (e.g. notebooks)")),P.notInCompositeEditor=P.inCompositeEditor.toNegated(),P.languageId=new H.uy("editorLangId","",h.N("editorLangId","The language identifier of the editor")),P.hasCompletionItemProvider=new H.uy("editorHasCompletionItemProvider",!1,h.N("editorHasCompletionItemProvider","Whether the editor has a completion item provider")),P.hasCodeActionsProvider=new H.uy("editorHasCodeActionsProvider",!1,h.N("editorHasCodeActionsProvider","Whether the editor has a code actions provider")),P.hasCodeLensProvider=new H.uy("editorHasCodeLensProvider",!1,h.N("editorHasCodeLensProvider","Whether the editor has a code lens provider")),P.hasDefinitionProvider=new H.uy("editorHasDefinitionProvider",!1,h.N("editorHasDefinitionProvider","Whether the editor has a definition provider")),P.hasDeclarationProvider=new H.uy("editorHasDeclarationProvider",!1,h.N("editorHasDeclarationProvider","Whether the editor has a declaration provider")),P.hasImplementationProvider=new H.uy("editorHasImplementationProvider",!1,h.N("editorHasImplementationProvider","Whether the editor has an implementation provider")),P.hasTypeDefinitionProvider=new H.uy("editorHasTypeDefinitionProvider",!1,h.N("editorHasTypeDefinitionProvider","Whether the editor has a type definition provider")),P.hasHoverProvider=new H.uy("editorHasHoverProvider",!1,h.N("editorHasHoverProvider","Whether the editor has a hover provider")),P.hasDocumentHighlightProvider=new H.uy("editorHasDocumentHighlightProvider",!1,h.N("editorHasDocumentHighlightProvider","Whether the editor has a document highlight provider")),P.hasDocumentSymbolProvider=new H.uy("editorHasDocumentSymbolProvider",!1,h.N("editorHasDocumentSymbolProvider","Whether the editor has a document symbol provider")),P.hasReferenceProvider=new H.uy("editorHasReferenceProvider",!1,h.N("editorHasReferenceProvider","Whether the editor has a reference provider")),P.hasRenameProvider=new H.uy("editorHasRenameProvider",!1,h.N("editorHasRenameProvider","Whether the editor has a rename provider")),P.hasSignatureHelpProvider=new H.uy("editorHasSignatureHelpProvider",!1,h.N("editorHasSignatureHelpProvider","Whether the editor has a signature help provider")),P.hasInlayHintsProvider=new H.uy("editorHasInlayHintsProvider",!1,h.N("editorHasInlayHintsProvider","Whether the editor has an inline hints provider")),P.hasDocumentFormattingProvider=new H.uy("editorHasDocumentFormattingProvider",!1,h.N("editorHasDocumentFormattingProvider","Whether the editor has a document formatting provider")),P.hasDocumentSelectionFormattingProvider=new H.uy("editorHasDocumentSelectionFormattingProvider",!1,h.N("editorHasDocumentSelectionFormattingProvider","Whether the editor has a document selection formatting provider")),P.hasMultipleDocumentFormattingProvider=new H.uy("editorHasMultipleDocumentFormattingProvider",!1,h.N("editorHasMultipleDocumentFormattingProvider","Whether the editor has multiple document formatting providers")),P.hasMultipleDocumentSelectionFormattingProvider=new H.uy("editorHasMultipleDocumentSelectionFormattingProvider",!1,h.N("editorHasMultipleDocumentSelectionFormattingProvider","Whether the editor has multiple document selection formatting providers"))})(O||(O={}))},51682:function(xt,Te,i){"use strict";i.d(Te,{F5:function(){return O},Qi:function(){return E},UO:function(){return I},dJ:function(){return P},je:function(){return p},s6:function(){return G},sh:function(){return H},tk:function(){return D},vW:function(){return y}});var h=i(80470),H;(function(a){a[a.Left=1]="Left",a[a.Center=2]="Center",a[a.Right=4]="Right",a[a.Full=7]="Full"})(H||(H={}));var O;(function(a){a[a.Inline=1]="Inline",a[a.Gutter=2]="Gutter"})(O||(O={}));class P{constructor(g){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,g.tabSize|0),this.indentSize=g.tabSize|0,this.insertSpaces=!!g.insertSpaces,this.defaultEOL=g.defaultEOL|0,this.trimAutoWhitespace=!!g.trimAutoWhitespace,this.bracketPairColorizationOptions=g.bracketPairColorizationOptions}equals(g){return this.tabSize===g.tabSize&&this.indentSize===g.indentSize&&this.insertSpaces===g.insertSpaces&&this.defaultEOL===g.defaultEOL&&this.trimAutoWhitespace===g.trimAutoWhitespace&&(0,h.fS)(this.bracketPairColorizationOptions,g.bracketPairColorizationOptions)}createChangeEvent(g){return{tabSize:this.tabSize!==g.tabSize,indentSize:this.indentSize!==g.indentSize,insertSpaces:this.insertSpaces!==g.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==g.trimAutoWhitespace}}}class D{constructor(g,w){this._findMatchBrand=void 0,this.range=g,this.matches=w}}var G;(function(a){a[a.Disabled=0]="Disabled",a[a.EnabledForActive=1]="EnabledForActive",a[a.Enabled=2]="Enabled"})(G||(G={}));class I{constructor(g,w,s){this.visibleColumn=g,this.className=w,this.horizontalLine=s}}class y{constructor(g,w){this.top=g,this.endColumn=w}}class E{constructor(g,w,s,C,f,v){this.identifier=g,this.range=w,this.text=s,this.forceMoveMarkers=C,this.isAutoWhitespaceEdit=f,this._isTracked=v}}class p{constructor(g,w,s){this.reverseEdits=g,this.changes=w,this.trimAutoWhitespaceLineNumbers=s}}},24143:function(xt,Te,i){"use strict";i.d(Te,{NL:function(){return s},e9:function(){return w}});var h=i(13268),H=i(79881),O=i(17551),P=i(4968),D=i(70896),G=i(90794),I=i(9365);function y(C){return C.toString()}class E{constructor(f,v,r,l,m,c,b){this.beforeVersionId=f,this.afterVersionId=v,this.beforeEOL=r,this.afterEOL=l,this.beforeCursorState=m,this.afterCursorState=c,this.changes=b}static create(f,v){const r=f.getAlternativeVersionId(),l=g(f);return new E(r,r,l,l,v,v,[])}append(f,v,r,l,m){v.length>0&&(this.changes=(0,D.b)(this.changes,v)),this.afterEOL=r,this.afterVersionId=l,this.afterCursorState=m}static _writeSelectionsSize(f){return 4+4*4*(f?f.length:0)}static _writeSelections(f,v,r){if(G.T4(f,v?v.length:0,r),r+=4,v)for(const l of v)G.T4(f,l.selectionStartLineNumber,r),r+=4,G.T4(f,l.selectionStartColumn,r),r+=4,G.T4(f,l.positionLineNumber,r),r+=4,G.T4(f,l.positionColumn,r),r+=4;return r}static _readSelections(f,v,r){const l=G.Ag(f,v);v+=4;for(let m=0;m<l;m++){const c=G.Ag(f,v);v+=4;const b=G.Ag(f,v);v+=4;const L=G.Ag(f,v);v+=4;const T=G.Ag(f,v);v+=4,r.push(new O.Y(c,b,L,T))}return v}serialize(){let f=10+E._writeSelectionsSize(this.beforeCursorState)+E._writeSelectionsSize(this.afterCursorState)+4;for(const l of this.changes)f+=l.writeSize();const v=new Uint8Array(f);let r=0;G.T4(v,this.beforeVersionId,r),r+=4,G.T4(v,this.afterVersionId,r),r+=4,G.Cg(v,this.beforeEOL,r),r+=1,G.Cg(v,this.afterEOL,r),r+=1,r=E._writeSelections(v,this.beforeCursorState,r),r=E._writeSelections(v,this.afterCursorState,r),G.T4(v,this.changes.length,r),r+=4;for(const l of this.changes)r=l.write(v,r);return v.buffer}static deserialize(f){const v=new Uint8Array(f);let r=0;const l=G.Ag(v,r);r+=4;const m=G.Ag(v,r);r+=4;const c=G.Q$(v,r);r+=1;const b=G.Q$(v,r);r+=1;const L=[];r=E._readSelections(v,r,L);const T=[];r=E._readSelections(v,r,T);const M=G.Ag(v,r);r+=4;const z=[];for(let oe=0;oe<M;oe++)r=D.q.read(v,r,z);return new E(l,m,c,b,L,T,z)}}class p{constructor(f,v){this.model=f,this._data=E.create(f,v)}get type(){return 0}get resource(){return P.o.isUri(this.model)?this.model:this.model.uri}get label(){return h.N("edit","Typing")}toString(){return(this._data instanceof E?this._data:E.deserialize(this._data)).changes.map(v=>v.toString()).join(", ")}matchesResource(f){return(P.o.isUri(this.model)?this.model:this.model.uri).toString()===f.toString()}setModel(f){this.model=f}canAppend(f){return this.model===f&&this._data instanceof E}append(f,v,r,l,m){this._data instanceof E&&this._data.append(f,v,r,l,m)}close(){this._data instanceof E&&(this._data=this._data.serialize())}open(){this._data instanceof E||(this._data=E.deserialize(this._data))}undo(){if(P.o.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof E&&(this._data=this._data.serialize());const f=E.deserialize(this._data);this.model._applyUndo(f.changes,f.beforeEOL,f.beforeVersionId,f.beforeCursorState)}redo(){if(P.o.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof E&&(this._data=this._data.serialize());const f=E.deserialize(this._data);this.model._applyRedo(f.changes,f.afterEOL,f.afterVersionId,f.afterCursorState)}heapSize(){return this._data instanceof E&&(this._data=this._data.serialize()),this._data.byteLength+168}}class a{constructor(f,v){this.type=1,this.label=f,this._isOpen=!0,this._editStackElementsArr=v.slice(0),this._editStackElementsMap=new Map;for(const r of this._editStackElementsArr){const l=y(r.resource);this._editStackElementsMap.set(l,r)}this._delegate=null}get resources(){return this._editStackElementsArr.map(f=>f.resource)}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(f){const v=y(f);return this._editStackElementsMap.has(v)}setModel(f){const v=y(P.o.isUri(f)?f:f.uri);this._editStackElementsMap.has(v)&&this._editStackElementsMap.get(v).setModel(f)}canAppend(f){if(!this._isOpen)return!1;const v=y(f.uri);return this._editStackElementsMap.has(v)?this._editStackElementsMap.get(v).canAppend(f):!1}append(f,v,r,l,m){const c=y(f.uri);this._editStackElementsMap.get(c).append(f,v,r,l,m)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const f of this._editStackElementsArr)f.undo()}redo(){for(const f of this._editStackElementsArr)f.redo()}heapSize(f){const v=y(f);return this._editStackElementsMap.has(v)?this._editStackElementsMap.get(v).heapSize():0}split(){return this._editStackElementsArr}toString(){let f=[];for(const v of this._editStackElementsArr)f.push(`${(0,I.EZ)(v.resource)}: ${v}`);return`{${f.join(", ")}}`}}function g(C){return C.getEOL()===`
`?0:1}function w(C){return C?C instanceof p||C instanceof a:!1}class s{constructor(f,v){this._model=f,this._undoRedoService=v}pushStackElement(){const f=this._undoRedoService.getLastElement(this._model.uri);w(f)&&f.close()}popStackElement(){const f=this._undoRedoService.getLastElement(this._model.uri);w(f)&&f.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(f){const v=this._undoRedoService.getLastElement(this._model.uri);if(w(v)&&v.canAppend(this._model))return v;const r=new p(this._model,f);return this._undoRedoService.pushElement(r),r}pushEOL(f){const v=this._getOrCreateEditStackElement(null);this._model.setEOL(f),v.append(this._model,[],g(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(f,v,r){const l=this._getOrCreateEditStackElement(f),m=this._model.applyEdits(v,!0),c=s._computeCursorState(r,m),b=m.map((L,T)=>({index:T,textChange:L.textChange}));return b.sort((L,T)=>L.textChange.oldPosition===T.textChange.oldPosition?L.index-T.index:L.textChange.oldPosition-T.textChange.oldPosition),l.append(this._model,b.map(L=>L.textChange),g(this._model),this._model.getAlternativeVersionId(),c),c}static _computeCursorState(f,v){try{return f?f(v):null}catch(r){return(0,H.dL)(r),null}}}},70896:function(xt,Te,i){"use strict";i.d(Te,{b:function(){return D},q:function(){return P}});var h=i(90794),H=i(48772);function O(I){return I.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class P{constructor(y,E,p,a){this.oldPosition=y,this.oldText=E,this.newPosition=p,this.newText=a}get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${O(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${O(this.oldText)}")`:`(replace@${this.oldPosition} "${O(this.oldText)}" with "${O(this.newText)}")`}static _writeStringSize(y){return 4+2*y.length}static _writeString(y,E,p){const a=E.length;h.T4(y,a,p),p+=4;for(let g=0;g<a;g++)h.oq(y,E.charCodeAt(g),p),p+=2;return p}static _readString(y,E){const p=h.Ag(y,E);return E+=4,(0,H.kH)(y,E,p)}writeSize(){return 8+P._writeStringSize(this.oldText)+P._writeStringSize(this.newText)}write(y,E){return h.T4(y,this.oldPosition,E),E+=4,h.T4(y,this.newPosition,E),E+=4,E=P._writeString(y,this.oldText,E),E=P._writeString(y,this.newText,E),E}static read(y,E,p){const a=h.Ag(y,E);E+=4;const g=h.Ag(y,E);E+=4;const w=P._readString(y,E);E+=P._writeStringSize(w);const s=P._readString(y,E);return E+=P._writeStringSize(s),p.push(new P(a,w,g,s)),E}}function D(I,y){return I===null||I.length===0?y:new G(I,y).compress()}class G{constructor(y,E){this._prevEdits=y,this._currEdits=E,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let y=0,E=0,p=this._getPrev(y),a=this._getCurr(E);for(;y<this._prevLen||E<this._currLen;){if(p===null){this._acceptCurr(a),a=this._getCurr(++E);continue}if(a===null){this._acceptPrev(p),p=this._getPrev(++y);continue}if(a.oldEnd<=p.newPosition){this._acceptCurr(a),a=this._getCurr(++E);continue}if(p.newEnd<=a.oldPosition){this._acceptPrev(p),p=this._getPrev(++y);continue}if(a.oldPosition<p.newPosition){const[f,v]=G._splitCurr(a,p.newPosition-a.oldPosition);this._acceptCurr(f),a=v;continue}if(p.newPosition<a.oldPosition){const[f,v]=G._splitPrev(p,a.oldPosition-p.newPosition);this._acceptPrev(f),p=v;continue}let s,C;if(a.oldEnd===p.newEnd)s=p,C=a,p=this._getPrev(++y),a=this._getCurr(++E);else if(a.oldEnd<p.newEnd){const[f,v]=G._splitPrev(p,a.oldLength);s=f,C=a,p=v,a=this._getCurr(++E)}else{const[f,v]=G._splitCurr(a,p.newLength);s=p,C=f,p=this._getPrev(++y),a=v}this._result[this._resultLen++]=new P(s.oldPosition,s.oldText,C.newPosition,C.newText),this._prevDeltaOffset+=s.newLength-s.oldLength,this._currDeltaOffset+=C.newLength-C.oldLength}const g=G._merge(this._result);return G._removeNoOps(g)}_acceptCurr(y){this._result[this._resultLen++]=G._rebaseCurr(this._prevDeltaOffset,y),this._currDeltaOffset+=y.newLength-y.oldLength}_getCurr(y){return y<this._currLen?this._currEdits[y]:null}_acceptPrev(y){this._result[this._resultLen++]=G._rebasePrev(this._currDeltaOffset,y),this._prevDeltaOffset+=y.newLength-y.oldLength}_getPrev(y){return y<this._prevLen?this._prevEdits[y]:null}static _rebaseCurr(y,E){return new P(E.oldPosition-y,E.oldText,E.newPosition,E.newText)}static _rebasePrev(y,E){return new P(E.oldPosition,E.oldText,E.newPosition+y,E.newText)}static _splitPrev(y,E){const p=y.newText.substr(0,E),a=y.newText.substr(E);return[new P(y.oldPosition,y.oldText,y.newPosition,p),new P(y.oldEnd,"",y.newPosition+E,a)]}static _splitCurr(y,E){const p=y.oldText.substr(0,E),a=y.oldText.substr(E);return[new P(y.oldPosition,p,y.newPosition,y.newText),new P(y.oldPosition+E,a,y.newEnd,"")]}static _merge(y){if(y.length===0)return y;let E=[],p=0,a=y[0];for(let g=1;g<y.length;g++){const w=y[g];a.oldEnd===w.oldPosition?a=new P(a.oldPosition,a.oldText+w.oldText,a.newPosition,a.newText+w.newText):(E[p++]=a,a=w)}return E[p++]=a,E}static _removeNoOps(y){if(y.length===0)return y;let E=[],p=0;for(let a=0;a<y.length;a++){const g=y[a];g.oldText!==g.newText&&(E[p++]=g)}return E}}},31276:function(xt,Te,i){"use strict";i.d(Te,{WE:function(){return ws},qx:function(){return Ai},yO:function(){return Bn}});var h=i(79881),H=i(4348),O=i(69323),P=i(82983),D=i(4968),G=i(97199),I=i(72146),y=i(17373),E=i(17551),p=i(51682),a=i(24143);class g{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function w(at,u,x,U,be){be.spacesDiff=0,be.looksLikeAlignment=!1;let Me;for(Me=0;Me<u&&Me<U;Me++){let Qt=at.charCodeAt(Me),si=x.charCodeAt(Me);if(Qt!==si)break}let Ue=0,_t=0;for(let Qt=Me;Qt<u;Qt++)at.charCodeAt(Qt)===32?Ue++:_t++;let yt=0,kt=0;for(let Qt=Me;Qt<U;Qt++)x.charCodeAt(Qt)===32?yt++:kt++;if(Ue>0&&_t>0||yt>0&&kt>0)return;let At=Math.abs(_t-kt),zt=Math.abs(Ue-yt);if(At===0){be.spacesDiff=zt,zt>0&&0<=yt-1&&yt-1<at.length&&yt<x.length&&x.charCodeAt(yt)!==32&&at.charCodeAt(yt-1)===32&&at.charCodeAt(at.length-1)===44&&(be.looksLikeAlignment=!0);return}if(zt%At===0){be.spacesDiff=zt/At;return}}function s(at,u,x){const U=Math.min(at.getLineCount(),1e4);let be=0,Me=0,Ue="",_t=0;const yt=[2,4,6,8,3,5,7],kt=8;let At=[0,0,0,0,0,0,0,0,0],zt=new g;for(let ci=1;ci<=U;ci++){let wi=at.getLineLength(ci),yi=at.getLineContent(ci);const Ii=wi<=65536;let Ui=!1,Ji=0,Vi=0,an=0;for(let Cn=0,Sn=wi;Cn<Sn;Cn++){let xn=Ii?yi.charCodeAt(Cn):at.getLineCharCode(ci,Cn);if(xn===9)an++;else if(xn===32)Vi++;else{Ui=!0,Ji=Cn;break}}if(!Ui||(an>0?be++:Vi>1&&Me++,w(Ue,_t,yi,Ji,zt),zt.looksLikeAlignment&&!(x&&u===zt.spacesDiff)))continue;let Nn=zt.spacesDiff;Nn<=kt&&At[Nn]++,Ue=yi,_t=Ji}let Qt=x;be!==Me&&(Qt=be<Me);let si=u;if(Qt){let ci=Qt?0:.1*U;yt.forEach(wi=>{let yi=At[wi];yi>ci&&(ci=yi,si=wi)}),si===4&&At[4]>0&&At[2]>0&&At[2]>=At[4]/2&&(si=2)}return{insertSpaces:Qt,tabSize:si}}function C(at){return(at.metadata&1)>>>0}function f(at,u){at.metadata=at.metadata&254|u<<0}function v(at){return(at.metadata&2)>>>1===1}function r(at,u){at.metadata=at.metadata&253|(u?1:0)<<1}function l(at){return(at.metadata&4)>>>2===1}function m(at,u){at.metadata=at.metadata&251|(u?1:0)<<2}function c(at){return(at.metadata&24)>>>3}function b(at,u){at.metadata=at.metadata&231|u<<3}function L(at){return(at.metadata&32)>>>5===1}function T(at,u){at.metadata=at.metadata&223|(u?1:0)<<5}class M{constructor(u,x,U){this.metadata=0,this.parent=this,this.left=this,this.right=this,f(this,1),this.start=x,this.end=U,this.delta=0,this.maxEnd=U,this.id=u,this.ownerId=0,this.options=null,m(this,!1),b(this,1),T(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=x,this.cachedAbsoluteEnd=U,this.range=null,r(this,!1)}reset(u,x,U,be){this.start=x,this.end=U,this.maxEnd=U,this.cachedVersionId=u,this.cachedAbsoluteStart=x,this.cachedAbsoluteEnd=U,this.range=be}setOptions(u){this.options=u;let x=this.options.className;m(this,x==="squiggly-error"||x==="squiggly-warning"||x==="squiggly-info"),b(this,this.options.stickiness),T(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(u,x,U){this.cachedVersionId!==U&&(this.range=null),this.cachedVersionId=U,this.cachedAbsoluteStart=u,this.cachedAbsoluteEnd=x}detach(){this.parent=null,this.left=null,this.right=null}}const z=new M(null,0,0);z.parent=z,z.left=z,z.right=z,f(z,0);class oe{constructor(){this.root=z,this.requestNormalizeDelta=!1}intervalSearch(u,x,U,be,Me){return this.root===z?[]:j(this,u,x,U,be,Me)}search(u,x,U){return this.root===z?[]:xe(this,u,x,U)}collectNodesFromOwner(u){return Q(this,u)}collectNodesPostOrder(){return le(this)}insert(u){R(this,u),this._normalizeDeltaIfNecessary()}delete(u){K(this,u),this._normalizeDeltaIfNecessary()}resolveNode(u,x){const U=u;let be=0;for(;u!==this.root;)u===u.parent.right&&(be+=u.parent.delta),u=u.parent;const Me=U.start+be,Ue=U.end+be;U.setCachedOffsets(Me,Ue,x)}acceptReplace(u,x,U,be){const Me=J(this,u,u+x);for(let Ue=0,_t=Me.length;Ue<_t;Ue++){const yt=Me[Ue];K(this,yt)}this._normalizeDeltaIfNecessary(),Z(this,u,u+x,U),this._normalizeDeltaIfNecessary();for(let Ue=0,_t=Me.length;Ue<_t;Ue++){const yt=Me[Ue];yt.start=yt.cachedAbsoluteStart,yt.end=yt.cachedAbsoluteEnd,De(yt,u,u+x,U,be),yt.maxEnd=yt.end,R(this,yt)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,se(this))}}function se(at){let u=at.root,x=0;for(;u!==z;){if(u.left!==z&&!v(u.left)){u=u.left;continue}if(u.right!==z&&!v(u.right)){x+=u.delta,u=u.right;continue}u.start=x+u.start,u.end=x+u.end,u.delta=0,Fe(u),r(u,!0),r(u.left,!1),r(u.right,!1),u===u.parent.right&&(x-=u.parent.delta),u=u.parent}r(at.root,!1)}function re(at,u,x,U){return at<x?!0:at>x||U===1?!1:U===2?!0:u}function De(at,u,x,U,be){const Me=c(at),Ue=Me===0||Me===2,_t=Me===1||Me===2,yt=x-u,kt=U,At=Math.min(yt,kt),zt=at.start;let Qt=!1;const si=at.end;let ci=!1;u<=zt&&si<=x&&L(at)&&(at.start=u,Qt=!0,at.end=u,ci=!0);{const yi=be?1:yt>0?2:0;!Qt&&re(zt,Ue,u,yi)&&(Qt=!0),!ci&&re(si,_t,u,yi)&&(ci=!0)}if(At>0&&!be){const yi=yt>kt?2:0;!Qt&&re(zt,Ue,u+At,yi)&&(Qt=!0),!ci&&re(si,_t,u+At,yi)&&(ci=!0)}{const yi=be?1:0;!Qt&&re(zt,Ue,x,yi)&&(at.start=u+kt,Qt=!0),!ci&&re(si,_t,x,yi)&&(at.end=u+kt,ci=!0)}const wi=kt-yt;Qt||(at.start=Math.max(0,zt+wi)),ci||(at.end=Math.max(0,si+wi)),at.start>at.end&&(at.end=at.start)}function J(at,u,x){let U=at.root,be=0,Me=0,Ue=0,_t=0,yt=[],kt=0;for(;U!==z;){if(v(U)){r(U.left,!1),r(U.right,!1),U===U.parent.right&&(be-=U.parent.delta),U=U.parent;continue}if(!v(U.left)){if(Me=be+U.maxEnd,Me<u){r(U,!0);continue}if(U.left!==z){U=U.left;continue}}if(Ue=be+U.start,Ue>x){r(U,!0);continue}if(_t=be+U.end,_t>=u&&(U.setCachedOffsets(Ue,_t,0),yt[kt++]=U),r(U,!0),U.right!==z&&!v(U.right)){be+=U.delta,U=U.right;continue}}return r(at.root,!1),yt}function Z(at,u,x,U){let be=at.root,Me=0,Ue=0,_t=0;const yt=U-(x-u);for(;be!==z;){if(v(be)){r(be.left,!1),r(be.right,!1),be===be.parent.right&&(Me-=be.parent.delta),Fe(be),be=be.parent;continue}if(!v(be.left)){if(Ue=Me+be.maxEnd,Ue<u){r(be,!0);continue}if(be.left!==z){be=be.left;continue}}if(_t=Me+be.start,_t>x){be.start+=yt,be.end+=yt,be.delta+=yt,(be.delta<-1073741824||be.delta>1073741824)&&(at.requestNormalizeDelta=!0),r(be,!0);continue}if(r(be,!0),be.right!==z&&!v(be.right)){Me+=be.delta,be=be.right;continue}}r(at.root,!1)}function Q(at,u){let x=at.root,U=[],be=0;for(;x!==z;){if(v(x)){r(x.left,!1),r(x.right,!1),x=x.parent;continue}if(x.left!==z&&!v(x.left)){x=x.left;continue}if(x.ownerId===u&&(U[be++]=x),r(x,!0),x.right!==z&&!v(x.right)){x=x.right;continue}}return r(at.root,!1),U}function le(at){let u=at.root,x=[],U=0;for(;u!==z;){if(v(u)){r(u.left,!1),r(u.right,!1),u=u.parent;continue}if(u.left!==z&&!v(u.left)){u=u.left;continue}if(u.right!==z&&!v(u.right)){u=u.right;continue}x[U++]=u,r(u,!0)}return r(at.root,!1),x}function xe(at,u,x,U){let be=at.root,Me=0,Ue=0,_t=0,yt=[],kt=0;for(;be!==z;){if(v(be)){r(be.left,!1),r(be.right,!1),be===be.parent.right&&(Me-=be.parent.delta),be=be.parent;continue}if(be.left!==z&&!v(be.left)){be=be.left;continue}Ue=Me+be.start,_t=Me+be.end,be.setCachedOffsets(Ue,_t,U);let At=!0;if(u&&be.ownerId&&be.ownerId!==u&&(At=!1),x&&l(be)&&(At=!1),At&&(yt[kt++]=be),r(be,!0),be.right!==z&&!v(be.right)){Me+=be.delta,be=be.right;continue}}return r(at.root,!1),yt}function j(at,u,x,U,be,Me){let Ue=at.root,_t=0,yt=0,kt=0,At=0,zt=[],Qt=0;for(;Ue!==z;){if(v(Ue)){r(Ue.left,!1),r(Ue.right,!1),Ue===Ue.parent.right&&(_t-=Ue.parent.delta),Ue=Ue.parent;continue}if(!v(Ue.left)){if(yt=_t+Ue.maxEnd,yt<u){r(Ue,!0);continue}if(Ue.left!==z){Ue=Ue.left;continue}}if(kt=_t+Ue.start,kt>x){r(Ue,!0);continue}if(At=_t+Ue.end,At>=u){Ue.setCachedOffsets(kt,At,Me);let si=!0;U&&Ue.ownerId&&Ue.ownerId!==U&&(si=!1),be&&l(Ue)&&(si=!1),si&&(zt[Qt++]=Ue)}if(r(Ue,!0),Ue.right!==z&&!v(Ue.right)){_t+=Ue.delta,Ue=Ue.right;continue}}return r(at.root,!1),zt}function R(at,u){if(at.root===z)return u.parent=z,u.left=z,u.right=z,f(u,0),at.root=u,at.root;V(at,u),we(u.parent);let x=u;for(;x!==at.root&&C(x.parent)===1;)if(x.parent===x.parent.parent.left){const U=x.parent.parent.right;C(U)===1?(f(x.parent,0),f(U,0),f(x.parent.parent,1),x=x.parent.parent):(x===x.parent.right&&(x=x.parent,ge(at,x)),f(x.parent,0),f(x.parent.parent,1),ye(at,x.parent.parent))}else{const U=x.parent.parent.left;C(U)===1?(f(x.parent,0),f(U,0),f(x.parent.parent,1),x=x.parent.parent):(x===x.parent.left&&(x=x.parent,ye(at,x)),f(x.parent,0),f(x.parent.parent,1),ge(at,x.parent.parent))}return f(at.root,0),u}function V(at,u){let x=0,U=at.root;const be=u.start,Me=u.end;for(;;)if(ue(be,Me,U.start+x,U.end+x)<0)if(U.left===z){u.start-=x,u.end-=x,u.maxEnd-=x,U.left=u;break}else U=U.left;else if(U.right===z){u.start-=x+U.delta,u.end-=x+U.delta,u.maxEnd-=x+U.delta,U.right=u;break}else x+=U.delta,U=U.right;u.parent=U,u.left=z,u.right=z,f(u,1)}function K(at,u){let x,U;if(u.left===z?(x=u.right,U=u,x.delta+=u.delta,(x.delta<-1073741824||x.delta>1073741824)&&(at.requestNormalizeDelta=!0),x.start+=u.delta,x.end+=u.delta):u.right===z?(x=u.left,U=u):(U=ie(u.right),x=U.right,x.start+=U.delta,x.end+=U.delta,x.delta+=U.delta,(x.delta<-1073741824||x.delta>1073741824)&&(at.requestNormalizeDelta=!0),U.start+=u.delta,U.end+=u.delta,U.delta=u.delta,(U.delta<-1073741824||U.delta>1073741824)&&(at.requestNormalizeDelta=!0)),U===at.root){at.root=x,f(x,0),u.detach(),te(),Fe(x),at.root.parent=z;return}let be=C(U)===1;if(U===U.parent.left?U.parent.left=x:U.parent.right=x,U===u?x.parent=U.parent:(U.parent===u?x.parent=U:x.parent=U.parent,U.left=u.left,U.right=u.right,U.parent=u.parent,f(U,C(u)),u===at.root?at.root=U:u===u.parent.left?u.parent.left=U:u.parent.right=U,U.left!==z&&(U.left.parent=U),U.right!==z&&(U.right.parent=U)),u.detach(),be){we(x.parent),U!==u&&(we(U),we(U.parent)),te();return}we(x),we(x.parent),U!==u&&(we(U),we(U.parent));let Me;for(;x!==at.root&&C(x)===0;)x===x.parent.left?(Me=x.parent.right,C(Me)===1&&(f(Me,0),f(x.parent,1),ge(at,x.parent),Me=x.parent.right),C(Me.left)===0&&C(Me.right)===0?(f(Me,1),x=x.parent):(C(Me.right)===0&&(f(Me.left,0),f(Me,1),ye(at,Me),Me=x.parent.right),f(Me,C(x.parent)),f(x.parent,0),f(Me.right,0),ge(at,x.parent),x=at.root)):(Me=x.parent.left,C(Me)===1&&(f(Me,0),f(x.parent,1),ye(at,x.parent),Me=x.parent.left),C(Me.left)===0&&C(Me.right)===0?(f(Me,1),x=x.parent):(C(Me.left)===0&&(f(Me.right,0),f(Me,1),ge(at,Me),Me=x.parent.left),f(Me,C(x.parent)),f(x.parent,0),f(Me.left,0),ye(at,x.parent),x=at.root));f(x,0),te()}function ie(at){for(;at.left!==z;)at=at.left;return at}function te(){z.parent=z,z.delta=0,z.start=0,z.end=0}function ge(at,u){const x=u.right;x.delta+=u.delta,(x.delta<-1073741824||x.delta>1073741824)&&(at.requestNormalizeDelta=!0),x.start+=u.delta,x.end+=u.delta,u.right=x.left,x.left!==z&&(x.left.parent=u),x.parent=u.parent,u.parent===z?at.root=x:u===u.parent.left?u.parent.left=x:u.parent.right=x,x.left=u,u.parent=x,Fe(u),Fe(x)}function ye(at,u){const x=u.left;u.delta-=x.delta,(u.delta<-1073741824||u.delta>1073741824)&&(at.requestNormalizeDelta=!0),u.start-=x.delta,u.end-=x.delta,u.left=x.right,x.right!==z&&(x.right.parent=u),x.parent=u.parent,u.parent===z?at.root=x:u===u.parent.right?u.parent.right=x:u.parent.left=x,x.right=u,u.parent=x,Fe(u),Fe(x)}function ve(at){let u=at.end;if(at.left!==z){const x=at.left.maxEnd;x>u&&(u=x)}if(at.right!==z){const x=at.right.maxEnd+at.delta;x>u&&(u=x)}return u}function Fe(at){at.maxEnd=ve(at)}function we(at){for(;at!==z;){const u=ve(at);if(at.maxEnd===u)return;at.maxEnd=u,at=at.parent}}function ue(at,u,x,U){return at===x?u-U:at-x}class ce{constructor(u,x){this.piece=u,this.color=x,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==Ve)return We(this.right);let u=this;for(;u.parent!==Ve&&u.parent.left!==u;)u=u.parent;return u.parent===Ve?Ve:u.parent}prev(){if(this.left!==Ve)return ae(this.left);let u=this;for(;u.parent!==Ve&&u.parent.right!==u;)u=u.parent;return u.parent===Ve?Ve:u.parent}detach(){this.parent=null,this.left=null,this.right=null}}const Ve=new ce(null,0);Ve.parent=Ve,Ve.left=Ve,Ve.right=Ve,Ve.color=0;function We(at){for(;at.left!==Ve;)at=at.left;return at}function ae(at){for(;at.right!==Ve;)at=at.right;return at}function fe(at){return at===Ve?0:at.size_left+at.piece.length+fe(at.right)}function ne(at){return at===Ve?0:at.lf_left+at.piece.lineFeedCnt+ne(at.right)}function W(){Ve.parent=Ve}function $(at,u){let x=u.right;x.size_left+=u.size_left+(u.piece?u.piece.length:0),x.lf_left+=u.lf_left+(u.piece?u.piece.lineFeedCnt:0),u.right=x.left,x.left!==Ve&&(x.left.parent=u),x.parent=u.parent,u.parent===Ve?at.root=x:u.parent.left===u?u.parent.left=x:u.parent.right=x,x.left=u,u.parent=x}function ee(at,u){let x=u.left;u.left=x.right,x.right!==Ve&&(x.right.parent=u),x.parent=u.parent,u.size_left-=x.size_left+(x.piece?x.piece.length:0),u.lf_left-=x.lf_left+(x.piece?x.piece.lineFeedCnt:0),u.parent===Ve?at.root=x:u===u.parent.right?u.parent.right=x:u.parent.left=x,x.right=u,u.parent=x}function he(at,u){let x,U;if(u.left===Ve?(U=u,x=U.right):u.right===Ve?(U=u,x=U.left):(U=We(u.right),x=U.right),U===at.root){at.root=x,x.color=0,u.detach(),W(),at.root.parent=Ve;return}let be=U.color===1;if(U===U.parent.left?U.parent.left=x:U.parent.right=x,U===u?(x.parent=U.parent,it(at,x)):(U.parent===u?x.parent=U:x.parent=U.parent,it(at,x),U.left=u.left,U.right=u.right,U.parent=u.parent,U.color=u.color,u===at.root?at.root=U:u===u.parent.left?u.parent.left=U:u.parent.right=U,U.left!==Ve&&(U.left.parent=U),U.right!==Ve&&(U.right.parent=U),U.size_left=u.size_left,U.lf_left=u.lf_left,it(at,U)),u.detach(),x.parent.left===x){let Ue=fe(x),_t=ne(x);if(Ue!==x.parent.size_left||_t!==x.parent.lf_left){let yt=Ue-x.parent.size_left,kt=_t-x.parent.lf_left;x.parent.size_left=Ue,x.parent.lf_left=_t,Ye(at,x.parent,yt,kt)}}if(it(at,x.parent),be){W();return}let Me;for(;x!==at.root&&x.color===0;)x===x.parent.left?(Me=x.parent.right,Me.color===1&&(Me.color=0,x.parent.color=1,$(at,x.parent),Me=x.parent.right),Me.left.color===0&&Me.right.color===0?(Me.color=1,x=x.parent):(Me.right.color===0&&(Me.left.color=0,Me.color=1,ee(at,Me),Me=x.parent.right),Me.color=x.parent.color,x.parent.color=0,Me.right.color=0,$(at,x.parent),x=at.root)):(Me=x.parent.left,Me.color===1&&(Me.color=0,x.parent.color=1,ee(at,x.parent),Me=x.parent.left),Me.left.color===0&&Me.right.color===0?(Me.color=1,x=x.parent):(Me.left.color===0&&(Me.right.color=0,Me.color=1,$(at,Me),Me=x.parent.left),Me.color=x.parent.color,x.parent.color=0,Me.left.color=0,ee(at,x.parent),x=at.root));x.color=0,W()}function Pe(at,u){for(it(at,u);u!==at.root&&u.parent.color===1;)if(u.parent===u.parent.parent.left){const x=u.parent.parent.right;x.color===1?(u.parent.color=0,x.color=0,u.parent.parent.color=1,u=u.parent.parent):(u===u.parent.right&&(u=u.parent,$(at,u)),u.parent.color=0,u.parent.parent.color=1,ee(at,u.parent.parent))}else{const x=u.parent.parent.left;x.color===1?(u.parent.color=0,x.color=0,u.parent.parent.color=1,u=u.parent.parent):(u===u.parent.left&&(u=u.parent,ee(at,u)),u.parent.color=0,u.parent.parent.color=1,$(at,u.parent.parent))}at.root.color=0}function Ye(at,u,x,U){for(;u!==at.root&&u!==Ve;)u.parent.left===u&&(u.parent.size_left+=x,u.parent.lf_left+=U),u=u.parent}function it(at,u){let x=0,U=0;if(u!==at.root){for(;u!==at.root&&u===u.parent.right;)u=u.parent;if(u!==at.root)for(u=u.parent,x=fe(u.left)-u.size_left,U=ne(u.left)-u.lf_left,u.size_left+=x,u.lf_left+=U;u!==at.root&&(x!==0||U!==0);)u.parent.left===u&&(u.parent.size_left+=x,u.parent.lf_left+=U),u=u.parent}}var rt=i(91070);const vt=65535;function Ft(at){let u;return at[at.length-1]<65536?u=new Uint16Array(at.length):u=new Uint32Array(at.length),u.set(at,0),u}class Ht{constructor(u,x,U,be,Me){this.lineStarts=u,this.cr=x,this.lf=U,this.crlf=be,this.isBasicASCII=Me}}function ze(at,u=!0){let x=[0],U=1;for(let be=0,Me=at.length;be<Me;be++){const Ue=at.charCodeAt(be);Ue===13?be+1<Me&&at.charCodeAt(be+1)===10?(x[U++]=be+2,be++):x[U++]=be+1:Ue===10&&(x[U++]=be+1)}return u?Ft(x):x}function Xe(at,u){at.length=0,at[0]=0;let x=1,U=0,be=0,Me=0,Ue=!0;for(let yt=0,kt=u.length;yt<kt;yt++){const At=u.charCodeAt(yt);At===13?yt+1<kt&&u.charCodeAt(yt+1)===10?(Me++,at[x++]=yt+2,yt++):(U++,at[x++]=yt+1):At===10?(be++,at[x++]=yt+1):Ue&&At!==9&&(At<32||At>126)&&(Ue=!1)}const _t=new Ht(Ft(at),U,be,Me,Ue);return at.length=0,_t}class Ze{constructor(u,x,U,be,Me){this.bufferIndex=u,this.start=x,this.end=U,this.lineFeedCnt=be,this.length=Me}}class Ae{constructor(u,x){this.buffer=u,this.lineStarts=x}}class He{constructor(u,x){this._pieces=[],this._tree=u,this._BOM=x,this._index=0,u.root!==Ve&&u.iterate(u.root,U=>(U!==Ve&&this._pieces.push(U.piece),!0))}read(){return this._pieces.length===0?this._index===0?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:this._index===0?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class Et{constructor(u){this._limit=u,this._cache=[]}get(u){for(let x=this._cache.length-1;x>=0;x--){let U=this._cache[x];if(U.nodeStartOffset<=u&&U.nodeStartOffset+U.node.piece.length>=u)return U}return null}get2(u){for(let x=this._cache.length-1;x>=0;x--){let U=this._cache[x];if(U.nodeStartLineNumber&&U.nodeStartLineNumber<u&&U.nodeStartLineNumber+U.node.piece.lineFeedCnt>=u)return U}return null}set(u){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(u)}validate(u){let x=!1,U=this._cache;for(let be=0;be<U.length;be++){let Me=U[be];if(Me.node.parent===null||Me.nodeStartOffset>=u){U[be]=null,x=!0;continue}}if(x){let be=[];for(const Me of U)Me!==null&&be.push(Me);this._cache=be}}}class Wt{constructor(u,x,U){this.create(u,x,U)}create(u,x,U){this._buffers=[new Ae("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=Ve,this._lineCnt=1,this._length=0,this._EOL=x,this._EOLLength=x.length,this._EOLNormalized=U;let be=null;for(let Me=0,Ue=u.length;Me<Ue;Me++)if(u[Me].buffer.length>0){u[Me].lineStarts||(u[Me].lineStarts=ze(u[Me].buffer));let _t=new Ze(Me+1,{line:0,column:0},{line:u[Me].lineStarts.length-1,column:u[Me].buffer.length-u[Me].lineStarts[u[Me].lineStarts.length-1]},u[Me].lineStarts.length-1,u[Me].buffer.length);this._buffers.push(u[Me]),be=this.rbInsertRight(be,_t)}this._searchCache=new Et(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(u){let x=vt,U=x-Math.floor(x/3),be=U*2,Me="",Ue=0,_t=[];if(this.iterate(this.root,yt=>{let kt=this.getNodeContent(yt),At=kt.length;if(Ue<=U||Ue+At<be)return Me+=kt,Ue+=At,!0;let zt=Me.replace(/\r\n|\r|\n/g,u);return _t.push(new Ae(zt,ze(zt))),Me=kt,Ue=At,!0}),Ue>0){let yt=Me.replace(/\r\n|\r|\n/g,u);_t.push(new Ae(yt,ze(yt)))}this.create(_t,u,!0)}getEOL(){return this._EOL}setEOL(u){this._EOL=u,this._EOLLength=this._EOL.length,this.normalizeEOL(u)}createSnapshot(u){return new He(this,u)}getOffsetAt(u,x){let U=0,be=this.root;for(;be!==Ve;)if(be.left!==Ve&&be.lf_left+1>=u)be=be.left;else if(be.lf_left+be.piece.lineFeedCnt+1>=u){U+=be.size_left;let Me=this.getAccumulatedValue(be,u-be.lf_left-2);return U+=Me+x-1}else u-=be.lf_left+be.piece.lineFeedCnt,U+=be.size_left+be.piece.length,be=be.right;return U}getPositionAt(u){u=Math.floor(u),u=Math.max(0,u);let x=this.root,U=0,be=u;for(;x!==Ve;)if(x.size_left!==0&&x.size_left>=u)x=x.left;else if(x.size_left+x.piece.length>=u){let Me=this.getIndexOf(x,u-x.size_left);if(U+=x.lf_left+Me.index,Me.index===0){let Ue=this.getOffsetAt(U+1,1),_t=be-Ue;return new I.L(U+1,_t+1)}return new I.L(U+1,Me.remainder+1)}else if(u-=x.size_left+x.piece.length,U+=x.lf_left+x.piece.lineFeedCnt,x.right===Ve){let Me=this.getOffsetAt(U+1,1),Ue=be-u-Me;return new I.L(U+1,Ue+1)}else x=x.right;return new I.L(1,1)}getValueInRange(u,x){if(u.startLineNumber===u.endLineNumber&&u.startColumn===u.endColumn)return"";let U=this.nodeAt2(u.startLineNumber,u.startColumn),be=this.nodeAt2(u.endLineNumber,u.endColumn),Me=this.getValueInRange2(U,be);return x?x!==this._EOL||!this._EOLNormalized?Me.replace(/\r\n|\r|\n/g,x):x===this.getEOL()&&this._EOLNormalized?Me:Me.replace(/\r\n|\r|\n/g,x):Me}getValueInRange2(u,x){if(u.node===x.node){let _t=u.node,yt=this._buffers[_t.piece.bufferIndex].buffer,kt=this.offsetInBuffer(_t.piece.bufferIndex,_t.piece.start);return yt.substring(kt+u.remainder,kt+x.remainder)}let U=u.node,be=this._buffers[U.piece.bufferIndex].buffer,Me=this.offsetInBuffer(U.piece.bufferIndex,U.piece.start),Ue=be.substring(Me+u.remainder,Me+U.piece.length);for(U=U.next();U!==Ve;){let _t=this._buffers[U.piece.bufferIndex].buffer,yt=this.offsetInBuffer(U.piece.bufferIndex,U.piece.start);if(U===x.node){Ue+=_t.substring(yt,yt+x.remainder);break}else Ue+=_t.substr(yt,U.piece.length);U=U.next()}return Ue}getLinesContent(){let u=[],x=0,U="",be=!1;return this.iterate(this.root,Me=>{if(Me===Ve)return!0;const Ue=Me.piece;let _t=Ue.length;if(_t===0)return!0;const yt=this._buffers[Ue.bufferIndex].buffer,kt=this._buffers[Ue.bufferIndex].lineStarts,At=Ue.start.line,zt=Ue.end.line;let Qt=kt[At]+Ue.start.column;if(be&&(yt.charCodeAt(Qt)===10&&(Qt++,_t--),u[x++]=U,U="",be=!1,_t===0))return!0;if(At===zt)return!this._EOLNormalized&&yt.charCodeAt(Qt+_t-1)===13?(be=!0,U+=yt.substr(Qt,_t-1)):U+=yt.substr(Qt,_t),!0;U+=this._EOLNormalized?yt.substring(Qt,Math.max(Qt,kt[At+1]-this._EOLLength)):yt.substring(Qt,kt[At+1]).replace(/(\r\n|\r|\n)$/,""),u[x++]=U;for(let si=At+1;si<zt;si++)U=this._EOLNormalized?yt.substring(kt[si],kt[si+1]-this._EOLLength):yt.substring(kt[si],kt[si+1]).replace(/(\r\n|\r|\n)$/,""),u[x++]=U;return!this._EOLNormalized&&yt.charCodeAt(kt[zt]+Ue.end.column-1)===13?(be=!0,Ue.end.column===0?x--:U=yt.substr(kt[zt],Ue.end.column-1)):U=yt.substr(kt[zt],Ue.end.column),!0}),be&&(u[x++]=U,U=""),u[x++]=U,u}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(u){return this._lastVisitedLine.lineNumber===u?this._lastVisitedLine.value:(this._lastVisitedLine.lineNumber=u,u===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(u):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(u,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(u).replace(/(\r\n|\r|\n)$/,""),this._lastVisitedLine.value)}_getCharCode(u){if(u.remainder===u.node.piece.length){let x=u.node.next();if(!x)return 0;let U=this._buffers[x.piece.bufferIndex],be=this.offsetInBuffer(x.piece.bufferIndex,x.piece.start);return U.buffer.charCodeAt(be)}else{let x=this._buffers[u.node.piece.bufferIndex],be=this.offsetInBuffer(u.node.piece.bufferIndex,u.node.piece.start)+u.remainder;return x.buffer.charCodeAt(be)}}getLineCharCode(u,x){let U=this.nodeAt2(u,x+1);return this._getCharCode(U)}getLineLength(u){if(u===this.getLineCount()){let x=this.getOffsetAt(u,1);return this.getLength()-x}return this.getOffsetAt(u+1,1)-this.getOffsetAt(u,1)-this._EOLLength}findMatchesInNode(u,x,U,be,Me,Ue,_t,yt,kt,At,zt){let Qt=this._buffers[u.piece.bufferIndex],si=this.offsetInBuffer(u.piece.bufferIndex,u.piece.start),ci=this.offsetInBuffer(u.piece.bufferIndex,Me),wi=this.offsetInBuffer(u.piece.bufferIndex,Ue),yi,Ii={line:0,column:0},Ui,Ji;x._wordSeparators?(Ui=Qt.buffer.substring(ci,wi),Ji=Vi=>Vi+ci,x.reset(0)):(Ui=Qt.buffer,Ji=Vi=>Vi,x.reset(ci));do if(yi=x.next(Ui),yi){if(Ji(yi.index)>=wi)return At;this.positionInBuffer(u,Ji(yi.index)-si,Ii);let Vi=this.getLineFeedCnt(u.piece.bufferIndex,Me,Ii),an=Ii.line===Me.line?Ii.column-Me.column+be:Ii.column+1,Nn=an+yi[0].length;if(zt[At++]=(0,rt.iE)(new y.e(U+Vi,an,U+Vi,Nn),yi,yt),Ji(yi.index)+yi[0].length>=wi||At>=kt)return At}while(yi);return At}findMatchesLineByLine(u,x,U,be){const Me=[];let Ue=0;const _t=new rt.sz(x.wordSeparators,x.regex);let yt=this.nodeAt2(u.startLineNumber,u.startColumn);if(yt===null)return[];let kt=this.nodeAt2(u.endLineNumber,u.endColumn);if(kt===null)return[];let At=this.positionInBuffer(yt.node,yt.remainder),zt=this.positionInBuffer(kt.node,kt.remainder);if(yt.node===kt.node)return this.findMatchesInNode(yt.node,_t,u.startLineNumber,u.startColumn,At,zt,x,U,be,Ue,Me),Me;let Qt=u.startLineNumber,si=yt.node;for(;si!==kt.node;){let wi=this.getLineFeedCnt(si.piece.bufferIndex,At,si.piece.end);if(wi>=1){let Ii=this._buffers[si.piece.bufferIndex].lineStarts,Ui=this.offsetInBuffer(si.piece.bufferIndex,si.piece.start),Ji=Ii[At.line+wi],Vi=Qt===u.startLineNumber?u.startColumn:1;if(Ue=this.findMatchesInNode(si,_t,Qt,Vi,At,this.positionInBuffer(si,Ji-Ui),x,U,be,Ue,Me),Ue>=be)return Me;Qt+=wi}let yi=Qt===u.startLineNumber?u.startColumn-1:0;if(Qt===u.endLineNumber){const Ii=this.getLineContent(Qt).substring(yi,u.endColumn-1);return Ue=this._findMatchesInLine(x,_t,Ii,u.endLineNumber,yi,Ue,Me,U,be),Me}if(Ue=this._findMatchesInLine(x,_t,this.getLineContent(Qt).substr(yi),Qt,yi,Ue,Me,U,be),Ue>=be)return Me;Qt++,yt=this.nodeAt2(Qt,1),si=yt.node,At=this.positionInBuffer(yt.node,yt.remainder)}if(Qt===u.endLineNumber){let wi=Qt===u.startLineNumber?u.startColumn-1:0;const yi=this.getLineContent(Qt).substring(wi,u.endColumn-1);return Ue=this._findMatchesInLine(x,_t,yi,u.endLineNumber,wi,Ue,Me,U,be),Me}let ci=Qt===u.startLineNumber?u.startColumn:1;return Ue=this.findMatchesInNode(kt.node,_t,Qt,ci,At,zt,x,U,be,Ue,Me),Me}_findMatchesInLine(u,x,U,be,Me,Ue,_t,yt,kt){const At=u.wordSeparators;if(!yt&&u.simpleSearch){const Qt=u.simpleSearch,si=Qt.length,ci=U.length;let wi=-si;for(;(wi=U.indexOf(Qt,wi+si))!==-1;)if((!At||(0,rt.cM)(At,U,ci,wi,si))&&(_t[Ue++]=new p.tk(new y.e(be,wi+1+Me,be,wi+1+si+Me),null),Ue>=kt))return Ue;return Ue}let zt;x.reset(0);do if(zt=x.next(U),zt&&(_t[Ue++]=(0,rt.iE)(new y.e(be,zt.index+1+Me,be,zt.index+1+zt[0].length+Me),zt,yt),Ue>=kt))return Ue;while(zt);return Ue}insert(u,x,U=!1){if(this._EOLNormalized=this._EOLNormalized&&U,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==Ve){let{node:be,remainder:Me,nodeStartOffset:Ue}=this.nodeAt(u),_t=be.piece,yt=_t.bufferIndex,kt=this.positionInBuffer(be,Me);if(be.piece.bufferIndex===0&&_t.end.line===this._lastChangeBufferPos.line&&_t.end.column===this._lastChangeBufferPos.column&&Ue+_t.length===u&&x.length<vt){this.appendToNode(be,x),this.computeBufferMetadata();return}if(Ue===u)this.insertContentToNodeLeft(x,be),this._searchCache.validate(u);else if(Ue+be.piece.length>u){let At=[],zt=new Ze(_t.bufferIndex,kt,_t.end,this.getLineFeedCnt(_t.bufferIndex,kt,_t.end),this.offsetInBuffer(yt,_t.end)-this.offsetInBuffer(yt,kt));if(this.shouldCheckCRLF()&&this.endWithCR(x)&&this.nodeCharCodeAt(be,Me)===10){let wi={line:zt.start.line+1,column:0};zt=new Ze(zt.bufferIndex,wi,zt.end,this.getLineFeedCnt(zt.bufferIndex,wi,zt.end),zt.length-1),x+=`
`}if(this.shouldCheckCRLF()&&this.startWithLF(x))if(this.nodeCharCodeAt(be,Me-1)===13){let wi=this.positionInBuffer(be,Me-1);this.deleteNodeTail(be,wi),x="\r"+x,be.piece.length===0&&At.push(be)}else this.deleteNodeTail(be,kt);else this.deleteNodeTail(be,kt);let Qt=this.createNewPieces(x);zt.length>0&&this.rbInsertRight(be,zt);let si=be;for(let ci=0;ci<Qt.length;ci++)si=this.rbInsertRight(si,Qt[ci]);this.deleteNodes(At)}else this.insertContentToNodeRight(x,be)}else{let be=this.createNewPieces(x),Me=this.rbInsertLeft(null,be[0]);for(let Ue=1;Ue<be.length;Ue++)Me=this.rbInsertRight(Me,be[Ue])}this.computeBufferMetadata()}delete(u,x){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",x<=0||this.root===Ve)return;let U=this.nodeAt(u),be=this.nodeAt(u+x),Me=U.node,Ue=be.node;if(Me===Ue){let Qt=this.positionInBuffer(Me,U.remainder),si=this.positionInBuffer(Me,be.remainder);if(U.nodeStartOffset===u){if(x===Me.piece.length){let ci=Me.next();he(this,Me),this.validateCRLFWithPrevNode(ci),this.computeBufferMetadata();return}this.deleteNodeHead(Me,si),this._searchCache.validate(u),this.validateCRLFWithPrevNode(Me),this.computeBufferMetadata();return}if(U.nodeStartOffset+Me.piece.length===u+x){this.deleteNodeTail(Me,Qt),this.validateCRLFWithNextNode(Me),this.computeBufferMetadata();return}this.shrinkNode(Me,Qt,si),this.computeBufferMetadata();return}let _t=[],yt=this.positionInBuffer(Me,U.remainder);this.deleteNodeTail(Me,yt),this._searchCache.validate(u),Me.piece.length===0&&_t.push(Me);let kt=this.positionInBuffer(Ue,be.remainder);this.deleteNodeHead(Ue,kt),Ue.piece.length===0&&_t.push(Ue);let At=Me.next();for(let Qt=At;Qt!==Ve&&Qt!==Ue;Qt=Qt.next())_t.push(Qt);let zt=Me.piece.length===0?Me.prev():Me;this.deleteNodes(_t),this.validateCRLFWithNextNode(zt),this.computeBufferMetadata()}insertContentToNodeLeft(u,x){let U=[];if(this.shouldCheckCRLF()&&this.endWithCR(u)&&this.startWithLF(x)){let Ue=x.piece,_t={line:Ue.start.line+1,column:0},yt=new Ze(Ue.bufferIndex,_t,Ue.end,this.getLineFeedCnt(Ue.bufferIndex,_t,Ue.end),Ue.length-1);x.piece=yt,u+=`
`,Ye(this,x,-1,-1),x.piece.length===0&&U.push(x)}let be=this.createNewPieces(u),Me=this.rbInsertLeft(x,be[be.length-1]);for(let Ue=be.length-2;Ue>=0;Ue--)Me=this.rbInsertLeft(Me,be[Ue]);this.validateCRLFWithPrevNode(Me),this.deleteNodes(U)}insertContentToNodeRight(u,x){this.adjustCarriageReturnFromNext(u,x)&&(u+=`
`);let U=this.createNewPieces(u),be=this.rbInsertRight(x,U[0]),Me=be;for(let Ue=1;Ue<U.length;Ue++)Me=this.rbInsertRight(Me,U[Ue]);this.validateCRLFWithPrevNode(be)}positionInBuffer(u,x,U){let be=u.piece,Me=u.piece.bufferIndex,Ue=this._buffers[Me].lineStarts,yt=Ue[be.start.line]+be.start.column+x,kt=be.start.line,At=be.end.line,zt=0,Qt=0,si=0;for(;kt<=At&&(zt=kt+(At-kt)/2|0,si=Ue[zt],zt!==At);)if(Qt=Ue[zt+1],yt<si)At=zt-1;else if(yt>=Qt)kt=zt+1;else break;return U?(U.line=zt,U.column=yt-si,null):{line:zt,column:yt-si}}getLineFeedCnt(u,x,U){if(U.column===0)return U.line-x.line;let be=this._buffers[u].lineStarts;if(U.line===be.length-1)return U.line-x.line;let Me=be[U.line+1],Ue=be[U.line]+U.column;if(Me>Ue+1)return U.line-x.line;let _t=Ue-1;return this._buffers[u].buffer.charCodeAt(_t)===13?U.line-x.line+1:U.line-x.line}offsetInBuffer(u,x){return this._buffers[u].lineStarts[x.line]+x.column}deleteNodes(u){for(let x=0;x<u.length;x++)he(this,u[x])}createNewPieces(u){if(u.length>vt){let At=[];for(;u.length>vt;){const Qt=u.charCodeAt(vt-1);let si;Qt===13||Qt>=55296&&Qt<=56319?(si=u.substring(0,vt-1),u=u.substring(vt-1)):(si=u.substring(0,vt),u=u.substring(vt));let ci=ze(si);At.push(new Ze(this._buffers.length,{line:0,column:0},{line:ci.length-1,column:si.length-ci[ci.length-1]},ci.length-1,si.length)),this._buffers.push(new Ae(si,ci))}let zt=ze(u);return At.push(new Ze(this._buffers.length,{line:0,column:0},{line:zt.length-1,column:u.length-zt[zt.length-1]},zt.length-1,u.length)),this._buffers.push(new Ae(u,zt)),At}let x=this._buffers[0].buffer.length;const U=ze(u,!1);let be=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===x&&x!==0&&this.startWithLF(u)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},be=this._lastChangeBufferPos;for(let At=0;At<U.length;At++)U[At]+=x+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(U.slice(1)),this._buffers[0].buffer+="_"+u,x+=1}else{if(x!==0)for(let At=0;At<U.length;At++)U[At]+=x;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(U.slice(1)),this._buffers[0].buffer+=u}const Me=this._buffers[0].buffer.length;let Ue=this._buffers[0].lineStarts.length-1,_t=Me-this._buffers[0].lineStarts[Ue],yt={line:Ue,column:_t},kt=new Ze(0,be,yt,this.getLineFeedCnt(0,be,yt),Me-x);return this._lastChangeBufferPos=yt,[kt]}getLineRawContent(u,x=0){let U=this.root,be="",Me=this._searchCache.get2(u);if(Me){U=Me.node;let Ue=this.getAccumulatedValue(U,u-Me.nodeStartLineNumber-1),_t=this._buffers[U.piece.bufferIndex].buffer,yt=this.offsetInBuffer(U.piece.bufferIndex,U.piece.start);if(Me.nodeStartLineNumber+U.piece.lineFeedCnt===u)be=_t.substring(yt+Ue,yt+U.piece.length);else{let kt=this.getAccumulatedValue(U,u-Me.nodeStartLineNumber);return _t.substring(yt+Ue,yt+kt-x)}}else{let Ue=0;const _t=u;for(;U!==Ve;)if(U.left!==Ve&&U.lf_left>=u-1)U=U.left;else if(U.lf_left+U.piece.lineFeedCnt>u-1){let yt=this.getAccumulatedValue(U,u-U.lf_left-2),kt=this.getAccumulatedValue(U,u-U.lf_left-1),At=this._buffers[U.piece.bufferIndex].buffer,zt=this.offsetInBuffer(U.piece.bufferIndex,U.piece.start);return Ue+=U.size_left,this._searchCache.set({node:U,nodeStartOffset:Ue,nodeStartLineNumber:_t-(u-1-U.lf_left)}),At.substring(zt+yt,zt+kt-x)}else if(U.lf_left+U.piece.lineFeedCnt===u-1){let yt=this.getAccumulatedValue(U,u-U.lf_left-2),kt=this._buffers[U.piece.bufferIndex].buffer,At=this.offsetInBuffer(U.piece.bufferIndex,U.piece.start);be=kt.substring(At+yt,At+U.piece.length);break}else u-=U.lf_left+U.piece.lineFeedCnt,Ue+=U.size_left+U.piece.length,U=U.right}for(U=U.next();U!==Ve;){let Ue=this._buffers[U.piece.bufferIndex].buffer;if(U.piece.lineFeedCnt>0){let _t=this.getAccumulatedValue(U,0),yt=this.offsetInBuffer(U.piece.bufferIndex,U.piece.start);return be+=Ue.substring(yt,yt+_t-x),be}else{let _t=this.offsetInBuffer(U.piece.bufferIndex,U.piece.start);be+=Ue.substr(_t,U.piece.length)}U=U.next()}return be}computeBufferMetadata(){let u=this.root,x=1,U=0;for(;u!==Ve;)x+=u.lf_left+u.piece.lineFeedCnt,U+=u.size_left+u.piece.length,u=u.right;this._lineCnt=x,this._length=U,this._searchCache.validate(this._length)}getIndexOf(u,x){let U=u.piece,be=this.positionInBuffer(u,x),Me=be.line-U.start.line;if(this.offsetInBuffer(U.bufferIndex,U.end)-this.offsetInBuffer(U.bufferIndex,U.start)===x){let Ue=this.getLineFeedCnt(u.piece.bufferIndex,U.start,be);if(Ue!==Me)return{index:Ue,remainder:0}}return{index:Me,remainder:be.column}}getAccumulatedValue(u,x){if(x<0)return 0;let U=u.piece,be=this._buffers[U.bufferIndex].lineStarts,Me=U.start.line+x+1;return Me>U.end.line?be[U.end.line]+U.end.column-be[U.start.line]-U.start.column:be[Me]-be[U.start.line]-U.start.column}deleteNodeTail(u,x){const U=u.piece,be=U.lineFeedCnt,Me=this.offsetInBuffer(U.bufferIndex,U.end),Ue=x,_t=this.offsetInBuffer(U.bufferIndex,Ue),yt=this.getLineFeedCnt(U.bufferIndex,U.start,Ue),kt=yt-be,At=_t-Me,zt=U.length+At;u.piece=new Ze(U.bufferIndex,U.start,Ue,yt,zt),Ye(this,u,At,kt)}deleteNodeHead(u,x){const U=u.piece,be=U.lineFeedCnt,Me=this.offsetInBuffer(U.bufferIndex,U.start),Ue=x,_t=this.getLineFeedCnt(U.bufferIndex,Ue,U.end),yt=this.offsetInBuffer(U.bufferIndex,Ue),kt=_t-be,At=Me-yt,zt=U.length+At;u.piece=new Ze(U.bufferIndex,Ue,U.end,_t,zt),Ye(this,u,At,kt)}shrinkNode(u,x,U){const be=u.piece,Me=be.start,Ue=be.end,_t=be.length,yt=be.lineFeedCnt,kt=x,At=this.getLineFeedCnt(be.bufferIndex,be.start,kt),zt=this.offsetInBuffer(be.bufferIndex,x)-this.offsetInBuffer(be.bufferIndex,Me);u.piece=new Ze(be.bufferIndex,be.start,kt,At,zt),Ye(this,u,zt-_t,At-yt);let Qt=new Ze(be.bufferIndex,U,Ue,this.getLineFeedCnt(be.bufferIndex,U,Ue),this.offsetInBuffer(be.bufferIndex,Ue)-this.offsetInBuffer(be.bufferIndex,U)),si=this.rbInsertRight(u,Qt);this.validateCRLFWithPrevNode(si)}appendToNode(u,x){this.adjustCarriageReturnFromNext(x,u)&&(x+=`
`);const U=this.shouldCheckCRLF()&&this.startWithLF(x)&&this.endWithCR(u),be=this._buffers[0].buffer.length;this._buffers[0].buffer+=x;const Me=ze(x,!1);for(let si=0;si<Me.length;si++)Me[si]+=be;if(U){let si=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:be-si}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(Me.slice(1));const Ue=this._buffers[0].lineStarts.length-1,_t=this._buffers[0].buffer.length-this._buffers[0].lineStarts[Ue],yt={line:Ue,column:_t},kt=u.piece.length+x.length,At=u.piece.lineFeedCnt,zt=this.getLineFeedCnt(0,u.piece.start,yt),Qt=zt-At;u.piece=new Ze(u.piece.bufferIndex,u.piece.start,yt,zt,kt),this._lastChangeBufferPos=yt,Ye(this,u,x.length,Qt)}nodeAt(u){let x=this.root,U=this._searchCache.get(u);if(U)return{node:U.node,nodeStartOffset:U.nodeStartOffset,remainder:u-U.nodeStartOffset};let be=0;for(;x!==Ve;)if(x.size_left>u)x=x.left;else if(x.size_left+x.piece.length>=u){be+=x.size_left;let Me={node:x,remainder:u-x.size_left,nodeStartOffset:be};return this._searchCache.set(Me),Me}else u-=x.size_left+x.piece.length,be+=x.size_left+x.piece.length,x=x.right;return null}nodeAt2(u,x){let U=this.root,be=0;for(;U!==Ve;)if(U.left!==Ve&&U.lf_left>=u-1)U=U.left;else if(U.lf_left+U.piece.lineFeedCnt>u-1){let Me=this.getAccumulatedValue(U,u-U.lf_left-2),Ue=this.getAccumulatedValue(U,u-U.lf_left-1);return be+=U.size_left,{node:U,remainder:Math.min(Me+x-1,Ue),nodeStartOffset:be}}else if(U.lf_left+U.piece.lineFeedCnt===u-1){let Me=this.getAccumulatedValue(U,u-U.lf_left-2);if(Me+x-1<=U.piece.length)return{node:U,remainder:Me+x-1,nodeStartOffset:be};x-=U.piece.length-Me;break}else u-=U.lf_left+U.piece.lineFeedCnt,be+=U.size_left+U.piece.length,U=U.right;for(U=U.next();U!==Ve;){if(U.piece.lineFeedCnt>0){let Me=this.getAccumulatedValue(U,0),Ue=this.offsetOfNode(U);return{node:U,remainder:Math.min(x-1,Me),nodeStartOffset:Ue}}else if(U.piece.length>=x-1){let Me=this.offsetOfNode(U);return{node:U,remainder:x-1,nodeStartOffset:Me}}else x-=U.piece.length;U=U.next()}return null}nodeCharCodeAt(u,x){if(u.piece.lineFeedCnt<1)return-1;let U=this._buffers[u.piece.bufferIndex],be=this.offsetInBuffer(u.piece.bufferIndex,u.piece.start)+x;return U.buffer.charCodeAt(be)}offsetOfNode(u){if(!u)return 0;let x=u.size_left;for(;u!==this.root;)u.parent.right===u&&(x+=u.parent.size_left+u.parent.piece.length),u=u.parent;return x}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL===`
`)}startWithLF(u){if(typeof u=="string")return u.charCodeAt(0)===10;if(u===Ve||u.piece.lineFeedCnt===0)return!1;let x=u.piece,U=this._buffers[x.bufferIndex].lineStarts,be=x.start.line,Me=U[be]+x.start.column;return be===U.length-1||U[be+1]>Me+1?!1:this._buffers[x.bufferIndex].buffer.charCodeAt(Me)===10}endWithCR(u){return typeof u=="string"?u.charCodeAt(u.length-1)===13:u===Ve||u.piece.lineFeedCnt===0?!1:this.nodeCharCodeAt(u,u.piece.length-1)===13}validateCRLFWithPrevNode(u){if(this.shouldCheckCRLF()&&this.startWithLF(u)){let x=u.prev();this.endWithCR(x)&&this.fixCRLF(x,u)}}validateCRLFWithNextNode(u){if(this.shouldCheckCRLF()&&this.endWithCR(u)){let x=u.next();this.startWithLF(x)&&this.fixCRLF(u,x)}}fixCRLF(u,x){let U=[],be=this._buffers[u.piece.bufferIndex].lineStarts,Me;u.piece.end.column===0?Me={line:u.piece.end.line-1,column:be[u.piece.end.line]-be[u.piece.end.line-1]-1}:Me={line:u.piece.end.line,column:u.piece.end.column-1};const Ue=u.piece.length-1,_t=u.piece.lineFeedCnt-1;u.piece=new Ze(u.piece.bufferIndex,u.piece.start,Me,_t,Ue),Ye(this,u,-1,-1),u.piece.length===0&&U.push(u);let yt={line:x.piece.start.line+1,column:0};const kt=x.piece.length-1,At=this.getLineFeedCnt(x.piece.bufferIndex,yt,x.piece.end);x.piece=new Ze(x.piece.bufferIndex,yt,x.piece.end,At,kt),Ye(this,x,-1,-1),x.piece.length===0&&U.push(x);let zt=this.createNewPieces(`\r
`);this.rbInsertRight(u,zt[0]);for(let Qt=0;Qt<U.length;Qt++)he(this,U[Qt])}adjustCarriageReturnFromNext(u,x){if(this.shouldCheckCRLF()&&this.endWithCR(u)){let U=x.next();if(this.startWithLF(U)){if(u+=`
`,U.piece.length===1)he(this,U);else{const be=U.piece,Me={line:be.start.line+1,column:0},Ue=be.length-1,_t=this.getLineFeedCnt(be.bufferIndex,Me,be.end);U.piece=new Ze(be.bufferIndex,Me,be.end,_t,Ue),Ye(this,U,-1,-1)}return!0}}return!1}iterate(u,x){if(u===Ve)return x(Ve);let U=this.iterate(u.left,x);return U&&x(u)&&this.iterate(u.right,x)}getNodeContent(u){if(u===Ve)return"";let x=this._buffers[u.piece.bufferIndex],U,be=u.piece,Me=this.offsetInBuffer(be.bufferIndex,be.start),Ue=this.offsetInBuffer(be.bufferIndex,be.end);return U=x.buffer.substring(Me,Ue),U}getPieceContent(u){let x=this._buffers[u.bufferIndex],U=this.offsetInBuffer(u.bufferIndex,u.start),be=this.offsetInBuffer(u.bufferIndex,u.end);return x.buffer.substring(U,be)}rbInsertRight(u,x){let U=new ce(x,1);if(U.left=Ve,U.right=Ve,U.parent=Ve,U.size_left=0,U.lf_left=0,this.root===Ve)this.root=U,U.color=0;else if(u.right===Ve)u.right=U,U.parent=u;else{let Me=We(u.right);Me.left=U,U.parent=Me}return Pe(this,U),U}rbInsertLeft(u,x){let U=new ce(x,1);if(U.left=Ve,U.right=Ve,U.parent=Ve,U.size_left=0,U.lf_left=0,this.root===Ve)this.root=U,U.color=0;else if(u.left===Ve)u.left=U,U.parent=u;else{let be=ae(u.left);be.right=U,U.parent=be}return Pe(this,U),U}}var oi=i(66039),ni=i(70896);class hi extends O.JT{constructor(u,x,U,be,Me,Ue,_t){super(),this._onDidChangeContent=this._register(new H.Q5),this._BOM=x,this._mightContainNonBasicASCII=!Ue,this._mightContainRTL=be,this._mightContainUnusualLineTerminators=Me,this._pieceTree=new Wt(u,U,_t)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(u){return this._pieceTree.createSnapshot(u?this._BOM:"")}getOffsetAt(u,x){return this._pieceTree.getOffsetAt(u,x)}getPositionAt(u){return this._pieceTree.getPositionAt(u)}getRangeAt(u,x){let U=u+x;const be=this.getPositionAt(u),Me=this.getPositionAt(U);return new y.e(be.lineNumber,be.column,Me.lineNumber,Me.column)}getValueInRange(u,x=0){if(u.isEmpty())return"";const U=this._getEndOfLine(x);return this._pieceTree.getValueInRange(u,U)}getValueLengthInRange(u,x=0){if(u.isEmpty())return 0;if(u.startLineNumber===u.endLineNumber)return u.endColumn-u.startColumn;let U=this.getOffsetAt(u.startLineNumber,u.startColumn);return this.getOffsetAt(u.endLineNumber,u.endColumn)-U}getCharacterCountInRange(u,x=0){if(this._mightContainNonBasicASCII){let U=0;const be=u.startLineNumber,Me=u.endLineNumber;for(let Ue=be;Ue<=Me;Ue++){const _t=this.getLineContent(Ue),yt=Ue===be?u.startColumn-1:0,kt=Ue===Me?u.endColumn-1:_t.length;for(let At=yt;At<kt;At++)P.ZG(_t.charCodeAt(At))?(U=U+1,At=At+1):U=U+1}return U+=this._getEndOfLine(x).length*(Me-be),U}return this.getValueLengthInRange(u,x)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(u){return this._pieceTree.getLineContent(u)}getLineCharCode(u,x){return this._pieceTree.getLineCharCode(u,x)}getLineLength(u){return this._pieceTree.getLineLength(u)}getLineFirstNonWhitespaceColumn(u){const x=P.LC(this.getLineContent(u));return x===-1?0:x+1}getLineLastNonWhitespaceColumn(u){const x=P.ow(this.getLineContent(u));return x===-1?0:x+2}_getEndOfLine(u){switch(u){case 1:return`
`;case 2:return`\r
`;case 0:return this.getEOL();default:throw new Error("Unknown EOL preference")}}setEOL(u){this._pieceTree.setEOL(u)}applyEdits(u,x,U){let be=this._mightContainRTL,Me=this._mightContainUnusualLineTerminators,Ue=this._mightContainNonBasicASCII,_t=!0,yt=[];for(let wi=0;wi<u.length;wi++){let yi=u[wi];_t&&yi._isTracked&&(_t=!1);let Ii=yi.range;if(yi.text){let Nn=!0;Ue||(Nn=!P.$i(yi.text),Ue=Nn),!be&&Nn&&(be=P.Ut(yi.text)),!Me&&Nn&&(Me=P.ab(yi.text))}let Ui="",Ji=0,Vi=0,an=0;if(yi.text){let Nn;[Ji,Vi,an,Nn]=(0,oi.QZ)(yi.text);const Cn=this.getEOL();Nn===0||Nn===(Cn===`\r
`?2:1)?Ui=yi.text:Ui=yi.text.replace(/\r\n|\r|\n/g,Cn)}yt[wi]={sortIndex:wi,identifier:yi.identifier||null,range:Ii,rangeOffset:this.getOffsetAt(Ii.startLineNumber,Ii.startColumn),rangeLength:this.getValueLengthInRange(Ii),text:Ui,eolCount:Ji,firstLineLength:Vi,lastLineLength:an,forceMoveMarkers:!!yi.forceMoveMarkers,isAutoWhitespaceEdit:yi.isAutoWhitespaceEdit||!1}}yt.sort(hi._sortOpsAscending);let kt=!1;for(let wi=0,yi=yt.length-1;wi<yi;wi++){let Ii=yt[wi].range.getEndPosition(),Ui=yt[wi+1].range.getStartPosition();if(Ui.isBeforeOrEqual(Ii)){if(Ui.isBefore(Ii))throw new Error("Overlapping ranges are not allowed!");kt=!0}}_t&&(yt=this._reduceOperations(yt));let At=U||x?hi._getInverseEditRanges(yt):[],zt=[];if(x)for(let wi=0;wi<yt.length;wi++){let yi=yt[wi],Ii=At[wi];if(yi.isAutoWhitespaceEdit&&yi.range.isEmpty())for(let Ui=Ii.startLineNumber;Ui<=Ii.endLineNumber;Ui++){let Ji="";Ui===Ii.startLineNumber&&(Ji=this.getLineContent(yi.range.startLineNumber),P.LC(Ji)!==-1)||zt.push({lineNumber:Ui,oldContent:Ji})}}let Qt=null;if(U){let wi=0;Qt=[];for(let yi=0;yi<yt.length;yi++){const Ii=yt[yi],Ui=At[yi],Ji=this.getValueInRange(Ii.range),Vi=Ii.rangeOffset+wi;wi+=Ii.text.length-Ji.length,Qt[yi]={sortIndex:Ii.sortIndex,identifier:Ii.identifier,range:Ui,text:Ji,textChange:new ni.q(Ii.rangeOffset,Ji,Vi,Ii.text)}}kt||Qt.sort((yi,Ii)=>yi.sortIndex-Ii.sortIndex)}this._mightContainRTL=be,this._mightContainUnusualLineTerminators=Me,this._mightContainNonBasicASCII=Ue;const si=this._doApplyEdits(yt);let ci=null;if(x&&zt.length>0){zt.sort((wi,yi)=>yi.lineNumber-wi.lineNumber),ci=[];for(let wi=0,yi=zt.length;wi<yi;wi++){let Ii=zt[wi].lineNumber;if(wi>0&&zt[wi-1].lineNumber===Ii)continue;let Ui=zt[wi].oldContent,Ji=this.getLineContent(Ii);Ji.length===0||Ji===Ui||P.LC(Ji)!==-1||ci.push(Ii)}}return this._onDidChangeContent.fire(),new p.je(Qt,si,ci)}_reduceOperations(u){return u.length<1e3?u:[this._toSingleEditOperation(u)]}_toSingleEditOperation(u){let x=!1;const U=u[0].range,be=u[u.length-1].range,Me=new y.e(U.startLineNumber,U.startColumn,be.endLineNumber,be.endColumn);let Ue=U.startLineNumber,_t=U.startColumn;const yt=[];for(let si=0,ci=u.length;si<ci;si++){const wi=u[si],yi=wi.range;x=x||wi.forceMoveMarkers,yt.push(this.getValueInRange(new y.e(Ue,_t,yi.startLineNumber,yi.startColumn))),wi.text.length>0&&yt.push(wi.text),Ue=yi.endLineNumber,_t=yi.endColumn}const kt=yt.join(""),[At,zt,Qt]=(0,oi.QZ)(kt);return{sortIndex:0,identifier:u[0].identifier,range:Me,rangeOffset:this.getOffsetAt(Me.startLineNumber,Me.startColumn),rangeLength:this.getValueLengthInRange(Me,0),text:kt,eolCount:At,firstLineLength:zt,lastLineLength:Qt,forceMoveMarkers:x,isAutoWhitespaceEdit:!1}}_doApplyEdits(u){u.sort(hi._sortOpsDescending);let x=[];for(let U=0;U<u.length;U++){let be=u[U];const Me=be.range.startLineNumber,Ue=be.range.startColumn,_t=be.range.endLineNumber,yt=be.range.endColumn;if(Me===_t&&Ue===yt&&be.text.length===0)continue;be.text?(this._pieceTree.delete(be.rangeOffset,be.rangeLength),this._pieceTree.insert(be.rangeOffset,be.text,!0)):this._pieceTree.delete(be.rangeOffset,be.rangeLength);const kt=new y.e(Me,Ue,_t,yt);x.push({range:kt,rangeLength:be.rangeLength,text:be.text,rangeOffset:be.rangeOffset,forceMoveMarkers:be.forceMoveMarkers})}return x}findMatchesLineByLine(u,x,U,be){return this._pieceTree.findMatchesLineByLine(u,x,U,be)}static _getInverseEditRanges(u){let x=[],U=0,be=0,Me=null;for(let Ue=0,_t=u.length;Ue<_t;Ue++){let yt=u[Ue],kt,At;Me?Me.range.endLineNumber===yt.range.startLineNumber?(kt=U,At=be+(yt.range.startColumn-Me.range.endColumn)):(kt=U+(yt.range.startLineNumber-Me.range.endLineNumber),At=yt.range.startColumn):(kt=yt.range.startLineNumber,At=yt.range.startColumn);let zt;if(yt.text.length>0){const Qt=yt.eolCount+1;Qt===1?zt=new y.e(kt,At,kt,At+yt.firstLineLength):zt=new y.e(kt,At,kt+Qt-1,yt.lastLineLength+1)}else zt=new y.e(kt,At,kt,At);U=zt.endLineNumber,be=zt.endColumn,x.push(zt),Me=yt}return x}static _sortOpsAscending(u,x){let U=y.e.compareRangesUsingEnds(u.range,x.range);return U===0?u.sortIndex-x.sortIndex:U}static _sortOpsDescending(u,x){let U=y.e.compareRangesUsingEnds(u.range,x.range);return U===0?x.sortIndex-u.sortIndex:-U}}class Di{constructor(u,x,U,be,Me,Ue,_t,yt,kt){this._chunks=u,this._bom=x,this._cr=U,this._lf=be,this._crlf=Me,this._containsRTL=Ue,this._containsUnusualLineTerminators=_t,this._isBasicASCII=yt,this._normalizeEOL=kt}_getEOL(u){const x=this._cr+this._lf+this._crlf,U=this._cr+this._crlf;return x===0?u===1?`
`:`\r
`:U>x/2?`\r
`:`
`}create(u){const x=this._getEOL(u);let U=this._chunks;if(this._normalizeEOL&&(x===`\r
`&&(this._cr>0||this._lf>0)||x===`
`&&(this._cr>0||this._crlf>0)))for(let Me=0,Ue=U.length;Me<Ue;Me++){let _t=U[Me].buffer.replace(/\r\n|\r|\n/g,x),yt=ze(_t);U[Me]=new Ae(_t,yt)}const be=new hi(U,this._bom,x,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:be,disposable:be}}}class Ti{constructor(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(u){if(u.length===0)return;this.chunks.length===0&&P.uS(u)&&(this.BOM=P.c1,u=u.substr(1));const x=u.charCodeAt(u.length-1);x===13||x>=55296&&x<=56319?(this._acceptChunk1(u.substr(0,u.length-1),!1),this._hasPreviousChar=!0,this._previousChar=x):(this._acceptChunk1(u,!1),this._hasPreviousChar=!1,this._previousChar=x)}_acceptChunk1(u,x){!x&&u.length===0||(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+u):this._acceptChunk2(u))}_acceptChunk2(u){const x=Xe(this._tmpLineStarts,u);this.chunks.push(new Ae(u,x.lineStarts)),this.cr+=x.cr,this.lf+=x.lf,this.crlf+=x.crlf,this.isBasicASCII&&(this.isBasicASCII=x.isBasicASCII),!this.isBasicASCII&&!this.containsRTL&&(this.containsRTL=P.Ut(u)),!this.isBasicASCII&&!this.containsUnusualLineTerminators&&(this.containsUnusualLineTerminators=P.ab(u))}finish(u=!0){return this._finish(),new Di(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,u)}_finish(){if(this.chunks.length===0&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;let u=this.chunks[this.chunks.length-1];u.buffer+=String.fromCharCode(this._previousChar);let x=ze(u.buffer);u.lineStarts=x,this._previousChar===13&&this.cr++}}}var Ni=i(64685),ai=i(43506),Pt=i(35521),Gt=i(27347),st=i(31275),gt=i(95830),ht=i(23345);class Qe{constructor(){this._beginState=[],this._valid=[],this._len=0,this._invalidLineStartIndex=0}_reset(u){this._beginState=[],this._valid=[],this._len=0,this._invalidLineStartIndex=0,u&&this._setBeginState(0,u)}flush(u){this._reset(u)}get invalidLineStartIndex(){return this._invalidLineStartIndex}_invalidateLine(u){u<this._len&&(this._valid[u]=!1),u<this._invalidLineStartIndex&&(this._invalidLineStartIndex=u)}_isValid(u){return u<this._len?this._valid[u]:!1}getBeginState(u){return u<this._len?this._beginState[u]:null}_ensureLine(u){for(;u>=this._len;)this._beginState[this._len]=null,this._valid[this._len]=!1,this._len++}_deleteLines(u,x){x!==0&&(u+x>this._len&&(x=this._len-u),this._beginState.splice(u,x),this._valid.splice(u,x),this._len-=x)}_insertLines(u,x){if(x===0)return;const U=[],be=[];for(let Me=0;Me<x;Me++)U[Me]=null,be[Me]=!1;this._beginState=ai.Zv(this._beginState,u,U),this._valid=ai.Zv(this._valid,u,be),this._len+=x}_setValid(u,x){this._ensureLine(u),this._valid[u]=x}_setBeginState(u,x){this._ensureLine(u),this._beginState[u]=x}setEndState(u,x,U){if(this._setValid(x,!0),this._invalidLineStartIndex=x+1,x===u-1)return;const be=this.getBeginState(x+1);if(be===null||!U.equals(be)){this._setBeginState(x+1,U),this._invalidateLine(x+1);return}let Me=x+1;for(;Me<u&&this._isValid(Me);)Me++;this._invalidLineStartIndex=Me}setFakeTokens(u){this._setValid(u,!1)}applyEdits(u,x){const U=u.endLineNumber-u.startLineNumber,Me=Math.min(U,x);for(let Ue=Me;Ue>=0;Ue--)this._invalidateLine(u.startLineNumber+Ue-1);this._acceptDeleteRange(u),this._acceptInsertText(new I.L(u.startLineNumber,u.startColumn),x)}_acceptDeleteRange(u){u.startLineNumber-1>=this._len||this._deleteLines(u.startLineNumber,u.endLineNumber-u.startLineNumber)}_acceptInsertText(u,x){u.lineNumber-1>=this._len||this._insertLines(u.lineNumber,x)}}class $e extends O.JT{constructor(u,x){super(),this._textModel=u,this._languageIdCodec=x,this._isDisposed=!1,this._tokenizationStateStore=new Qe,this._tokenizationSupport=null,this._register(Gt.RW.onDidChange(U=>{const be=this._textModel.getLanguageId();U.changedLanguages.indexOf(be)!==-1&&(this._resetTokenizationState(),this._textModel.clearTokens())})),this._register(this._textModel.onDidChangeContentFast(U=>{if(U.isFlush){this._resetTokenizationState();return}for(let be=0,Me=U.changes.length;be<Me;be++){const Ue=U.changes[be],[_t]=(0,oi.QZ)(Ue.text);this._tokenizationStateStore.applyEdits(Ue.range,_t)}this._beginBackgroundTokenization()})),this._register(this._textModel.onDidChangeAttached(()=>{this._beginBackgroundTokenization()})),this._register(this._textModel.onDidChangeLanguage(()=>{this._resetTokenizationState(),this._textModel.clearTokens()})),this._resetTokenizationState()}dispose(){this._isDisposed=!0,super.dispose()}_resetTokenizationState(){const[u,x]=Ie(this._textModel);this._tokenizationSupport=u,this._tokenizationStateStore.flush(x),this._beginBackgroundTokenization()}_beginBackgroundTokenization(){this._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&ht.xS(()=>{this._isDisposed||this._revalidateTokensNow()})}_revalidateTokensNow(){const u=this._textModel.getLineCount(),x=1,U=new oi.DA,be=gt.G.create(!1);let Me=-1;for(;this._hasLinesToTokenize()&&!(be.elapsed()>x||(Me=this._tokenizeOneInvalidLine(U),Me>=u)););this._beginBackgroundTokenization(),this._textModel.setTokens(U.tokens,!this._hasLinesToTokenize())}tokenizeViewport(u,x){const U=new oi.DA;this._tokenizeViewport(U,u,x),this._textModel.setTokens(U.tokens,!this._hasLinesToTokenize())}reset(){this._resetTokenizationState(),this._textModel.clearTokens()}forceTokenization(u){const x=new oi.DA;this._updateTokensUntilLine(x,u),this._textModel.setTokens(x.tokens,!this._hasLinesToTokenize())}isCheapToTokenize(u){if(!this._tokenizationSupport)return!0;const x=this._tokenizationStateStore.invalidLineStartIndex+1;return u>x?!1:u<x||this._textModel.getLineLength(u)<2048}_hasLinesToTokenize(){return this._tokenizationSupport?this._tokenizationStateStore.invalidLineStartIndex<this._textModel.getLineCount():!1}_tokenizeOneInvalidLine(u){if(!this._hasLinesToTokenize())return this._textModel.getLineCount()+1;const x=this._tokenizationStateStore.invalidLineStartIndex+1;return this._updateTokensUntilLine(u,x),x}_updateTokensUntilLine(u,x){if(!this._tokenizationSupport)return;const U=this._textModel.getLanguageId(),be=this._textModel.getLineCount(),Me=x-1;for(let Ue=this._tokenizationStateStore.invalidLineStartIndex;Ue<=Me;Ue++){const _t=this._textModel.getLineContent(Ue+1),yt=this._tokenizationStateStore.getBeginState(Ue),kt=Oe(this._languageIdCodec,U,this._tokenizationSupport,_t,!0,yt);u.add(Ue+1,kt.tokens),this._tokenizationStateStore.setEndState(be,Ue,kt.endState),Ue=this._tokenizationStateStore.invalidLineStartIndex-1}}_tokenizeViewport(u,x,U){if(!this._tokenizationSupport||U<=this._tokenizationStateStore.invalidLineStartIndex)return;if(x<=this._tokenizationStateStore.invalidLineStartIndex){this._updateTokensUntilLine(u,U);return}let be=this._textModel.getLineFirstNonWhitespaceColumn(x);const Me=[];let Ue=null;for(let kt=x-1;be>1&&kt>=1;kt--){const At=this._textModel.getLineFirstNonWhitespaceColumn(kt);if(At!==0&&At<be){if(Ue=this._tokenizationStateStore.getBeginState(kt-1),Ue)break;Me.push(this._textModel.getLineContent(kt)),be=At}}Ue||(Ue=this._tokenizationSupport.getInitialState());const _t=this._textModel.getLanguageId();let yt=Ue;for(let kt=Me.length-1;kt>=0;kt--)yt=Oe(this._languageIdCodec,_t,this._tokenizationSupport,Me[kt],!1,yt).endState;for(let kt=x;kt<=U;kt++){const At=this._textModel.getLineContent(kt),zt=Oe(this._languageIdCodec,_t,this._tokenizationSupport,At,!0,yt);u.add(kt,zt.tokens),this._tokenizationStateStore.setFakeTokens(kt-1),yt=zt.endState}}}function Ie(at){const u=at.getLanguageId();let x=at.isTooLargeForTokenization()?null:Gt.RW.get(u),U=null;if(x)try{U=x.getInitialState()}catch(be){(0,h.dL)(be),x=null}return[x,U]}function Oe(at,u,x,U,be,Me){let Ue=null;if(x)try{Ue=x.tokenize2(U,be,Me.clone(),0)}catch(_t){(0,h.dL)(_t)}return Ue||(Ue=(0,st.mh)(at.encodeLanguageId(u),U,Me,0)),Pt.A.convertToEndOffset(Ue.tokens,U.length),Ue}var Ke=i(87131),ct=i(73468),Nt=i(39510),$t=i(38232),Xt=i(51737),Ci=i(1085);class Zt{constructor(u,x,U){this.range=u,this.nestingLevel=x,this.isInvalid=U}}class mi{constructor(u,x,U,be){this.range=u,this.openingBracketRange=x,this.closingBracketRange=U,this.nestingLevel=be}}class mt extends mi{constructor(u,x,U,be,Me){super(u,x,U,be),this.minVisibleColumnIndentation=Me}}class ut{constructor(u,x){this.lineCount=u,this.columnCount=x}toString(){return`${this.lineCount},${this.columnCount}`}}function qe(at,u,x,U){return at!==x?_e(x-at,U):_e(0,U-u)}const de=0;function Se(at){return at===0}const Y=Math.pow(2,26);function _e(at,u){return at*Y+u}function ke(at){const u=at,x=Math.floor(u/Y),U=u-x*Y;return new ut(x,U)}function lt(at){return Math.floor(at/Y)}function nt(at){return at}function pt(at,u){return u<Y?at+u:at-at%Y+u}function Dt(at,u){const x=at,U=u;if(U-x<=0)return de;const Me=Math.floor(x/Y),Ue=Math.floor(U/Y),_t=U-Ue*Y;if(Me===Ue){const yt=x-Me*Y;return _e(0,_t-yt)}else return _e(Ue-Me,_t)}function Vt(at,u){return at<u}function Mt(at,u){return at<=u}function Jt(at,u){return at>=u}function jt(at){return _e(at.lineNumber-1,at.column-1)}function ui(at,u){const x=at,U=Math.floor(x/Y),be=x-U*Y,Me=u,Ue=Math.floor(Me/Y),_t=Me-Ue*Y;return new y.e(U+1,be+1,Ue+1,_t+1)}function vi(at){const u=(0,P.uq)(at);return _e(u.length-1,u[u.length-1].length)}function Si(at){return at}class Oi{constructor(u,x,U){this.startOffset=u,this.endOffset=x,this.newLength=U}}class Ri{constructor(u,x){this.documentLength=x,this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=u.map(U=>zi.from(U))}getOffsetBeforeChange(u){return this.adjustNextEdit(u),this.translateCurToOld(u)}getDistanceToNextChange(u){this.adjustNextEdit(u);const x=this.edits[this.nextEditIdx],U=x?this.translateOldToCur(x.offsetObj):this.documentLength;return Dt(u,U)}translateOldToCur(u){return u.lineCount===this.deltaLineIdxInOld?_e(u.lineCount+this.deltaOldToNewLineCount,u.columnCount+this.deltaOldToNewColumnCount):_e(u.lineCount+this.deltaOldToNewLineCount,u.columnCount)}translateCurToOld(u){const x=ke(u);return x.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?_e(x.lineCount-this.deltaOldToNewLineCount,x.columnCount-this.deltaOldToNewColumnCount):_e(x.lineCount-this.deltaOldToNewLineCount,x.columnCount)}adjustNextEdit(u){for(;this.nextEditIdx<this.edits.length;){const x=this.edits[this.nextEditIdx],U=this.translateOldToCur(x.endOffsetAfterObj);if(Mt(U,u)){this.nextEditIdx++;const be=ke(U),Me=ke(this.translateOldToCur(x.endOffsetBeforeObj)),Ue=be.lineCount-Me.lineCount;this.deltaOldToNewLineCount+=Ue;const _t=this.deltaLineIdxInOld===x.endOffsetBeforeObj.lineCount?this.deltaOldToNewColumnCount:0,yt=be.columnCount-Me.columnCount;this.deltaOldToNewColumnCount=_t+yt,this.deltaLineIdxInOld=x.endOffsetBeforeObj.lineCount}else break}}}class zi{constructor(u,x,U){this.endOffsetBeforeObj=ke(x),this.endOffsetAfterObj=ke(pt(u,U)),this.offsetObj=ke(u)}static from(u){return new zi(u.startOffset,u.endOffset,u.newLength)}}var hn=i(46446);const bn=new Array;class qi{constructor(u,x){this.items=u,this.additionalItems=x}static create(u,x){if(u<=128&&x.length===0){let U=qi.cache[u];return U||(U=new qi(u,x),qi.cache[u]=U),U}return new qi(u,x)}static getEmpty(){return this.empty}add(u,x){const U=x.getKey(u);let be=U>>5;if(be===0){const Ue=1<<U|this.items;return Ue===this.items?this:qi.create(Ue,this.additionalItems)}be--;const Me=this.additionalItems.slice(0);for(;Me.length<be;)Me.push(0);return Me[be]|=1<<(U&31),qi.create(this.items,Me)}merge(u){const x=this.items|u.items;if(this.additionalItems===bn&&u.additionalItems===bn)return x===this.items?this:x===u.items?u:qi.create(x,bn);const U=new Array;for(let be=0;be<Math.max(this.additionalItems.length,u.additionalItems.length);be++){const Me=this.additionalItems[be]||0,Ue=u.additionalItems[be]||0;U.push(Me|Ue)}return qi.create(x,U)}intersects(u){if(this.items&u.items)return!0;for(let x=0;x<Math.min(this.additionalItems.length,u.additionalItems.length);x++)if(this.additionalItems[x]&u.additionalItems[x])return!0;return!1}}qi.cache=new Array(129),qi.empty=qi.create(0,bn);const Rn={getKey(at){return at}};class yn{constructor(){this.items=new Map}getKey(u){let x=this.items.get(u);return x===void 0&&(x=this.items.size,this.items.set(u,x)),x}}class nn{constructor(u){this._length=u}get length(){return this._length}}class kn extends nn{constructor(u,x,U,be,Me){super(u),this.openingBracket=x,this.child=U,this.closingBracket=be,this.missingOpeningBracketIds=Me}static create(u,x,U){let be=u.length;return x&&(be=pt(be,x.length)),U&&(be=pt(be,U.length)),new kn(be,u,x,U,x?x.missingOpeningBracketIds:qi.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(u){switch(u){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const u=new Array;return u.push(this.openingBracket),this.child&&u.push(this.child),this.closingBracket&&u.push(this.closingBracket),u}canBeReused(u){return!(this.closingBracket===null||u.intersects(this.missingOpeningBracketIds))}deepClone(){return new kn(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(u,x){return this.child?this.child.computeMinIndentation(pt(u,this.openingBracket.length),x):Number.MAX_SAFE_INTEGER}}class Dn extends nn{constructor(u,x,U){super(u),this.listHeight=x,this._missingOpeningBracketIds=U,this.cachedMinIndentation=-1}static create23(u,x,U,be=!1){let Me=u.length,Ue=u.missingOpeningBracketIds;if(u.listHeight!==x.listHeight)throw new Error("Invalid list heights");if(Me=pt(Me,x.length),Ue=Ue.merge(x.missingOpeningBracketIds),U){if(u.listHeight!==U.listHeight)throw new Error("Invalid list heights");Me=pt(Me,U.length),Ue=Ue.merge(U.missingOpeningBracketIds)}return be?new Jn(Me,u.listHeight+1,u,x,U,Ue):new En(Me,u.listHeight+1,u,x,U,Ue)}static getEmpty(){return new $n(de,0,[],qi.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const u=this.childrenLength;if(u===0)return;const x=this.getChild(u-1),U=x.kind===4?x.toMutable():x;return x!==U&&this.setChild(u-1,U),U}makeFirstElementMutable(){if(this.throwIfImmutable(),this.childrenLength===0)return;const x=this.getChild(0),U=x.kind===4?x.toMutable():x;return x!==U&&this.setChild(0,U),U}canBeReused(u){if(u.intersects(this.missingOpeningBracketIds))return!1;let x=this,U;for(;x.kind===4&&(U=x.childrenLength)>0;)x=x.getChild(U-1);return x.canBeReused(u)}handleChildrenChanged(){this.throwIfImmutable();const u=this.childrenLength;let x=this.getChild(0).length,U=this.getChild(0).missingOpeningBracketIds;for(let be=1;be<u;be++){const Me=this.getChild(be);x=pt(x,Me.length),U=U.merge(Me.missingOpeningBracketIds)}this._length=x,this._missingOpeningBracketIds=U,this.cachedMinIndentation=-1}computeMinIndentation(u,x){if(this.cachedMinIndentation!==-1)return this.cachedMinIndentation;let U=Number.MAX_SAFE_INTEGER,be=u;for(let Me=0;Me<this.childrenLength;Me++){const Ue=this.getChild(Me);Ue&&(U=Math.min(U,Ue.computeMinIndentation(be,x)),be=pt(be,Ue.length))}return this.cachedMinIndentation=U,U}}class En extends Dn{constructor(u,x,U,be,Me,Ue){super(u,x,Ue),this._item1=U,this._item2=be,this._item3=Me}get childrenLength(){return this._item3!==null?3:2}getChild(u){switch(u){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw new Error("Invalid child index")}setChild(u,x){switch(u){case 0:this._item1=x;return;case 1:this._item2=x;return;case 2:this._item3=x;return}throw new Error("Invalid child index")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}deepClone(){return new En(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(u){if(this._item3)throw new Error("Cannot append to a full (2,3) tree node");this.throwIfImmutable(),this._item3=u,this.handleChildrenChanged()}unappendChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const u=this._item3;return this._item3=null,this.handleChildrenChanged(),u}prependChildOfSameHeight(u){if(this._item3)throw new Error("Cannot prepend to a full (2,3) tree node");this.throwIfImmutable(),this._item3=this._item2,this._item2=this._item1,this._item1=u,this.handleChildrenChanged()}unprependChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const u=this._item1;return this._item1=this._item2,this._item2=this._item3,this._item3=null,this.handleChildrenChanged(),u}toMutable(){return this}}class Jn extends En{toMutable(){return new En(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}class ln extends Dn{constructor(u,x,U,be){super(u,x,be),this._children=U}get childrenLength(){return this._children.length}getChild(u){return this._children[u]}setChild(u,x){this._children[u]=x}get children(){return this._children}deepClone(){const u=new Array(this._children.length);for(let x=0;x<this._children.length;x++)u[x]=this._children[x].deepClone();return new ln(this.length,this.listHeight,u,this.missingOpeningBracketIds)}appendChildOfSameHeight(u){this.throwIfImmutable(),this._children.push(u),this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();const u=this._children.pop();return this.handleChildrenChanged(),u}prependChildOfSameHeight(u){this.throwIfImmutable(),this._children.unshift(u),this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();const u=this._children.shift();return this.handleChildrenChanged(),u}toMutable(){return this}}class $n extends ln{toMutable(){return new ln(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}const Gn=[];class ss extends nn{get listHeight(){return 0}get childrenLength(){return 0}getChild(u){return null}get children(){return Gn}deepClone(){return this}}class pn extends ss{get kind(){return 0}get missingOpeningBracketIds(){return qi.getEmpty()}canBeReused(u){return!0}computeMinIndentation(u,x){const U=ke(u),be=(U.columnCount===0?U.lineCount:U.lineCount+1)+1,Me=lt(pt(u,this.length))+1;let Ue=Number.MAX_SAFE_INTEGER;for(let _t=be;_t<=Me;_t++){const yt=x.getLineFirstNonWhitespaceColumn(_t),kt=x.getLineContent(_t);if(yt===0)continue;const At=hn.i.visibleColumnFromColumn(kt,yt,x.getOptions().tabSize);Ue=Math.min(Ue,At)}return Ue}}class Yn extends ss{constructor(u){super(u)}static create(u){const x=u,U=Yn.cacheByLength.get(x);if(U)return U;const be=new Yn(u);return Yn.cacheByLength.set(x,be),be}get kind(){return 1}get missingOpeningBracketIds(){return qi.getEmpty()}canBeReused(u){return!1}computeMinIndentation(u,x){return Number.MAX_SAFE_INTEGER}}Yn.cacheByLength=new Map;class Vn extends ss{constructor(u,x){super(x),this.missingOpeningBracketIds=u}get kind(){return 3}canBeReused(u){return!u.intersects(this.missingOpeningBracketIds)}computeMinIndentation(u,x){return Number.MAX_SAFE_INTEGER}}class An{constructor(u,x,U,be,Me){this.length=u,this.kind=x,this.bracketId=U,this.bracketIds=be,this.astNode=Me}}class On{constructor(u,x){this.textModel=u,this.bracketTokens=x,this.reader=new ts(this.textModel,this.bracketTokens),this._offset=de,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=u.getLineCount(),this.textBufferLastLineLength=u.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return _e(this.textBufferLineCount,this.textBufferLastLineLength)}skip(u){this.didPeek=!1,this._offset=pt(this._offset,u);const x=ke(this._offset);this.reader.setPosition(x.lineCount,x.columnCount)}read(){let u;return this.peeked?(this.didPeek=!1,u=this.peeked):u=this.reader.read(),u&&(this._offset=pt(this._offset,u.length)),u}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class ts{constructor(u,x){this.textModel=u,this.bracketTokens=x,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=u.getLineCount(),this.textBufferLastLineLength=u.getLineLength(this.textBufferLineCount)}setPosition(u,x){u===this.lineIdx?(this.lineCharOffset=x,this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset)):(this.lineIdx=u,this.lineCharOffset=x,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const Me=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=Me.length,Me}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;this.line===null&&(this.lineTokens=this.textModel.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const u=this.lineIdx,x=this.lineCharOffset;let U=0;for(;;){const Me=this.lineTokens,Ue=Me.getCount();let _t=null;if(this.lineTokenOffset<Ue){const yt=Me.getMetadata(this.lineTokenOffset);for(;this.lineTokenOffset+1<Ue&&yt===Me.getMetadata(this.lineTokenOffset+1);)this.lineTokenOffset++;const kt=Gt.NX.getTokenType(yt)===0,At=Me.getEndOffset(this.lineTokenOffset);if(kt&&At!==this.lineCharOffset){const zt=Me.getLanguageId(this.lineTokenOffset),Qt=this.line.substring(this.lineCharOffset,At),si=this.bracketTokens.getSingleLanguageBracketTokens(zt),ci=si.regExpGlobal;if(ci){ci.lastIndex=0;const wi=ci.exec(Qt);wi&&(_t=si.getToken(wi[0]),_t&&(this.lineCharOffset+=wi.index))}}if(U+=At-this.lineCharOffset,_t)if(u!==this.lineIdx||x!==this.lineCharOffset){this.peekedToken=_t;break}else return this.lineCharOffset+=_t.length,_t;else this.lineTokenOffset++,this.lineCharOffset=At}else if(this.lineIdx===this.textBufferLineCount-1||(this.lineIdx++,this.lineTokens=this.textModel.getLineTokens(this.lineIdx+1),this.lineTokenOffset=0,this.line=this.lineTokens.getLineContent(),this.lineCharOffset=0,U+=33,U>1e3))break;if(U>1500)break}const be=qe(u,x,this.lineIdx,this.lineCharOffset);return new An(be,0,-1,qi.getEmpty(),new pn(be))}}class Un{constructor(u,x){this.text=u,this._offset=de,this.idx=0;const be=x.getRegExpStr()?new RegExp(x.getRegExpStr()+`|
`,"g"):null,Me=[];let Ue,_t=0,yt=0,kt=0,At=0;const zt=new Array;for(let ci=0;ci<60;ci++)zt.push(new An(_e(0,ci),0,-1,qi.getEmpty(),new pn(_e(0,ci))));const Qt=new Array;for(let ci=0;ci<60;ci++)Qt.push(new An(_e(1,ci),0,-1,qi.getEmpty(),new pn(_e(1,ci))));if(be)for(be.lastIndex=0;(Ue=be.exec(u))!==null;){const ci=Ue.index,wi=Ue[0];if(wi===`
`)_t++,yt=ci+1;else{if(kt!==ci){let yi;if(At===_t){const Ii=ci-kt;if(Ii<zt.length)yi=zt[Ii];else{const Ui=_e(0,Ii);yi=new An(Ui,0,-1,qi.getEmpty(),new pn(Ui))}}else{const Ii=_t-At,Ui=ci-yt;if(Ii===1&&Ui<Qt.length)yi=Qt[Ui];else{const Ji=_e(Ii,Ui);yi=new An(Ji,0,-1,qi.getEmpty(),new pn(Ji))}}Me.push(yi)}Me.push(x.getToken(wi)),kt=ci+wi.length,At=_t}}const si=u.length;if(kt!==si){const ci=At===_t?_e(0,si-kt):_e(_t-At,si-yt);Me.push(new An(ci,0,-1,qi.getEmpty(),new pn(ci)))}this.length=_e(_t,si-yt),this.tokens=Me}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(u){throw new h.B8}}class sn{constructor(u){this.map=u,this.hasRegExp=!1,this._regExpGlobal=null}static createFromLanguage(u,x){function U(yt,kt){return x.getKey(`${yt}:::${kt}`)}const be=u.characterPair.getColorizedBrackets(),Me=new Map,Ue=new Set;for(const[yt,kt]of be){Ue.add(yt);let At=Me.get(kt);const zt=U(u.languageId,yt);At||(At={openingBrackets:qi.getEmpty(),first:zt},Me.set(kt,At)),At.openingBrackets=At.openingBrackets.add(zt,Rn)}const _t=new Map;for(const[yt,kt]of Me){const At=_e(0,yt.length);_t.set(yt,new An(At,2,kt.first,kt.openingBrackets,Yn.create(At)))}for(const yt of Ue){const kt=_e(0,yt.length),At=U(u.languageId,yt);_t.set(yt,new An(kt,1,At,qi.getEmpty().add(At,Rn),Yn.create(kt)))}return new sn(_t)}getRegExpStr(){if(this.isEmpty)return null;{const u=[...this.map.keys()];return u.sort(),u.reverse(),u.map(x=>Lt(x)).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const u=this.getRegExpStr();this._regExpGlobal=u?new RegExp(u,"g"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(u){return this.map.get(u)}get isEmpty(){return this.map.size===0}}function Lt(at){const u=(0,P.ec)(at);return/^[\w ]+$/.test(at)?`\\b${u}\\b`:u}class F{constructor(u,x){this.denseKeyProvider=u,this.getLanguageConfiguration=x,this.languageIdToBracketTokens=new Map}didLanguageChange(u){const x=this.languageIdToBracketTokens.get(u);if(!x)return!1;const U=sn.createFromLanguage(this.getLanguageConfiguration(u),this.denseKeyProvider).getRegExpStr();return x.getRegExpStr()!==U}getSingleLanguageBracketTokens(u){let x=this.languageIdToBracketTokens.get(u);return x||(x=sn.createFromLanguage(this.getLanguageConfiguration(u),this.denseKeyProvider),this.languageIdToBracketTokens.set(u,x)),x}}function pe(at){if(at.length===0)return null;if(at.length===1)return at[0];let u=0;function x(){if(u>=at.length)return null;const Ue=u,_t=at[Ue].listHeight;for(u++;u<at.length&&at[u].listHeight===_t;)u++;return u-Ue>=2?Ne(Ue===0&&u===at.length?at:at.slice(Ue,u),!1):at[Ue]}let U=x(),be=x();if(!be)return U;for(let Ue=x();Ue;Ue=x())je(U,be)<=je(be,Ue)?(U=Je(U,be),be=Ue):be=Je(be,Ue);return Je(U,be)}function Ne(at,u=!1){if(at.length===0)return null;if(at.length===1)return at[0];let x=at.length;for(;x>3;){const U=x>>1;for(let be=0;be<U;be++){const Me=be<<1;at[be]=Dn.create23(at[Me],at[Me+1],Me+3===x?at[Me+2]:null,u)}x=U}return Dn.create23(at[0],at[1],x>=3?at[2]:null,u)}function je(at,u){return Math.abs(at.listHeight-u.listHeight)}function Je(at,u){return at.listHeight===u.listHeight?Dn.create23(at,u,null,!1):at.listHeight>u.listHeight?St(at,u):Rt(u,at)}function St(at,u){at=at.toMutable();let x=at;const U=new Array;let be;for(;;){if(u.listHeight===x.listHeight){be=u;break}if(x.kind!==4)throw new Error("unexpected");U.push(x),x=x.makeLastElementMutable()}for(let Me=U.length-1;Me>=0;Me--){const Ue=U[Me];be?Ue.childrenLength>=3?be=Dn.create23(Ue.unappendChild(),be,null,!1):(Ue.appendChildOfSameHeight(be),be=void 0):Ue.handleChildrenChanged()}return be?Dn.create23(at,be,null,!1):at}function Rt(at,u){at=at.toMutable();let x=at;const U=new Array;for(;u.listHeight!==x.listHeight;){if(x.kind!==4)throw new Error("unexpected");U.push(x),x=x.makeFirstElementMutable()}let be=u;for(let Me=U.length-1;Me>=0;Me--){const Ue=U[Me];be?Ue.childrenLength>=3?be=Dn.create23(be,Ue.unprependChild(),null,!1):(Ue.prependChildOfSameHeight(be),be=void 0):Ue.handleChildrenChanged()}return be?Dn.create23(be,at,null,!1):at}class ti{constructor(u){this.lastOffset=de,this.nextNodes=[u],this.offsets=[de],this.idxs=[]}readLongestNodeAt(u,x){if(Vt(u,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=u;;){const U=ii(this.nextNodes);if(!U)return;const be=ii(this.offsets);if(Vt(u,be))return;if(Vt(be,u))if(pt(be,U.length)<=u)this.nextNodeAfterCurrent();else{const Me=fi(U);Me!==-1?(this.nextNodes.push(U.getChild(Me)),this.offsets.push(be),this.idxs.push(Me)):this.nextNodeAfterCurrent()}else{if(x(U))return this.nextNodeAfterCurrent(),U;{const Me=fi(U);if(Me===-1){this.nextNodeAfterCurrent();return}else this.nextNodes.push(U.getChild(Me)),this.offsets.push(be),this.idxs.push(Me)}}}}nextNodeAfterCurrent(){for(;;){const u=ii(this.offsets),x=ii(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),this.idxs.length===0)break;const U=ii(this.nextNodes),be=fi(U,this.idxs[this.idxs.length-1]);if(be!==-1){this.nextNodes.push(U.getChild(be)),this.offsets.push(pt(u,x.length)),this.idxs[this.idxs.length-1]=be;break}else this.idxs.pop()}}}function fi(at,u=-1){for(;;){if(u++,u>=at.childrenLength)return-1;if(at.getChild(u))return u}}function ii(at){return at.length>0?at[at.length-1]:void 0}function Ct(at,u,x,U){return new k(at,u,x,U).parseDocument()}class k{constructor(u,x,U,be){if(this.tokenizer=u,this.createImmutableLists=be,this._itemsConstructed=0,this._itemsFromCache=0,U&&be)throw new Error("Not supported");this.oldNodeReader=U?new ti(U):void 0,this.positionMapper=new Ri(x,u.length)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let u=this.parseList(qi.getEmpty());return u||(u=Dn.getEmpty()),u}parseList(u){const x=new Array;for(;;){const be=this.tokenizer.peek();if(!be||be.kind===2&&be.bracketIds.intersects(u))break;const Me=this.parseChild(u);Me.kind===4&&Me.childrenLength===0||x.push(Me)}return this.oldNodeReader?pe(x):Ne(x,this.createImmutableLists)}parseChild(u){if(this.oldNodeReader){const U=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(!Se(U)){const be=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),Me=>Vt(Me.length,U)?Me.canBeReused(u):!1);if(be)return this._itemsFromCache++,this.tokenizer.skip(be.length),be}}this._itemsConstructed++;const x=this.tokenizer.read();switch(x.kind){case 2:return new Vn(x.bracketIds,x.length);case 0:return x.astNode;case 1:const U=u.merge(x.bracketIds),be=this.parseList(U),Me=this.tokenizer.peek();return Me&&Me.kind===2&&(Me.bracketId===x.bracketId||Me.bracketIds.intersects(x.bracketIds))?(this.tokenizer.read(),kn.create(x.astNode,be,Me.astNode)):kn.create(x.astNode,be,null);default:throw new Error("unexpected")}}}class Ce extends O.JT{constructor(u,x){super(),this.textModel=u,this.languageConfigurationService=x,this.cache=this._register(new O.XK),this.onDidChangeEmitter=new H.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1,this._register(u.onDidChangeOptions(U=>{this.cache.clear(),this.updateCache()})),this._register(u.onDidChangeLanguage(U=>{this.cache.clear(),this.updateCache()})),this._register(this.languageConfigurationService.onDidChange(U=>{var be;(!U.languageId||!((be=this.cache.value)===null||be===void 0)&&be.object.didLanguageChange(U.languageId))&&(this.cache.clear(),this.updateCache())}))}get isDocumentSupported(){return this.textModel.getValueLength()<=5e6}updateCache(){if(this.bracketsRequested&&this.isDocumentSupported){if(!this.cache.value){const u=new O.SL;this.cache.value=Be(u.add(new ot(this.textModel,x=>this.languageConfigurationService.getLanguageConfiguration(x))),u),u.add(this.cache.value.object.onDidChange(x=>this.onDidChangeEmitter.fire(x))),this.onDidChangeEmitter.fire()}}else this.cache.clear(),this.onDidChangeEmitter.fire()}handleContentChanged(u){var x;(x=this.cache.value)===null||x===void 0||x.object.handleContentChanged(u)}getBracketPairsInRange(u){var x;return this.bracketsRequested=!0,this.updateCache(),((x=this.cache.value)===null||x===void 0?void 0:x.object.getBracketPairsInRange(u,!1))||[]}getBracketPairsInRangeWithMinIndentation(u){var x;return this.bracketsRequested=!0,this.updateCache(),((x=this.cache.value)===null||x===void 0?void 0:x.object.getBracketPairsInRange(u,!0))||[]}getBracketsInRange(u){var x;return this.bracketsRequested=!0,this.updateCache(),((x=this.cache.value)===null||x===void 0?void 0:x.object.getBracketsInRange(u))||[]}}function Be(at,u){return{object:at,dispose:()=>u==null?void 0:u.dispose()}}class ot extends O.JT{constructor(u,x){if(super(),this.textModel=u,this.getLanguageConfiguration=x,this.didChangeEmitter=new H.Q5,this.denseKeyProvider=new yn,this.brackets=new F(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this._register(u.onBackgroundTokenizationStateChanged(()=>{if(u.backgroundTokenizationState===2){const U=this.initialAstWithoutTokens===void 0;this.initialAstWithoutTokens=void 0,U||this.didChangeEmitter.fire()}})),this._register(u.onDidChangeTokens(({ranges:U})=>{const be=U.map(Me=>new Oi(_e(Me.fromLineNumber-1,0),_e(Me.toLineNumber,0),_e(Me.toLineNumber-Me.fromLineNumber+1,0)));this.astWithTokens=this.parseDocumentFromTextBuffer(be,this.astWithTokens,!1),this.initialAstWithoutTokens||this.didChangeEmitter.fire()})),u.backgroundTokenizationState===0){const U=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),be=new Un(this.textModel.getValue(),U);this.initialAstWithoutTokens=Ct(be,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}else u.backgroundTokenizationState===2?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):u.backgroundTokenizationState===1&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens)}didLanguageChange(u){return this.brackets.didLanguageChange(u)}handleContentChanged(u){const x=u.changes.map(U=>{const be=y.e.lift(U.range);return new Oi(jt(be.getStartPosition()),jt(be.getEndPosition()),vi(U.text))}).reverse();this.astWithTokens=this.parseDocumentFromTextBuffer(x,this.astWithTokens,!1),this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(x,this.initialAstWithoutTokens,!1))}parseDocumentFromTextBuffer(u,x,U){const Me=x,Ue=new On(this.textModel,this.brackets);return Ct(Ue,u,Me,U)}getBracketsInRange(u){const x=_e(u.startLineNumber-1,u.startColumn-1),U=_e(u.endLineNumber-1,u.endColumn-1),be=new Array,Me=this.initialAstWithoutTokens||this.astWithTokens;return wt(Me,de,Me.length,x,U,be),be}getBracketPairsInRange(u,x){const U=new Array,be=jt(u.getStartPosition()),Me=jt(u.getEndPosition()),Ue=this.initialAstWithoutTokens||this.astWithTokens,_t=new Ut(U,x,this.textModel);return Yt(Ue,de,Ue.length,be,Me,_t),U}}function wt(at,u,x,U,be,Me,Ue=0){if(at.kind===1){const _t=ui(u,x);Me.push(new Zt(_t,Ue-1,!1))}else if(at.kind===3){const _t=ui(u,x);Me.push(new Zt(_t,Ue-1,!0))}else if(at.kind===4)for(const _t of at.children)x=pt(u,_t.length),Mt(u,be)&&Jt(x,U)&&wt(_t,u,x,U,be,Me,Ue),u=x;else if(at.kind===2){Ue++;{const _t=at.openingBracket;x=pt(u,_t.length),Mt(u,be)&&Jt(x,U)&&wt(_t,u,x,U,be,Me,Ue),u=x}if(at.child){const _t=at.child;x=pt(u,_t.length),Mt(u,be)&&Jt(x,U)&&wt(_t,u,x,U,be,Me,Ue),u=x}if(at.closingBracket){const _t=at.closingBracket;x=pt(u,_t.length),Mt(u,be)&&Jt(x,U)&&wt(_t,u,x,U,be,Me,Ue),u=x}}}class Ut{constructor(u,x,U){this.result=u,this.includeMinIndentation=x,this.textModel=U}}function Yt(at,u,x,U,be,Me,Ue=0){var _t;if(at.kind===2){const kt=pt(u,at.openingBracket.length);let At=-1;Me.includeMinIndentation&&(At=at.computeMinIndentation(u,Me.textModel)),Me.result.push(new mt(ui(u,x),ui(u,kt),at.closingBracket?ui(pt(kt,((_t=at.child)===null||_t===void 0?void 0:_t.length)||de),x):void 0,Ue,At)),Ue++}let yt=u;for(const kt of at.children){const At=yt;yt=pt(yt,kt.length),Mt(At,be)&&Mt(U,yt)&&Yt(kt,At,yt,U,be,Me,Ue)}}var ei=i(30297),ri=i(49055);class gi extends O.JT{constructor(u){super(),this.textModel=u,this.colorProvider=new Mi,this.onDidChangeEmitter=new H.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=u.getOptions().bracketPairColorizationOptions,this._register(u.onDidChangeOptions(x=>{this.colorizationOptions=u.getOptions().bracketPairColorizationOptions})),this._register(u.bracketPairs.onDidChange(x=>{this.onDidChangeEmitter.fire()}))}getDecorationsInRange(u,x,U){if(x===void 0)return[];if(!this.colorizationOptions.enabled)return[];const be=new Array,Me=this.textModel.bracketPairs.getBracketsInRange(u);for(const Ue of Me)be.push({id:`bracket${Ue.range.toString()}-${Ue.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(Ue)},ownerId:0,range:Ue.range});return be}getAllDecorations(u,x){return u===void 0?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new y.e(1,1,this.textModel.getLineCount(),1),u,x):[]}}class Mi{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(u){return u.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(u.nestingLevel)}getInlineClassNameOfLevel(u){return`bracket-highlighting-${u%30}`}}(0,ri.Ic)((at,u)=>{const x=[ei.zJ,ei.Vs,ei.CE,ei.UP,ei.r0,ei.m1],U=new Mi;u.addRule(`.monaco-editor .${U.unexpectedClosingBracketClassName} { color: ${at.getColor(ei.ts)}; }`);let be=x.map(Me=>at.getColor(Me)).filter(Me=>!!Me).filter(Me=>!Me.isTransparent());for(let Me=0;Me<30;Me++){const Ue=be[Me%be.length];u.addRule(`.monaco-editor .${U.getInlineClassNameOfLevel(Me)} { color: ${Ue}; }`)}});var Ei=i(64992),xi=function(at,u,x,U){var be=arguments.length,Me=be<3?u:U===null?U=Object.getOwnPropertyDescriptor(u,x):U,Ue;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Me=Reflect.decorate(at,u,x,U);else for(var _t=at.length-1;_t>=0;_t--)(Ue=at[_t])&&(Me=(be<3?Ue(Me):be>3?Ue(u,x,Me):Ue(u,x))||Me);return be>3&&Me&&Object.defineProperty(u,x,Me),Me},Pi=function(at,u){return function(x,U){u(x,U,at)}};function ki(){return new Ti}function Bi(at){const u=ki();return u.acceptChunk(at),u.finish()}function on(at,u){return(typeof at=="string"?Bi(at):at).create(u)}let zn=0;const hs=999,en=1e4;class mn{constructor(u){this._source=u,this._eos=!1}read(){if(this._eos)return null;let u=[],x=0,U=0;do{let be=this._source.read();if(be===null)return this._eos=!0,x===0?null:u.join("");if(be.length>0&&(u[x++]=be,U+=be.length),U>=64*1024)return u.join("")}while(!0)}}const Pn=()=>{throw new Error("Invalid change accessor")};class Yi{constructor(){this._searchCanceledBrand=void 0}}Yi.INSTANCE=new Yi;function tn(at){return at instanceof Yi?null:at}let Bn=class Hs extends O.JT{constructor(u,x,U,be=null,Me,Ue,_t){super(),this._undoRedoService=Me,this._modeService=Ue,this._languageConfigurationService=_t,this._onWillDispose=this._register(new H.Q5),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new is(Qt=>this.handleBeforeFireDecorationsChangedEvent(Qt))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeLanguage=this._register(new H.Q5),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new H.Q5),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new H.Q5),this.onDidChangeTokens=this._onDidChangeTokens.event,this._onDidChangeOptions=this._register(new H.Q5),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new H.Q5),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeContentOrInjectedText=this._register(new H.Q5),this.onDidChangeContentOrInjectedText=this._onDidChangeContentOrInjectedText.event,this._eventEmitter=this._register(new Tn),this._backgroundTokenizationState=0,this._onBackgroundTokenizationStateChanged=this._register(new H.Q5),this.onBackgroundTokenizationStateChanged=this._onBackgroundTokenizationStateChanged.event,this._register(this._eventEmitter.fastEvent(Qt=>{this._onDidChangeContentOrInjectedText.fire(Qt.rawContentChangedEvent)})),zn++,this.id="$model"+zn,this.isForSimpleWidget=x.isForSimpleWidget,typeof be=="undefined"||be===null?this._associatedResource=D.o.parse("inmemory://model/"+zn):this._associatedResource=be,this._attachedEditorCount=0;const{textBuffer:yt,disposable:kt}=on(u,x.defaultEOL);this._buffer=yt,this._bufferDisposable=kt,this._options=Hs.resolveOptions(this._buffer,x);const At=this._buffer.getLineCount(),zt=this._buffer.getValueLengthInRange(new y.e(1,1,At,this._buffer.getLineLength(At)+1),0);x.largeFileOptimizations?this._isTooLargeForTokenization=zt>Hs.LARGE_FILE_SIZE_THRESHOLD||At>Hs.LARGE_FILE_LINE_COUNT_THRESHOLD:this._isTooLargeForTokenization=!1,this._isTooLargeForSyncing=zt>Hs.MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this._isDisposing=!1,this._languageId=U||st.TG,this._languageRegistryListener=this._languageConfigurationService.onDidChange(Qt=>{Qt.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}),this._instanceId=P.PJ(zn),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new cs,this._commandManager=new a.NL(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._tokens=new oi.Rl(this._modeService.languageIdCodec),this._tokens2=new oi.cx(this._modeService.languageIdCodec),this._tokenization=new $e(this,this._modeService.languageIdCodec),this._bracketPairColorizer=this._register(new Ce(this,this._languageConfigurationService)),this._decorationProvider=this._register(new gi(this)),this._register(this._decorationProvider.onDidChange(()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()}))}static resolveOptions(u,x){if(x.detectIndentation){const U=s(u,x.tabSize,x.insertSpaces);return new p.dJ({tabSize:U.tabSize,indentSize:U.tabSize,insertSpaces:U.insertSpaces,trimAutoWhitespace:x.trimAutoWhitespace,defaultEOL:x.defaultEOL,bracketPairColorizationOptions:x.bracketPairColorizationOptions})}return new p.dJ({tabSize:x.tabSize,indentSize:x.indentSize,insertSpaces:x.insertSpaces,trimAutoWhitespace:x.trimAutoWhitespace,defaultEOL:x.defaultEOL,bracketPairColorizationOptions:x.bracketPairColorizationOptions})}onDidChangeContentFast(u){return this._eventEmitter.fastEvent(x=>u(x.contentChangedEvent))}onDidChangeContent(u){return this._eventEmitter.slowEvent(x=>u(x.contentChangedEvent))}get bracketPairs(){return this._bracketPairColorizer}get backgroundTokenizationState(){return this._backgroundTokenizationState}handleTokenizationProgress(u){if(this._backgroundTokenizationState===2)return;const x=u?2:1;this._backgroundTokenizationState!==x&&(this._backgroundTokenizationState=x,this._onBackgroundTokenizationStateChanged.fire())}dispose(){this._isDisposing=!0,this._onWillDispose.fire(),this._languageRegistryListener.dispose(),this._tokenization.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this._isDisposing=!1;const u=new hi([],"",`
`,!1,!1,!0,!0);u.dispose(),this._buffer=u}_assertNotDisposed(){if(this._isDisposed)throw new Error("Model is disposed!")}_emitContentChangedEvent(u,x){this._bracketPairColorizer.handleContentChanged(x),!this._isDisposing&&this._eventEmitter.fire(new Ni.fV(u,x))}setValue(u){if(this._assertNotDisposed(),u===null)return;const{textBuffer:x,disposable:U}=on(u,this._options.defaultEOL);this._setValueFromTextBuffer(x,U)}_createContentChanged2(u,x,U,be,Me,Ue,_t){return{changes:[{range:u,rangeOffset:x,rangeLength:U,text:be}],eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:Me,isRedoing:Ue,isFlush:_t}}_setValueFromTextBuffer(u,x){this._assertNotDisposed();const U=this.getFullModelRange(),be=this.getValueLengthInRange(U),Me=this.getLineCount(),Ue=this.getLineMaxColumn(Me);this._buffer=u,this._bufferDisposable.dispose(),this._bufferDisposable=x,this._increaseVersionId(),this._tokens.flush(),this._tokens2.flush(),this._decorations=Object.create(null),this._decorationsTree=new cs,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new Ni.dQ([new Ni.Jx],this._versionId,!1,!1),this._createContentChanged2(new y.e(1,1,Me,Ue),0,be,this.getValue(),!1,!1,!0))}setEOL(u){this._assertNotDisposed();const x=u===1?`\r
`:`
`;if(this._buffer.getEOL()===x)return;const U=this.getFullModelRange(),be=this.getValueLengthInRange(U),Me=this.getLineCount(),Ue=this.getLineMaxColumn(Me);this._onBeforeEOLChange(),this._buffer.setEOL(x),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new Ni.dQ([new Ni.CZ],this._versionId,!1,!1),this._createContentChanged2(new y.e(1,1,Me,Ue),0,be,this.getValue(),!1,!1,!1))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const u=this.getVersionId(),x=this._decorationsTree.collectNodesPostOrder();for(let U=0,be=x.length;U<be;U++){const Me=x[U],Ue=Me.range,_t=Me.cachedAbsoluteStart-Me.start,yt=this._buffer.getOffsetAt(Ue.startLineNumber,Ue.startColumn),kt=this._buffer.getOffsetAt(Ue.endLineNumber,Ue.endColumn);Me.cachedAbsoluteStart=yt,Me.cachedAbsoluteEnd=kt,Me.cachedVersionId=u,Me.start=yt-_t,Me.end=kt-_t,Fe(Me)}}onBeforeAttached(){this._attachedEditorCount++,this._attachedEditorCount===1&&this._onDidChangeAttached.fire(void 0)}onBeforeDetached(){this._attachedEditorCount--,this._attachedEditorCount===0&&this._onDidChangeAttached.fire(void 0)}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let u=0,x=0;const U=this._buffer.getLineCount();for(let be=1;be<=U;be++){const Me=this._buffer.getLineLength(be);Me>=en?x+=Me:u+=Me}return x>u}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(u){this._assertNotDisposed();let x=typeof u.tabSize!="undefined"?u.tabSize:this._options.tabSize,U=typeof u.indentSize!="undefined"?u.indentSize:this._options.indentSize,be=typeof u.insertSpaces!="undefined"?u.insertSpaces:this._options.insertSpaces,Me=typeof u.trimAutoWhitespace!="undefined"?u.trimAutoWhitespace:this._options.trimAutoWhitespace,Ue=typeof u.bracketColorizationOptions!="undefined"?u.bracketColorizationOptions:this._options.bracketPairColorizationOptions,_t=new p.dJ({tabSize:x,indentSize:U,insertSpaces:be,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:Me,bracketPairColorizationOptions:Ue});if(this._options.equals(_t))return;let yt=this._options.createChangeEvent(_t);this._options=_t,this._onDidChangeOptions.fire(yt)}detectIndentation(u,x){this._assertNotDisposed();let U=s(this._buffer,x,u);this.updateOptions({insertSpaces:U.insertSpaces,tabSize:U.tabSize,indentSize:U.tabSize})}static _normalizeIndentationFromWhitespace(u,x,U){let be=0;for(let Ue=0;Ue<u.length;Ue++)u.charAt(Ue)===" "?be+=x:be++;let Me="";if(!U){let Ue=Math.floor(be/x);be=be%x;for(let _t=0;_t<Ue;_t++)Me+=" "}for(let Ue=0;Ue<be;Ue++)Me+=" ";return Me}static normalizeIndentation(u,x,U){let be=P.LC(u);return be===-1&&(be=u.length),Hs._normalizeIndentationFromWhitespace(u.substring(0,be),x,U)+u.substring(be)}normalizeIndentation(u){return this._assertNotDisposed(),Hs.normalizeIndentation(u,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(u=null){const x=this.findMatches(P.Qe.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(u,x.map(U=>({range:U.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(u){this._assertNotDisposed();let x=this._validatePosition(u.lineNumber,u.column,0);return this._buffer.getOffsetAt(x.lineNumber,x.column)}getPositionAt(u){this._assertNotDisposed();let x=Math.min(this._buffer.getLength(),Math.max(0,u));return this._buffer.getPositionAt(x)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(u){this._versionId=u}_overwriteAlternativeVersionId(u){this._alternativeVersionId=u}_overwriteInitialUndoRedoSnapshot(u){this._initialUndoRedoSnapshot=u}getValue(u,x=!1){this._assertNotDisposed();const U=this.getFullModelRange(),be=this.getValueInRange(U,u);return x?this._buffer.getBOM()+be:be}createSnapshot(u=!1){return new mn(this._buffer.createSnapshot(u))}getValueLength(u,x=!1){this._assertNotDisposed();const U=this.getFullModelRange(),be=this.getValueLengthInRange(U,u);return x?this._buffer.getBOM().length+be:be}getValueInRange(u,x=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(u),x)}getValueLengthInRange(u,x=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(u),x)}getCharacterCountInRange(u,x=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(u),x)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(u){if(this._assertNotDisposed(),u<1||u>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineContent(u)}getLineLength(u){if(this._assertNotDisposed(),u<1||u>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(u)}getLinesContent(){return this._assertNotDisposed(),this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),this._buffer.getEOL()===`
`?0:1}getLineMinColumn(u){return this._assertNotDisposed(),1}getLineMaxColumn(u){if(this._assertNotDisposed(),u<1||u>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(u)+1}getLineFirstNonWhitespaceColumn(u){if(this._assertNotDisposed(),u<1||u>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(u)}getLineLastNonWhitespaceColumn(u){if(this._assertNotDisposed(),u<1||u>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(u)}_validateRangeRelaxedNoAllocations(u){const x=this._buffer.getLineCount(),U=u.startLineNumber,be=u.startColumn;let Me=Math.floor(typeof U=="number"&&!isNaN(U)?U:1),Ue=Math.floor(typeof be=="number"&&!isNaN(be)?be:1);if(Me<1)Me=1,Ue=1;else if(Me>x)Me=x,Ue=this.getLineMaxColumn(Me);else if(Ue<=1)Ue=1;else{const zt=this.getLineMaxColumn(Me);Ue>=zt&&(Ue=zt)}const _t=u.endLineNumber,yt=u.endColumn;let kt=Math.floor(typeof _t=="number"&&!isNaN(_t)?_t:1),At=Math.floor(typeof yt=="number"&&!isNaN(yt)?yt:1);if(kt<1)kt=1,At=1;else if(kt>x)kt=x,At=this.getLineMaxColumn(kt);else if(At<=1)At=1;else{const zt=this.getLineMaxColumn(kt);At>=zt&&(At=zt)}return U===Me&&be===Ue&&_t===kt&&yt===At&&u instanceof y.e&&!(u instanceof E.Y)?u:new y.e(Me,Ue,kt,At)}_isValidPosition(u,x,U){if(typeof u!="number"||typeof x!="number"||isNaN(u)||isNaN(x)||u<1||x<1||(u|0)!==u||(x|0)!==x)return!1;const be=this._buffer.getLineCount();if(u>be)return!1;if(x===1)return!0;const Me=this.getLineMaxColumn(u);if(x>Me)return!1;if(U===1){const Ue=this._buffer.getLineCharCode(u,x-2);if(P.ZG(Ue))return!1}return!0}_validatePosition(u,x,U){const be=Math.floor(typeof u=="number"&&!isNaN(u)?u:1),Me=Math.floor(typeof x=="number"&&!isNaN(x)?x:1),Ue=this._buffer.getLineCount();if(be<1)return new I.L(1,1);if(be>Ue)return new I.L(Ue,this.getLineMaxColumn(Ue));if(Me<=1)return new I.L(be,1);const _t=this.getLineMaxColumn(be);if(Me>=_t)return new I.L(be,_t);if(U===1){const yt=this._buffer.getLineCharCode(be,Me-2);if(P.ZG(yt))return new I.L(be,Me-1)}return new I.L(be,Me)}validatePosition(u){return this._assertNotDisposed(),u instanceof I.L&&this._isValidPosition(u.lineNumber,u.column,1)?u:this._validatePosition(u.lineNumber,u.column,1)}_isValidRange(u,x){const U=u.startLineNumber,be=u.startColumn,Me=u.endLineNumber,Ue=u.endColumn;if(!this._isValidPosition(U,be,0)||!this._isValidPosition(Me,Ue,0))return!1;if(x===1){const _t=be>1?this._buffer.getLineCharCode(U,be-2):0,yt=Ue>1&&Ue<=this._buffer.getLineLength(Me)?this._buffer.getLineCharCode(Me,Ue-2):0,kt=P.ZG(_t),At=P.ZG(yt);return!kt&&!At}return!0}validateRange(u){if(this._assertNotDisposed(),u instanceof y.e&&!(u instanceof E.Y)&&this._isValidRange(u,1))return u;const U=this._validatePosition(u.startLineNumber,u.startColumn,0),be=this._validatePosition(u.endLineNumber,u.endColumn,0),Me=U.lineNumber,Ue=U.column,_t=be.lineNumber,yt=be.column;{const kt=Ue>1?this._buffer.getLineCharCode(Me,Ue-2):0,At=yt>1&&yt<=this._buffer.getLineLength(_t)?this._buffer.getLineCharCode(_t,yt-2):0,zt=P.ZG(kt),Qt=P.ZG(At);return!zt&&!Qt?new y.e(Me,Ue,_t,yt):Me===_t&&Ue===yt?new y.e(Me,Ue-1,_t,yt-1):zt&&Qt?new y.e(Me,Ue-1,_t,yt+1):zt?new y.e(Me,Ue-1,_t,yt):new y.e(Me,Ue,_t,yt+1)}return new y.e(Me,Ue,_t,yt)}modifyPosition(u,x){this._assertNotDisposed();let U=this.getOffsetAt(u)+x;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,U)))}getFullModelRange(){this._assertNotDisposed();const u=this.getLineCount();return new y.e(1,1,u,this.getLineMaxColumn(u))}findMatchesLineByLine(u,x,U,be){return this._buffer.findMatchesLineByLine(u,x,U,be)}findMatches(u,x,U,be,Me,Ue,_t=hs){this._assertNotDisposed();let yt=null;x!==null&&(Array.isArray(x)||(x=[x]),x.every(zt=>y.e.isIRange(zt))&&(yt=x.map(zt=>this.validateRange(zt)))),yt===null&&(yt=[this.getFullModelRange()]),yt=yt.sort((zt,Qt)=>zt.startLineNumber-Qt.startLineNumber||zt.startColumn-Qt.startColumn);const kt=[];kt.push(yt.reduce((zt,Qt)=>y.e.areIntersecting(zt,Qt)?zt.plusRange(Qt):(kt.push(zt),Qt)));let At;if(!U&&u.indexOf(`
`)<0){const Qt=new rt.bc(u,U,be,Me).parseSearchRequest();if(!Qt)return[];At=si=>this.findMatchesLineByLine(si,Qt,Ue,_t)}else At=zt=>rt.pM.findMatches(this,new rt.bc(u,U,be,Me),zt,Ue,_t);return kt.map(At).reduce((zt,Qt)=>zt.concat(Qt),[])}findNextMatch(u,x,U,be,Me,Ue){this._assertNotDisposed();const _t=this.validatePosition(x);if(!U&&u.indexOf(`
`)<0){const kt=new rt.bc(u,U,be,Me).parseSearchRequest();if(!kt)return null;const At=this.getLineCount();let zt=new y.e(_t.lineNumber,_t.column,At,this.getLineMaxColumn(At)),Qt=this.findMatchesLineByLine(zt,kt,Ue,1);return rt.pM.findNextMatch(this,new rt.bc(u,U,be,Me),_t,Ue),Qt.length>0||(zt=new y.e(1,1,_t.lineNumber,this.getLineMaxColumn(_t.lineNumber)),Qt=this.findMatchesLineByLine(zt,kt,Ue,1),Qt.length>0)?Qt[0]:null}return rt.pM.findNextMatch(this,new rt.bc(u,U,be,Me),_t,Ue)}findPreviousMatch(u,x,U,be,Me,Ue){this._assertNotDisposed();const _t=this.validatePosition(x);return rt.pM.findPreviousMatch(this,new rt.bc(u,U,be,Me),_t,Ue)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(u){if((this.getEOL()===`
`?0:1)!==u)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(u)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(u){return u instanceof p.Qi?u:new p.Qi(u.identifier||null,this.validateRange(u.range),u.text,u.forceMoveMarkers||!1,u.isAutoWhitespaceEdit||!1,u._isTracked||!1)}_validateEditOperations(u){const x=[];for(let U=0,be=u.length;U<be;U++)x[U]=this._validateEditOperation(u[U]);return x}pushEditOperations(u,x,U){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(u,this._validateEditOperations(x),U)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(u,x,U){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){let be=x.map(Ue=>({range:this.validateRange(Ue.range),text:Ue.text})),Me=!0;if(u)for(let Ue=0,_t=u.length;Ue<_t;Ue++){let yt=u[Ue],kt=!1;for(let At=0,zt=be.length;At<zt;At++){let Qt=be[At].range,si=Qt.startLineNumber>yt.endLineNumber,ci=yt.startLineNumber>Qt.endLineNumber;if(!si&&!ci){kt=!0;break}}if(!kt){Me=!1;break}}if(Me)for(let Ue=0,_t=this._trimAutoWhitespaceLines.length;Ue<_t;Ue++){let yt=this._trimAutoWhitespaceLines[Ue],kt=this.getLineMaxColumn(yt),At=!0;for(let zt=0,Qt=be.length;zt<Qt;zt++){let si=be[zt].range,ci=be[zt].text;if(!(yt<si.startLineNumber||yt>si.endLineNumber)&&!(yt===si.startLineNumber&&si.startColumn===kt&&si.isEmpty()&&ci&&ci.length>0&&ci.charAt(0)===`
`)&&!(yt===si.startLineNumber&&si.startColumn===1&&si.isEmpty()&&ci&&ci.length>0&&ci.charAt(ci.length-1)===`
`)){At=!1;break}}if(At){const zt=new y.e(yt,1,yt,kt);x.push(new p.Qi(null,zt,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(u,x,U)}_applyUndo(u,x,U,be){const Me=u.map(Ue=>{const _t=this.getPositionAt(Ue.newPosition),yt=this.getPositionAt(Ue.newEnd);return{range:new y.e(_t.lineNumber,_t.column,yt.lineNumber,yt.column),text:Ue.oldText}});this._applyUndoRedoEdits(Me,x,!0,!1,U,be)}_applyRedo(u,x,U,be){const Me=u.map(Ue=>{const _t=this.getPositionAt(Ue.oldPosition),yt=this.getPositionAt(Ue.oldEnd);return{range:new y.e(_t.lineNumber,_t.column,yt.lineNumber,yt.column),text:Ue.newText}});this._applyUndoRedoEdits(Me,x,!1,!0,U,be)}_applyUndoRedoEdits(u,x,U,be,Me,Ue){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=U,this._isRedoing=be,this.applyEdits(u,!1),this.setEOL(x),this._overwriteAlternativeVersionId(Me)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(Ue),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(u,x=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const U=this._validateEditOperations(u);return this._doApplyEdits(U,x)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(u,x){const U=this._buffer.getLineCount(),be=this._buffer.applyEdits(u,this._options.trimAutoWhitespace,x),Me=this._buffer.getLineCount(),Ue=be.changes;if(this._trimAutoWhitespaceLines=be.trimAutoWhitespaceLineNumbers,Ue.length!==0){for(let kt=0,At=Ue.length;kt<At;kt++){const zt=Ue[kt],[Qt,si,ci]=(0,oi.QZ)(zt.text);this._tokens.acceptEdit(zt.range,Qt,si),this._tokens2.acceptEdit(zt.range,Qt,si,ci,zt.text.length>0?zt.text.charCodeAt(0):0),this._decorationsTree.acceptReplace(zt.rangeOffset,zt.rangeLength,zt.text.length,zt.forceMoveMarkers)}let _t=[];this._increaseVersionId();let yt=U;for(let kt=0,At=Ue.length;kt<At;kt++){const zt=Ue[kt],[Qt]=(0,oi.QZ)(zt.text);this._onDidChangeDecorations.fire();const si=zt.range.startLineNumber,ci=zt.range.endLineNumber,wi=ci-si,yi=Qt,Ii=Math.min(wi,yi),Ui=yi-wi,Ji=Me-yt-Ui+si,Vi=Ji,an=Ji+yi,Nn=this._decorationsTree.getInjectedTextInInterval(this,this.getOffsetAt(new I.L(Vi,1)),this.getOffsetAt(new I.L(an,this.getLineMaxColumn(an))),0),Cn=Ni.gk.fromDecorations(Nn),Sn=new ai.H9(Cn);for(let xn=Ii;xn>=0;xn--){const as=si+xn,bs=Ji+xn;Sn.takeFromEndWhile(Ts=>Ts.lineNumber>bs);const fs=Sn.takeFromEndWhile(Ts=>Ts.lineNumber===bs);_t.push(new Ni.rU(as,this.getLineContent(bs),fs))}if(Ii<wi){const xn=si+Ii;_t.push(new Ni.lN(xn+1,ci))}if(Ii<yi){const xn=new ai.H9(Cn),as=si+Ii,bs=yi-Ii,fs=Me-yt-bs+as+1;let Ts=[],Is=[];for(let Os=0;Os<bs;Os++){let Gs=fs+Os;Is[Os]=this.getLineContent(Gs),xn.takeWhile(io=>io.lineNumber<Gs),Ts[Os]=xn.takeWhile(io=>io.lineNumber===Gs)}_t.push(new Ni.Tx(as+1,si+yi,Is,Ts))}yt+=Ui}this._emitContentChangedEvent(new Ni.dQ(_t,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:Ue,eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return be.reverseEdits===null?void 0:be.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(u){if(u===null||u.size===0)return;const U=[...u].map(be=>new Ni.rU(be,this.getLineContent(be),this._getInjectedTextInLine(be)));this._onDidChangeContentOrInjectedText.fire(new Ni.D8(U))}changeDecorations(u,x=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(x,u)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(u,x){let U={addDecoration:(Me,Ue)=>this._deltaDecorationsImpl(u,[],[{range:Me,options:Ue}])[0],changeDecoration:(Me,Ue)=>{this._changeDecorationImpl(Me,Ue)},changeDecorationOptions:(Me,Ue)=>{this._changeDecorationOptionsImpl(Me,vn(Ue))},removeDecoration:Me=>{this._deltaDecorationsImpl(u,[Me],[])},deltaDecorations:(Me,Ue)=>Me.length===0&&Ue.length===0?[]:this._deltaDecorationsImpl(u,Me,Ue)},be=null;try{be=x(U)}catch(Me){(0,h.dL)(Me)}return U.addDecoration=Pn,U.changeDecoration=Pn,U.changeDecorationOptions=Pn,U.removeDecoration=Pn,U.deltaDecorations=Pn,be}deltaDecorations(u,x,U=0){if(this._assertNotDisposed(),u||(u=[]),u.length===0&&x.length===0)return[];try{return this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(U,u,x)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_getTrackedRange(u){return this.getDecorationRange(u)}_setTrackedRange(u,x,U){const be=u?this._decorations[u]:null;if(!be)return x?this._deltaDecorationsImpl(0,[],[{range:x,options:Hi[U]}])[0]:null;if(!x)return this._decorationsTree.delete(be),delete this._decorations[be.id],null;const Me=this._validateRangeRelaxedNoAllocations(x),Ue=this._buffer.getOffsetAt(Me.startLineNumber,Me.startColumn),_t=this._buffer.getOffsetAt(Me.endLineNumber,Me.endColumn);return this._decorationsTree.delete(be),be.reset(this.getVersionId(),Ue,_t,Me),be.setOptions(Hi[U]),this._decorationsTree.insert(be),be.id}removeAllDecorationsWithOwnerId(u){if(this._isDisposed)return;const x=this._decorationsTree.collectNodesFromOwner(u);for(let U=0,be=x.length;U<be;U++){const Me=x[U];this._decorationsTree.delete(Me),delete this._decorations[Me.id]}}getDecorationOptions(u){const x=this._decorations[u];return x?x.options:null}getDecorationRange(u){const x=this._decorations[u];return x?this._decorationsTree.getNodeRange(this,x):null}getLineDecorations(u,x=0,U=!1){return u<1||u>this.getLineCount()?[]:this.getLinesDecorations(u,u,x,U)}getLinesDecorations(u,x,U=0,be=!1){let Me=this.getLineCount(),Ue=Math.min(Me,Math.max(1,u)),_t=Math.min(Me,Math.max(1,x)),yt=this.getLineMaxColumn(_t);const kt=new y.e(Ue,1,_t,yt),At=this._getDecorationsInRange(kt,U,be);return At.push(...this._decorationProvider.getDecorationsInRange(kt,U,be)),At}getDecorationsInRange(u,x=0,U=!1){let be=this.validateRange(u);const Me=this._getDecorationsInRange(be,x,U);return Me.push(...this._decorationProvider.getDecorationsInRange(be,x,U)),Me}getOverviewRulerDecorations(u=0,x=!1){return this._decorationsTree.getAll(this,u,x,!0)}getInjectedTextDecorations(u=0){return this._decorationsTree.getAllInjectedText(this,u)}_getInjectedTextInLine(u){const x=this._buffer.getOffsetAt(u,1),U=x+this._buffer.getLineLength(u),be=this._decorationsTree.getInjectedTextInInterval(this,x,U,0);return Ni.gk.fromDecorations(be).filter(Me=>Me.lineNumber===u)}getAllDecorations(u=0,x=!1){let U=this._decorationsTree.getAll(this,u,x,!1);return U=U.concat(this._decorationProvider.getAllDecorations(u,x)),U}_getDecorationsInRange(u,x,U){const be=this._buffer.getOffsetAt(u.startLineNumber,u.startColumn),Me=this._buffer.getOffsetAt(u.endLineNumber,u.endColumn);return this._decorationsTree.getAllInInterval(this,be,Me,x,U)}getRangeAt(u,x){return this._buffer.getRangeAt(u,x-u)}_changeDecorationImpl(u,x){const U=this._decorations[u];if(!U)return;if(U.options.after){const _t=this.getDecorationRange(u);this._onDidChangeDecorations.recordLineAffectedByInjectedText(_t.endLineNumber)}if(U.options.before){const _t=this.getDecorationRange(u);this._onDidChangeDecorations.recordLineAffectedByInjectedText(_t.startLineNumber)}const be=this._validateRangeRelaxedNoAllocations(x),Me=this._buffer.getOffsetAt(be.startLineNumber,be.startColumn),Ue=this._buffer.getOffsetAt(be.endLineNumber,be.endColumn);this._decorationsTree.delete(U),U.reset(this.getVersionId(),Me,Ue,be),this._decorationsTree.insert(U),this._onDidChangeDecorations.checkAffectedAndFire(U.options),U.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(be.endLineNumber),U.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(be.startLineNumber)}_changeDecorationOptionsImpl(u,x){const U=this._decorations[u];if(!U)return;const be=!!(U.options.overviewRuler&&U.options.overviewRuler.color),Me=!!(x.overviewRuler&&x.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(U.options),this._onDidChangeDecorations.checkAffectedAndFire(x),U.options.after||x.after){const Ue=this._decorationsTree.getNodeRange(this,U);this._onDidChangeDecorations.recordLineAffectedByInjectedText(Ue.endLineNumber)}if(U.options.before||x.before){const Ue=this._decorationsTree.getNodeRange(this,U);this._onDidChangeDecorations.recordLineAffectedByInjectedText(Ue.startLineNumber)}be!==Me?(this._decorationsTree.delete(U),U.setOptions(x),this._decorationsTree.insert(U)):U.setOptions(x)}_deltaDecorationsImpl(u,x,U){const be=this.getVersionId(),Me=x.length;let Ue=0;const _t=U.length;let yt=0,kt=new Array(_t);for(;Ue<Me||yt<_t;){let At=null;if(Ue<Me){do At=this._decorations[x[Ue++]];while(!At&&Ue<Me);if(At){if(At.options.after){const zt=this._decorationsTree.getNodeRange(this,At);this._onDidChangeDecorations.recordLineAffectedByInjectedText(zt.endLineNumber)}if(At.options.before){const zt=this._decorationsTree.getNodeRange(this,At);this._onDidChangeDecorations.recordLineAffectedByInjectedText(zt.startLineNumber)}this._decorationsTree.delete(At),this._onDidChangeDecorations.checkAffectedAndFire(At.options)}}if(yt<_t){if(!At){const yi=++this._lastDecorationId,Ii=`${this._instanceId};${yi}`;At=new M(Ii,0,0),this._decorations[Ii]=At}const zt=U[yt],Qt=this._validateRangeRelaxedNoAllocations(zt.range),si=vn(zt.options),ci=this._buffer.getOffsetAt(Qt.startLineNumber,Qt.startColumn),wi=this._buffer.getOffsetAt(Qt.endLineNumber,Qt.endColumn);At.ownerId=u,At.reset(be,ci,wi,Qt),At.setOptions(si),At.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Qt.endLineNumber),At.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Qt.startLineNumber),this._onDidChangeDecorations.checkAffectedAndFire(si),this._decorationsTree.insert(At),kt[yt]=At.id,yt++}else At&&delete this._decorations[At.id]}return kt}setTokens(u,x=!1){if(u.length!==0){let U=[];for(let be=0,Me=u.length;be<Me;be++){const Ue=u[be];let _t=0,yt=0,kt=!1;for(let At=0,zt=Ue.tokens.length;At<zt;At++){const Qt=Ue.startLineNumber+At;kt?(this._tokens.setTokens(this._languageId,Qt-1,this._buffer.getLineLength(Qt),Ue.tokens[At],!1),yt=Qt):this._tokens.setTokens(this._languageId,Qt-1,this._buffer.getLineLength(Qt),Ue.tokens[At],!0)&&(kt=!0,_t=Qt,yt=Qt)}kt&&U.push({fromLineNumber:_t,toLineNumber:yt})}U.length>0&&this._emitModelTokensChangedEvent({tokenizationSupportChanged:!1,semanticTokensApplied:!1,ranges:U})}this.handleTokenizationProgress(x)}setSemanticTokens(u,x){this._tokens2.set(u,x),this._emitModelTokensChangedEvent({tokenizationSupportChanged:!1,semanticTokensApplied:u!==null,ranges:[{fromLineNumber:1,toLineNumber:this.getLineCount()}]})}hasCompleteSemanticTokens(){return this._tokens2.isComplete()}hasSomeSemanticTokens(){return!this._tokens2.isEmpty()}setPartialSemanticTokens(u,x){if(this.hasCompleteSemanticTokens())return;const U=this._tokens2.setPartial(u,x);this._emitModelTokensChangedEvent({tokenizationSupportChanged:!1,semanticTokensApplied:!0,ranges:[{fromLineNumber:U.startLineNumber,toLineNumber:U.endLineNumber}]})}tokenizeViewport(u,x){u=Math.max(1,u),x=Math.min(this._buffer.getLineCount(),x),this._tokenization.tokenizeViewport(u,x)}clearTokens(){this._tokens.flush(),this._emitModelTokensChangedEvent({tokenizationSupportChanged:!0,semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._buffer.getLineCount()}]})}_emitModelTokensChangedEvent(u){this._isDisposing||this._onDidChangeTokens.fire(u)}resetTokenization(){this._tokenization.reset()}forceTokenization(u){if(u<1||u>this.getLineCount())throw new Error("Illegal value for lineNumber");this._tokenization.forceTokenization(u)}isCheapToTokenize(u){return this._tokenization.isCheapToTokenize(u)}tokenizeIfCheap(u){this.isCheapToTokenize(u)&&this.forceTokenization(u)}getLineTokens(u){if(u<1||u>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._getLineTokens(u)}_getLineTokens(u){const x=this.getLineContent(u),U=this._tokens.getTokens(this._languageId,u-1,x);return this._tokens2.addSemanticTokens(u,U)}getLanguageId(){return this._languageId}setMode(u){if(this._languageId===u)return;let x={oldLanguage:this._languageId,newLanguage:u};this._languageId=u,this._onDidChangeLanguage.fire(x),this._onDidChangeLanguageConfiguration.fire({})}getLanguageIdAtPosition(u,x){const U=this.validatePosition(new I.L(u,x)),be=this.getLineTokens(U.lineNumber);return be.getLanguageId(be.findTokenIndexAtOffset(U.column-1))}getLanguageConfiguration(u){return this._languageConfigurationService.getLanguageConfiguration(u)}getWordAtPosition(u){this._assertNotDisposed();const x=this.validatePosition(u),U=this.getLineContent(x.lineNumber),be=this._getLineTokens(x.lineNumber),Me=be.findTokenIndexAtOffset(x.column-1),[Ue,_t]=Hs._findLanguageBoundaries(be,Me),yt=(0,Ke.t2)(x.column,this.getLanguageConfiguration(be.getLanguageId(Me)).getWordDefinition(),U.substring(Ue,_t),Ue);if(yt&&yt.startColumn<=u.column&&u.column<=yt.endColumn)return yt;if(Me>0&&Ue===x.column-1){const[kt,At]=Hs._findLanguageBoundaries(be,Me-1),zt=(0,Ke.t2)(x.column,this.getLanguageConfiguration(be.getLanguageId(Me-1)).getWordDefinition(),U.substring(kt,At),kt);if(zt&&zt.startColumn<=u.column&&u.column<=zt.endColumn)return zt}return null}static _findLanguageBoundaries(u,x){const U=u.getLanguageId(x);let be=0;for(let Ue=x;Ue>=0&&u.getLanguageId(Ue)===U;Ue--)be=u.getStartOffset(Ue);let Me=u.getLineContent().length;for(let Ue=x,_t=u.getCount();Ue<_t&&u.getLanguageId(Ue)===U;Ue++)Me=u.getEndOffset(Ue);return[be,Me]}getWordUntilPosition(u){const x=this.getWordAtPosition(u);return x?{word:x.word.substr(0,u.column-x.startColumn),startColumn:x.startColumn,endColumn:u.column}:{word:"",startColumn:u.column,endColumn:u.column}}findMatchingBracketUp(u,x){let U=u.toLowerCase(),be=this.validatePosition(x),Me=this._getLineTokens(be.lineNumber),Ue=Me.getLanguageId(Me.findTokenIndexAtOffset(be.column-1)),_t=this.getLanguageConfiguration(Ue).brackets;if(!_t)return null;let yt=_t.textIsBracket[U];return yt?tn(this._findMatchingBracketUp(yt,be,null)):null}matchBracket(u){return this._matchBracket(this.validatePosition(u))}_establishBracketSearchOffsets(u,x,U,be){const Me=x.getCount(),Ue=x.getLanguageId(be);let _t=Math.max(0,u.column-1-U.maxBracketLength);for(let kt=be-1;kt>=0;kt--){const At=x.getEndOffset(kt);if(At<=_t)break;if((0,Nt.Bu)(x.getStandardTokenType(kt))||x.getLanguageId(kt)!==Ue){_t=At;break}}let yt=Math.min(x.getLineContent().length,u.column-1+U.maxBracketLength);for(let kt=be+1;kt<Me;kt++){const At=x.getStartOffset(kt);if(At>=yt)break;if((0,Nt.Bu)(x.getStandardTokenType(kt))||x.getLanguageId(kt)!==Ue){yt=At;break}}return{searchStartOffset:_t,searchEndOffset:yt}}_matchBracket(u){const x=u.lineNumber,U=this._getLineTokens(x),be=this._buffer.getLineContent(x),Me=U.findTokenIndexAtOffset(u.column-1);if(Me<0)return null;const Ue=this.getLanguageConfiguration(U.getLanguageId(Me)).brackets;if(Ue&&!(0,Nt.Bu)(U.getStandardTokenType(Me))){let{searchStartOffset:_t,searchEndOffset:yt}=this._establishBracketSearchOffsets(u,U,Ue,Me),kt=null;for(;;){const At=$t.Vr.findNextBracketInRange(Ue.forwardRegex,x,be,_t,yt);if(!At)break;if(At.startColumn<=u.column&&u.column<=At.endColumn){const zt=be.substring(At.startColumn-1,At.endColumn-1).toLowerCase(),Qt=this._matchFoundBracket(At,Ue.textIsBracket[zt],Ue.textIsOpenBracket[zt],null);if(Qt){if(Qt instanceof Yi)return null;kt=Qt}}_t=At.endColumn-1}if(kt)return kt}if(Me>0&&U.getStartOffset(Me)===u.column-1){const _t=Me-1,yt=this.getLanguageConfiguration(U.getLanguageId(_t)).brackets;if(yt&&!(0,Nt.Bu)(U.getStandardTokenType(_t))){let{searchStartOffset:kt,searchEndOffset:At}=this._establishBracketSearchOffsets(u,U,yt,_t);const zt=$t.Vr.findPrevBracketInRange(yt.reversedRegex,x,be,kt,At);if(zt&&zt.startColumn<=u.column&&u.column<=zt.endColumn){const Qt=be.substring(zt.startColumn-1,zt.endColumn-1).toLowerCase(),si=this._matchFoundBracket(zt,yt.textIsBracket[Qt],yt.textIsOpenBracket[Qt],null);if(si)return si instanceof Yi?null:si}}}return null}_matchFoundBracket(u,x,U,be){if(!x)return null;const Me=U?this._findMatchingBracketDown(x,u.getEndPosition(),be):this._findMatchingBracketUp(x,u.getStartPosition(),be);return Me?Me instanceof Yi?Me:[u,Me]:null}_findMatchingBracketUp(u,x,U){const be=u.languageId,Me=u.reversedRegex;let Ue=-1,_t=0;const yt=(kt,At,zt,Qt)=>{for(;;){if(U&&++_t%100===0&&!U())return Yi.INSTANCE;const si=$t.Vr.findPrevBracketInRange(Me,kt,At,zt,Qt);if(!si)break;const ci=At.substring(si.startColumn-1,si.endColumn-1).toLowerCase();if(u.isOpen(ci)?Ue++:u.isClose(ci)&&Ue--,Ue===0)return si;Qt=si.startColumn-1}return null};for(let kt=x.lineNumber;kt>=1;kt--){const At=this._getLineTokens(kt),zt=At.getCount(),Qt=this._buffer.getLineContent(kt);let si=zt-1,ci=Qt.length,wi=Qt.length;kt===x.lineNumber&&(si=At.findTokenIndexAtOffset(x.column-1),ci=x.column-1,wi=x.column-1);let yi=!0;for(;si>=0;si--){const Ii=At.getLanguageId(si)===be&&!(0,Nt.Bu)(At.getStandardTokenType(si));if(Ii)yi?ci=At.getStartOffset(si):(ci=At.getStartOffset(si),wi=At.getEndOffset(si));else if(yi&&ci!==wi){const Ui=yt(kt,Qt,ci,wi);if(Ui)return Ui}yi=Ii}if(yi&&ci!==wi){const Ii=yt(kt,Qt,ci,wi);if(Ii)return Ii}}return null}_findMatchingBracketDown(u,x,U){const be=u.languageId,Me=u.forwardRegex;let Ue=1,_t=0;const yt=(At,zt,Qt,si)=>{for(;;){if(U&&++_t%100===0&&!U())return Yi.INSTANCE;const ci=$t.Vr.findNextBracketInRange(Me,At,zt,Qt,si);if(!ci)break;const wi=zt.substring(ci.startColumn-1,ci.endColumn-1).toLowerCase();if(u.isOpen(wi)?Ue++:u.isClose(wi)&&Ue--,Ue===0)return ci;Qt=ci.endColumn-1}return null},kt=this.getLineCount();for(let At=x.lineNumber;At<=kt;At++){const zt=this._getLineTokens(At),Qt=zt.getCount(),si=this._buffer.getLineContent(At);let ci=0,wi=0,yi=0;At===x.lineNumber&&(ci=zt.findTokenIndexAtOffset(x.column-1),wi=x.column-1,yi=x.column-1);let Ii=!0;for(;ci<Qt;ci++){const Ui=zt.getLanguageId(ci)===be&&!(0,Nt.Bu)(zt.getStandardTokenType(ci));if(Ui)Ii||(wi=zt.getStartOffset(ci)),yi=zt.getEndOffset(ci);else if(Ii&&wi!==yi){const Ji=yt(At,si,wi,yi);if(Ji)return Ji}Ii=Ui}if(Ii&&wi!==yi){const Ui=yt(At,si,wi,yi);if(Ui)return Ui}}return null}findPrevBracket(u){const x=this.validatePosition(u);let U=null,be=null;for(let Me=x.lineNumber;Me>=1;Me--){const Ue=this._getLineTokens(Me),_t=Ue.getCount(),yt=this._buffer.getLineContent(Me);let kt=_t-1,At=yt.length,zt=yt.length;if(Me===x.lineNumber){kt=Ue.findTokenIndexAtOffset(x.column-1),At=x.column-1,zt=x.column-1;const si=Ue.getLanguageId(kt);U!==si&&(U=si,be=this.getLanguageConfiguration(U).brackets)}let Qt=!0;for(;kt>=0;kt--){const si=Ue.getLanguageId(kt);if(U!==si){if(be&&Qt&&At!==zt){const wi=$t.Vr.findPrevBracketInRange(be.reversedRegex,Me,yt,At,zt);if(wi)return this._toFoundBracket(be,wi);Qt=!1}U=si,be=this.getLanguageConfiguration(U).brackets}const ci=!!be&&!(0,Nt.Bu)(Ue.getStandardTokenType(kt));if(ci)Qt?At=Ue.getStartOffset(kt):(At=Ue.getStartOffset(kt),zt=Ue.getEndOffset(kt));else if(be&&Qt&&At!==zt){const wi=$t.Vr.findPrevBracketInRange(be.reversedRegex,Me,yt,At,zt);if(wi)return this._toFoundBracket(be,wi)}Qt=ci}if(be&&Qt&&At!==zt){const si=$t.Vr.findPrevBracketInRange(be.reversedRegex,Me,yt,At,zt);if(si)return this._toFoundBracket(be,si)}}return null}findNextBracket(u){const x=this.validatePosition(u),U=this.getLineCount();let be=null,Me=null;for(let Ue=x.lineNumber;Ue<=U;Ue++){const _t=this._getLineTokens(Ue),yt=_t.getCount(),kt=this._buffer.getLineContent(Ue);let At=0,zt=0,Qt=0;if(Ue===x.lineNumber){At=_t.findTokenIndexAtOffset(x.column-1),zt=x.column-1,Qt=x.column-1;const ci=_t.getLanguageId(At);be!==ci&&(be=ci,Me=this.getLanguageConfiguration(be).brackets)}let si=!0;for(;At<yt;At++){const ci=_t.getLanguageId(At);if(be!==ci){if(Me&&si&&zt!==Qt){const yi=$t.Vr.findNextBracketInRange(Me.forwardRegex,Ue,kt,zt,Qt);if(yi)return this._toFoundBracket(Me,yi);si=!1}be=ci,Me=this.getLanguageConfiguration(be).brackets}const wi=!!Me&&!(0,Nt.Bu)(_t.getStandardTokenType(At));if(wi)si||(zt=_t.getStartOffset(At)),Qt=_t.getEndOffset(At);else if(Me&&si&&zt!==Qt){const yi=$t.Vr.findNextBracketInRange(Me.forwardRegex,Ue,kt,zt,Qt);if(yi)return this._toFoundBracket(Me,yi)}si=wi}if(Me&&si&&zt!==Qt){const ci=$t.Vr.findNextBracketInRange(Me.forwardRegex,Ue,kt,zt,Qt);if(ci)return this._toFoundBracket(Me,ci)}}return null}findEnclosingBrackets(u,x){let U;if(typeof x=="undefined")U=null;else{const si=Date.now();U=()=>Date.now()-si<=x}const be=this.validatePosition(u),Me=this.getLineCount(),Ue=new Map;let _t=[];const yt=(si,ci)=>{if(!Ue.has(si)){let wi=[];for(let yi=0,Ii=ci?ci.brackets.length:0;yi<Ii;yi++)wi[yi]=0;Ue.set(si,wi)}_t=Ue.get(si)};let kt=0;const At=(si,ci,wi,yi,Ii)=>{for(;;){if(U&&++kt%100===0&&!U())return Yi.INSTANCE;const Ui=$t.Vr.findNextBracketInRange(si.forwardRegex,ci,wi,yi,Ii);if(!Ui)break;const Ji=wi.substring(Ui.startColumn-1,Ui.endColumn-1).toLowerCase(),Vi=si.textIsBracket[Ji];if(Vi&&(Vi.isOpen(Ji)?_t[Vi.index]++:Vi.isClose(Ji)&&_t[Vi.index]--,_t[Vi.index]===-1))return this._matchFoundBracket(Ui,Vi,!1,U);yi=Ui.endColumn-1}return null};let zt=null,Qt=null;for(let si=be.lineNumber;si<=Me;si++){const ci=this._getLineTokens(si),wi=ci.getCount(),yi=this._buffer.getLineContent(si);let Ii=0,Ui=0,Ji=0;if(si===be.lineNumber){Ii=ci.findTokenIndexAtOffset(be.column-1),Ui=be.column-1,Ji=be.column-1;const an=ci.getLanguageId(Ii);zt!==an&&(zt=an,Qt=this.getLanguageConfiguration(zt).brackets,yt(zt,Qt))}let Vi=!0;for(;Ii<wi;Ii++){const an=ci.getLanguageId(Ii);if(zt!==an){if(Qt&&Vi&&Ui!==Ji){const Cn=At(Qt,si,yi,Ui,Ji);if(Cn)return tn(Cn);Vi=!1}zt=an,Qt=this.getLanguageConfiguration(zt).brackets,yt(zt,Qt)}const Nn=!!Qt&&!(0,Nt.Bu)(ci.getStandardTokenType(Ii));if(Nn)Vi||(Ui=ci.getStartOffset(Ii)),Ji=ci.getEndOffset(Ii);else if(Qt&&Vi&&Ui!==Ji){const Cn=At(Qt,si,yi,Ui,Ji);if(Cn)return tn(Cn)}Vi=Nn}if(Qt&&Vi&&Ui!==Ji){const an=At(Qt,si,yi,Ui,Ji);if(an)return tn(an)}}return null}_toFoundBracket(u,x){if(!x)return null;let U=this.getValueInRange(x);U=U.toLowerCase();let be=u.textIsBracket[U];return be?{range:x,open:be.open,close:be.close,isOpen:u.textIsOpenBracket[U]}:null}static computeIndentLevel(u,x){let U=0,be=0,Me=u.length;for(;be<Me;){let Ue=u.charCodeAt(be);if(Ue===32)U++;else if(Ue===9)U=U-U%x+x;else break;be++}return be===Me?-1:U}_computeIndentLevel(u){return Hs.computeIndentLevel(this._buffer.getLineContent(u+1),this._options.tabSize)}getActiveIndentGuide(u,x,U){this._assertNotDisposed();const be=this.getLineCount();if(u<1||u>be)throw new Error("Illegal value for lineNumber");const Me=this.getLanguageConfiguration(this._languageId).foldingRules,Ue=!!(Me&&Me.offSide);let _t=-2,yt=-1,kt=-2,At=-1;const zt=Cn=>{if(_t!==-1&&(_t===-2||_t>Cn-1)){_t=-1,yt=-1;for(let Sn=Cn-2;Sn>=0;Sn--){let xn=this._computeIndentLevel(Sn);if(xn>=0){_t=Sn,yt=xn;break}}}if(kt===-2){kt=-1,At=-1;for(let Sn=Cn;Sn<be;Sn++){let xn=this._computeIndentLevel(Sn);if(xn>=0){kt=Sn,At=xn;break}}}};let Qt=-2,si=-1,ci=-2,wi=-1;const yi=Cn=>{if(Qt===-2){Qt=-1,si=-1;for(let Sn=Cn-2;Sn>=0;Sn--){let xn=this._computeIndentLevel(Sn);if(xn>=0){Qt=Sn,si=xn;break}}}if(ci!==-1&&(ci===-2||ci<Cn-1)){ci=-1,wi=-1;for(let Sn=Cn;Sn<be;Sn++){let xn=this._computeIndentLevel(Sn);if(xn>=0){ci=Sn,wi=xn;break}}}};let Ii=0,Ui=!0,Ji=0,Vi=!0,an=0,Nn=0;for(let Cn=0;Ui||Vi;Cn++){const Sn=u-Cn,xn=u+Cn;Cn>1&&(Sn<1||Sn<x)&&(Ui=!1),Cn>1&&(xn>be||xn>U)&&(Vi=!1),Cn>5e4&&(Ui=!1,Vi=!1);let as=-1;if(Ui){const fs=this._computeIndentLevel(Sn-1);fs>=0?(kt=Sn-1,At=fs,as=Math.ceil(fs/this._options.indentSize)):(zt(Sn),as=this._getIndentLevelForWhitespaceLine(Ue,yt,At))}let bs=-1;if(Vi){const fs=this._computeIndentLevel(xn-1);fs>=0?(Qt=xn-1,si=fs,bs=Math.ceil(fs/this._options.indentSize)):(yi(xn),bs=this._getIndentLevelForWhitespaceLine(Ue,si,wi))}if(Cn===0){Nn=as;continue}if(Cn===1){if(xn<=be&&bs>=0&&Nn+1===bs){Ui=!1,Ii=xn,Ji=xn,an=bs;continue}if(Sn>=1&&as>=0&&as-1===Nn){Vi=!1,Ii=Sn,Ji=Sn,an=as;continue}if(Ii=u,Ji=u,an=Nn,an===0)return{startLineNumber:Ii,endLineNumber:Ji,indent:an}}Ui&&(as>=an?Ii=Sn:Ui=!1),Vi&&(bs>=an?Ji=xn:Vi=!1)}return{startLineNumber:Ii,endLineNumber:Ji,indent:an}}getLinesBracketGuides(u,x,U,be){var Me,Ue,_t,yt,kt;const At=[],zt=this._bracketPairColorizer.getBracketPairsInRangeWithMinIndentation(new y.e(u,1,x,this.getLineMaxColumn(x)));let Qt;if(U&&zt.length>0){const Ii=u<=U.lineNumber&&U.lineNumber<=x?zt.filter(Ui=>Ui.range.containsPosition(U)):this._bracketPairColorizer.getBracketPairsInRange(y.e.fromPositions(U));Qt=(Me=(0,ai.dF)(Ii,Ui=>Ui.range.startLineNumber!==Ui.range.endLineNumber))===null||Me===void 0?void 0:Me.range}const si=new ai.H9(zt),ci=new Array,wi=new Array,yi=new ws;for(let Ii=u;Ii<=x;Ii++){let Ui=new Array;wi.length>0&&(Ui=Ui.concat(wi),wi.length=0),At.push(Ui);for(const Vi of si.takeWhile(an=>an.openingBracketRange.startLineNumber<=Ii)||[]){if(Vi.range.startLineNumber===Vi.range.endLineNumber)continue;const an=Math.min(this.getVisibleColumnFromPosition(Vi.openingBracketRange.getStartPosition()),this.getVisibleColumnFromPosition((_t=(Ue=Vi.closingBracketRange)===null||Ue===void 0?void 0:Ue.getStartPosition())!==null&&_t!==void 0?_t:Vi.range.getEndPosition()),Vi.minVisibleColumnIndentation+1);let Nn=!1;Vi.closingBracketRange&&P.LC(this.getLineContent(Vi.closingBracketRange.startLineNumber))<Vi.closingBracketRange.startColumn-1&&(Nn=!0);const Cn=Vi.openingBracketRange.getStartPosition(),Sn=(kt=(yt=Vi.closingBracketRange)===null||yt===void 0?void 0:yt.getStartPosition())!==null&&kt!==void 0?kt:Vi.range.getEndPosition();Vi.closingBracketRange===void 0?ci[Vi.nestingLevel]=null:ci[Vi.nestingLevel]={nestingLevel:Vi.nestingLevel,guideVisibleColumn:an,start:Cn,visibleStartColumn:this.getVisibleColumnFromPosition(Cn),end:Sn,visibleEndColumn:this.getVisibleColumnFromPosition(Sn),bracketPair:Vi,renderHorizontalEndLineAtTheBottom:Nn}}for(const Vi of ci){if(!Vi)continue;const an=Qt&&Vi.bracketPair.range.equalsRange(Qt),Nn=yi.getInlineClassNameOfLevel(Vi.nestingLevel)+(be.highlightActive&&an?" "+yi.activeClassName:"");(an&&be.horizontalGuides!==p.s6.Disabled||be.includeInactive&&be.horizontalGuides===p.s6.Enabled)&&(Vi.start.lineNumber===Ii&&Vi.guideVisibleColumn<Vi.visibleStartColumn&&Ui.push(new p.UO(Vi.guideVisibleColumn,Nn,new p.vW(!1,Vi.start.column))),Vi.end.lineNumber===Ii+1&&Vi.guideVisibleColumn<Vi.visibleEndColumn&&wi.push(new p.UO(Vi.guideVisibleColumn,Nn,new p.vW(!Vi.renderHorizontalEndLineAtTheBottom,Vi.end.column))))}let Ji=Number.MAX_SAFE_INTEGER;for(let Vi=ci.length-1;Vi>=0;Vi--){const an=ci[Vi];if(!an)continue;const Nn=be.highlightActive&&Qt&&an.bracketPair.range.equalsRange(Qt),Cn=yi.getInlineClassNameOfLevel(an.nestingLevel)+(Nn?" "+yi.activeClassName:"");(Nn||be.includeInactive)&&an.renderHorizontalEndLineAtTheBottom&&an.end.lineNumber===Ii+1&&wi.push(new p.UO(an.guideVisibleColumn,Cn,null)),!(an.end.lineNumber<=Ii||an.start.lineNumber>=Ii)&&(an.guideVisibleColumn>=Ji&&!Nn||(Ji=an.guideVisibleColumn,(Nn||be.includeInactive)&&Ui.push(new p.UO(an.guideVisibleColumn,Cn,null))))}Ui.sort((Vi,an)=>Vi.visibleColumn-an.visibleColumn)}return At}getVisibleColumnFromPosition(u){return hn.i.visibleColumnFromColumn(this.getLineContent(u.lineNumber),u.column,this._options.tabSize)+1}getLinesIndentGuides(u,x){this._assertNotDisposed();const U=this.getLineCount();if(u<1||u>U)throw new Error("Illegal value for startLineNumber");if(x<1||x>U)throw new Error("Illegal value for endLineNumber");const be=this.getLanguageConfiguration(this._languageId).foldingRules,Me=!!(be&&be.offSide);let Ue=new Array(x-u+1),_t=-2,yt=-1,kt=-2,At=-1;for(let zt=u;zt<=x;zt++){let Qt=zt-u;const si=this._computeIndentLevel(zt-1);if(si>=0){_t=zt-1,yt=si,Ue[Qt]=Math.ceil(si/this._options.indentSize);continue}if(_t===-2){_t=-1,yt=-1;for(let ci=zt-2;ci>=0;ci--){let wi=this._computeIndentLevel(ci);if(wi>=0){_t=ci,yt=wi;break}}}if(kt!==-1&&(kt===-2||kt<zt-1)){kt=-1,At=-1;for(let ci=zt;ci<U;ci++){let wi=this._computeIndentLevel(ci);if(wi>=0){kt=ci,At=wi;break}}}Ue[Qt]=this._getIndentLevelForWhitespaceLine(Me,yt,At)}return Ue}_getIndentLevelForWhitespaceLine(u,x,U){return x===-1||U===-1?0:x<U?1+Math.floor(x/this._options.indentSize):x===U?Math.ceil(U/this._options.indentSize):u?Math.ceil(U/this._options.indentSize):1+Math.floor(U/this._options.indentSize)}normalizePosition(u,x){return u}getLineIndentColumn(u){return vs(this.getLineContent(u))+1}};Bn.MODEL_SYNC_LIMIT=50*1024*1024,Bn.LARGE_FILE_SIZE_THRESHOLD=20*1024*1024,Bn.LARGE_FILE_LINE_COUNT_THRESHOLD=300*1e3,Bn.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:G.DB.tabSize,indentSize:G.DB.indentSize,insertSpaces:G.DB.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:G.DB.trimAutoWhitespace,largeFileOptimizations:G.DB.largeFileOptimizations,bracketPairColorizationOptions:G.DB.bracketPairColorizationOptions},Bn=xi([Pi(4,Ci.tJ),Pi(5,Ei.h),Pi(6,ct.c_)],Bn);function vs(at){let u=0;for(const x of at)if(x===" "||x===" ")u++;else break;return u}class ws{constructor(){this.activeClassName="indent-active"}getInlineClassNameOfLevel(u){return`bracket-indent-guide lvl-${u%30}`}}function ds(at){return!!(at.options.overviewRuler&&at.options.overviewRuler.color)}function ms(at){return!!at.options.after||!!at.options.before}class cs{constructor(){this._decorationsTree0=new oe,this._decorationsTree1=new oe,this._injectedTextDecorationsTree=new oe}ensureAllNodesHaveRanges(u){this.getAll(u,0,!1,!1)}_ensureNodesHaveRanges(u,x){for(const U of x)U.range===null&&(U.range=u.getRangeAt(U.cachedAbsoluteStart,U.cachedAbsoluteEnd));return x}getAllInInterval(u,x,U,be,Me){const Ue=u.getVersionId(),_t=this._intervalSearch(x,U,be,Me,Ue);return this._ensureNodesHaveRanges(u,_t)}_intervalSearch(u,x,U,be,Me){const Ue=this._decorationsTree0.intervalSearch(u,x,U,be,Me),_t=this._decorationsTree1.intervalSearch(u,x,U,be,Me),yt=this._injectedTextDecorationsTree.intervalSearch(u,x,U,be,Me);return Ue.concat(_t).concat(yt)}getInjectedTextInInterval(u,x,U,be){const Me=u.getVersionId(),Ue=this._injectedTextDecorationsTree.intervalSearch(x,U,be,!1,Me);return this._ensureNodesHaveRanges(u,Ue).filter(_t=>_t.options.showIfCollapsed||!_t.range.isEmpty())}getAllInjectedText(u,x){const U=u.getVersionId(),be=this._injectedTextDecorationsTree.search(x,!1,U);return this._ensureNodesHaveRanges(u,be).filter(Me=>Me.options.showIfCollapsed||!Me.range.isEmpty())}getAll(u,x,U,be){const Me=u.getVersionId(),Ue=this._search(x,U,be,Me);return this._ensureNodesHaveRanges(u,Ue)}_search(u,x,U,be){if(U)return this._decorationsTree1.search(u,x,be);{const Me=this._decorationsTree0.search(u,x,be),Ue=this._decorationsTree1.search(u,x,be),_t=this._injectedTextDecorationsTree.search(u,x,be);return Me.concat(Ue).concat(_t)}}collectNodesFromOwner(u){const x=this._decorationsTree0.collectNodesFromOwner(u),U=this._decorationsTree1.collectNodesFromOwner(u),be=this._injectedTextDecorationsTree.collectNodesFromOwner(u);return x.concat(U).concat(be)}collectNodesPostOrder(){const u=this._decorationsTree0.collectNodesPostOrder(),x=this._decorationsTree1.collectNodesPostOrder(),U=this._injectedTextDecorationsTree.collectNodesPostOrder();return u.concat(x).concat(U)}insert(u){ms(u)?this._injectedTextDecorationsTree.insert(u):ds(u)?this._decorationsTree1.insert(u):this._decorationsTree0.insert(u)}delete(u){ms(u)?this._injectedTextDecorationsTree.delete(u):ds(u)?this._decorationsTree1.delete(u):this._decorationsTree0.delete(u)}getNodeRange(u,x){const U=u.getVersionId();return x.cachedVersionId!==U&&this._resolveNode(x,U),x.range===null&&(x.range=u.getRangeAt(x.cachedAbsoluteStart,x.cachedAbsoluteEnd)),x.range}_resolveNode(u,x){ms(u)?this._injectedTextDecorationsTree.resolveNode(u,x):ds(u)?this._decorationsTree1.resolveNode(u,x):this._decorationsTree0.resolveNode(u,x)}acceptReplace(u,x,U,be){this._decorationsTree0.acceptReplace(u,x,U,be),this._decorationsTree1.acceptReplace(u,x,U,be),this._injectedTextDecorationsTree.acceptReplace(u,x,U,be)}}function us(at){return at.replace(/[^a-z0-9\-_]/gi," ")}class os{constructor(u){this.color=u.color||"",this.darkColor=u.darkColor||""}}class to extends os{constructor(u){super(u),this._resolvedColor=null,this.position=typeof u.position=="number"?u.position:p.sh.Center}getColor(u){return this._resolvedColor||(u.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,u):this._resolvedColor=this._resolveColor(this.color,u)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(u,x){if(typeof u=="string")return u;let U=u?x.getColor(u.id):null;return U?U.toString():""}}class rn extends os{constructor(u){super(u),this.position=u.position}getColor(u){return this._resolvedColor||(u.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,u):this._resolvedColor=this._resolveColor(this.color,u)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(u,x){return typeof u=="string"?Xt.Il.fromHex(u):x.getColor(u.id)}}class li{constructor(u){this.content=u.content||"",this.inlineClassName=u.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=u.inlineClassNameAffectsLetterSpacing||!1}static from(u){return u instanceof li?u:new li(u)}}class Ai{constructor(u){this.description=u.description,this.stickiness=u.stickiness||0,this.zIndex=u.zIndex||0,this.className=u.className?us(u.className):null,this.hoverMessage=u.hoverMessage||null,this.glyphMarginHoverMessage=u.glyphMarginHoverMessage||null,this.isWholeLine=u.isWholeLine||!1,this.showIfCollapsed=u.showIfCollapsed||!1,this.collapseOnReplaceEdit=u.collapseOnReplaceEdit||!1,this.overviewRuler=u.overviewRuler?new to(u.overviewRuler):null,this.minimap=u.minimap?new rn(u.minimap):null,this.glyphMarginClassName=u.glyphMarginClassName?us(u.glyphMarginClassName):null,this.linesDecorationsClassName=u.linesDecorationsClassName?us(u.linesDecorationsClassName):null,this.firstLineDecorationClassName=u.firstLineDecorationClassName?us(u.firstLineDecorationClassName):null,this.marginClassName=u.marginClassName?us(u.marginClassName):null,this.inlineClassName=u.inlineClassName?us(u.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=u.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=u.beforeContentClassName?us(u.beforeContentClassName):null,this.afterContentClassName=u.afterContentClassName?us(u.afterContentClassName):null,this.after=u.after?li.from(u.after):null,this.before=u.before?li.from(u.before):null}static register(u){return new Ai(u)}static createDynamic(u){return new Ai(u)}}Ai.EMPTY=Ai.register({description:"empty"});const Hi=[Ai.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),Ai.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),Ai.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),Ai.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function vn(at){return at instanceof Ai?at:Ai.createDynamic(at)}class is extends O.JT{constructor(u){super(),this.handleBeforeFire=u,this._actual=this._register(new H.Q5),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFire=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){var u;if(this._deferredCnt--,this._deferredCnt===0){if(this._shouldFire){this.handleBeforeFire(this._affectedInjectedTextLines);const x={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler};this._shouldFire=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._actual.fire(x)}(u=this._affectedInjectedTextLines)===null||u===void 0||u.clear(),this._affectedInjectedTextLines=null}}recordLineAffectedByInjectedText(u){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(u)}checkAffectedAndFire(u){this._affectsMinimap||(this._affectsMinimap=!!(u.minimap&&u.minimap.position)),this._affectsOverviewRuler||(this._affectsOverviewRuler=!!(u.overviewRuler&&u.overviewRuler.color)),this._shouldFire=!0}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._shouldFire=!0}}class Tn extends O.JT{constructor(){super(),this._fastEmitter=this._register(new H.Q5),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new H.Q5),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(u=null){if(this._deferredCnt--,this._deferredCnt===0&&this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=u;const x=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(x),this._slowEmitter.fire(x)}}fire(u){if(this._deferredCnt>0){this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(u):this._deferredEvent=u;return}this._fastEmitter.fire(u),this._slowEmitter.fire(u)}}},64685:function(xt,Te,i){"use strict";i.d(Te,{CZ:function(){return G},D8:function(){return y},Jx:function(){return h},Tx:function(){return D},dQ:function(){return I},fV:function(){return E},gk:function(){return H},lN:function(){return P},rU:function(){return O}});class h{constructor(){this.changeType=1}}class H{constructor(a,g,w,s,C){this.ownerId=a,this.lineNumber=g,this.column=w,this.options=s,this.order=C}static applyInjectedText(a,g){if(!g||g.length===0)return a;let w="",s=0;for(const C of g)w+=a.substring(s,C.column-1),s=C.column-1,w+=C.options.content;return w+=a.substring(s),w}static fromDecorations(a){const g=[];for(const w of a)w.options.before&&w.options.before.content.length>0&&g.push(new H(w.ownerId,w.range.startLineNumber,w.range.startColumn,w.options.before,0)),w.options.after&&w.options.after.content.length>0&&g.push(new H(w.ownerId,w.range.endLineNumber,w.range.endColumn,w.options.after,1));return g.sort((w,s)=>w.lineNumber===s.lineNumber?w.column===s.column?w.order-s.order:w.column-s.column:w.lineNumber-s.lineNumber),g}}class O{constructor(a,g,w){this.changeType=2,this.lineNumber=a,this.detail=g,this.injectedText=w}}class P{constructor(a,g){this.changeType=3,this.fromLineNumber=a,this.toLineNumber=g}}class D{constructor(a,g,w,s){this.changeType=4,this.injectedTexts=s,this.fromLineNumber=a,this.toLineNumber=g,this.detail=w}}class G{constructor(){this.changeType=5}}class I{constructor(a,g,w,s){this.changes=a,this.versionId=g,this.isUndoing=w,this.isRedoing=s,this.resultingSelection=null}containsEvent(a){for(let g=0,w=this.changes.length;g<w;g++)if(this.changes[g].changeType===a)return!0;return!1}static merge(a,g){const w=[].concat(a.changes).concat(g.changes),s=g.versionId,C=a.isUndoing||g.isUndoing,f=a.isRedoing||g.isRedoing;return new I(w,s,C,f)}}class y{constructor(a){this.changes=a}}class E{constructor(a,g){this.rawContentChangedEvent=a,this.contentChangedEvent=g}merge(a){const g=I.merge(this.rawContentChangedEvent,a.rawContentChangedEvent),w=E._mergeChangeEvents(this.contentChangedEvent,a.contentChangedEvent);return new E(g,w)}static _mergeChangeEvents(a,g){const w=[].concat(a.changes).concat(g.changes),s=g.eol,C=g.versionId,f=a.isUndoing||g.isUndoing,v=a.isRedoing||g.isRedoing,r=a.isFlush||g.isFlush;return{changes:w,eol:s,versionId:C,isUndoing:f,isRedoing:v,isFlush:r}}}},91070:function(xt,Te,i){"use strict";i.d(Te,{bc:function(){return I},cM:function(){return C},iE:function(){return p},pM:function(){return g},sz:function(){return f}});var h=i(82983),H=i(21981),O=i(72146),P=i(17373),D=i(51682);const G=999;class I{constructor(r,l,m,c){this.searchString=r,this.isRegex=l,this.matchCase=m,this.wordSeparators=c}parseSearchRequest(){if(this.searchString==="")return null;let r;this.isRegex?r=y(this.searchString):r=this.searchString.indexOf(`
`)>=0;let l=null;try{l=h.GF(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:r,global:!0,unicode:!0})}catch(c){return null}if(!l)return null;let m=!this.isRegex&&!r;return m&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(m=this.matchCase),new E(l,this.wordSeparators?(0,H.u)(this.wordSeparators):null,m?this.searchString:null)}}function y(v){if(!v||v.length===0)return!1;for(let r=0,l=v.length;r<l;r++)if(v.charCodeAt(r)===92){if(r++,r>=l)break;const c=v.charCodeAt(r);if(c===110||c===114||c===87)return!0}return!1}class E{constructor(r,l,m){this.regex=r,this.wordSeparators=l,this.simpleSearch=m}}function p(v,r,l){if(!l)return new D.tk(v,null);let m=[];for(let c=0,b=r.length;c<b;c++)m[c]=r[c];return new D.tk(v,m)}class a{constructor(r){let l=[],m=0;for(let c=0,b=r.length;c<b;c++)r.charCodeAt(c)===10&&(l[m++]=c);this._lineFeedsOffsets=l}findLineFeedCountBeforeOffset(r){const l=this._lineFeedsOffsets;let m=0,c=l.length-1;if(c===-1||r<=l[0])return 0;for(;m<c;){const b=m+((c-m)/2>>0);l[b]>=r?c=b-1:l[b+1]>=r?(m=b,c=b):m=b+1}return m+1}}class g{static findMatches(r,l,m,c,b){const L=l.parseSearchRequest();return L?L.regex.multiline?this._doFindMatchesMultiline(r,m,new f(L.wordSeparators,L.regex),c,b):this._doFindMatchesLineByLine(r,m,L,c,b):[]}static _getMultilineMatchRange(r,l,m,c,b,L){let T,M=0;c?(M=c.findLineFeedCountBeforeOffset(b),T=l+b+M):T=l+b;let z;if(c){let De=c.findLineFeedCountBeforeOffset(b+L.length)-M;z=T+L.length+De}else z=T+L.length;const oe=r.getPositionAt(T),se=r.getPositionAt(z);return new P.e(oe.lineNumber,oe.column,se.lineNumber,se.column)}static _doFindMatchesMultiline(r,l,m,c,b){const L=r.getOffsetAt(l.getStartPosition()),T=r.getValueInRange(l,1),M=r.getEOL()===`\r
`?new a(T):null,z=[];let oe=0,se;for(m.reset(0);se=m.next(T);)if(z[oe++]=p(this._getMultilineMatchRange(r,L,T,M,se.index,se[0]),se,c),oe>=b)return z;return z}static _doFindMatchesLineByLine(r,l,m,c,b){const L=[];let T=0;if(l.startLineNumber===l.endLineNumber){const z=r.getLineContent(l.startLineNumber).substring(l.startColumn-1,l.endColumn-1);return T=this._findMatchesInLine(m,z,l.startLineNumber,l.startColumn-1,T,L,c,b),L}const M=r.getLineContent(l.startLineNumber).substring(l.startColumn-1);T=this._findMatchesInLine(m,M,l.startLineNumber,l.startColumn-1,T,L,c,b);for(let z=l.startLineNumber+1;z<l.endLineNumber&&T<b;z++)T=this._findMatchesInLine(m,r.getLineContent(z),z,0,T,L,c,b);if(T<b){const z=r.getLineContent(l.endLineNumber).substring(0,l.endColumn-1);T=this._findMatchesInLine(m,z,l.endLineNumber,0,T,L,c,b)}return L}static _findMatchesInLine(r,l,m,c,b,L,T,M){const z=r.wordSeparators;if(!T&&r.simpleSearch){const re=r.simpleSearch,De=re.length,J=l.length;let Z=-De;for(;(Z=l.indexOf(re,Z+De))!==-1;)if((!z||C(z,l,J,Z,De))&&(L[b++]=new D.tk(new P.e(m,Z+1+c,m,Z+1+De+c),null),b>=M))return b;return b}const oe=new f(r.wordSeparators,r.regex);let se;oe.reset(0);do if(se=oe.next(l),se&&(L[b++]=p(new P.e(m,se.index+1+c,m,se.index+1+se[0].length+c),se,T),b>=M))return b;while(se);return b}static findNextMatch(r,l,m,c){const b=l.parseSearchRequest();if(!b)return null;const L=new f(b.wordSeparators,b.regex);return b.regex.multiline?this._doFindNextMatchMultiline(r,m,L,c):this._doFindNextMatchLineByLine(r,m,L,c)}static _doFindNextMatchMultiline(r,l,m,c){const b=new O.L(l.lineNumber,1),L=r.getOffsetAt(b),T=r.getLineCount(),M=r.getValueInRange(new P.e(b.lineNumber,b.column,T,r.getLineMaxColumn(T)),1),z=r.getEOL()===`\r
`?new a(M):null;m.reset(l.column-1);let oe=m.next(M);return oe?p(this._getMultilineMatchRange(r,L,M,z,oe.index,oe[0]),oe,c):l.lineNumber!==1||l.column!==1?this._doFindNextMatchMultiline(r,new O.L(1,1),m,c):null}static _doFindNextMatchLineByLine(r,l,m,c){const b=r.getLineCount(),L=l.lineNumber,T=r.getLineContent(L),M=this._findFirstMatchInLine(m,T,L,l.column,c);if(M)return M;for(let z=1;z<=b;z++){const oe=(L+z-1)%b,se=r.getLineContent(oe+1),re=this._findFirstMatchInLine(m,se,oe+1,1,c);if(re)return re}return null}static _findFirstMatchInLine(r,l,m,c,b){r.reset(c-1);const L=r.next(l);return L?p(new P.e(m,L.index+1,m,L.index+1+L[0].length),L,b):null}static findPreviousMatch(r,l,m,c){const b=l.parseSearchRequest();if(!b)return null;const L=new f(b.wordSeparators,b.regex);return b.regex.multiline?this._doFindPreviousMatchMultiline(r,m,L,c):this._doFindPreviousMatchLineByLine(r,m,L,c)}static _doFindPreviousMatchMultiline(r,l,m,c){const b=this._doFindMatchesMultiline(r,new P.e(1,1,l.lineNumber,l.column),m,c,10*G);if(b.length>0)return b[b.length-1];const L=r.getLineCount();return l.lineNumber!==L||l.column!==r.getLineMaxColumn(L)?this._doFindPreviousMatchMultiline(r,new O.L(L,r.getLineMaxColumn(L)),m,c):null}static _doFindPreviousMatchLineByLine(r,l,m,c){const b=r.getLineCount(),L=l.lineNumber,T=r.getLineContent(L).substring(0,l.column-1),M=this._findLastMatchInLine(m,T,L,c);if(M)return M;for(let z=1;z<=b;z++){const oe=(b+L-z-1)%b,se=r.getLineContent(oe+1),re=this._findLastMatchInLine(m,se,oe+1,c);if(re)return re}return null}static _findLastMatchInLine(r,l,m,c){let b=null,L;for(r.reset(0);L=r.next(l);)b=p(new P.e(m,L.index+1,m,L.index+1+L[0].length),L,c);return b}}function w(v,r,l,m,c){if(m===0)return!0;const b=r.charCodeAt(m-1);if(v.get(b)!==0||b===13||b===10)return!0;if(c>0){const L=r.charCodeAt(m);if(v.get(L)!==0)return!0}return!1}function s(v,r,l,m,c){if(m+c===l)return!0;const b=r.charCodeAt(m+c);if(v.get(b)!==0||b===13||b===10)return!0;if(c>0){const L=r.charCodeAt(m+c-1);if(v.get(L)!==0)return!0}return!1}function C(v,r,l,m,c){return w(v,r,l,m,c)&&s(v,r,l,m,c)}class f{constructor(r,l){this._wordSeparators=r,this._searchRegex=l,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(r){this._searchRegex.lastIndex=r,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(r){const l=r.length;let m;do{if(this._prevMatchStartIndex+this._prevMatchLength===l||(m=this._searchRegex.exec(r),!m))return null;const c=m.index,b=m[0].length;if(c===this._prevMatchStartIndex&&b===this._prevMatchLength){if(b===0){h.ZH(r,l,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=c,this._prevMatchLength=b,!this._wordSeparators||C(this._wordSeparators,r,l,c,b))return m}while(m);return null}}},66039:function(xt,Te,i){"use strict";i.d(Te,{DA:function(){return E},OU:function(){return p},QZ:function(){return G},Rl:function(){return f},Wz:function(){return g},cx:function(){return C}});var h=i(43506),H=i(35521),O=i(72146),P=i(17373),D=i(27347);function G(v){let r=0,l=0,m=0,c=0;for(let b=0,L=v.length;b<L;b++){const T=v.charCodeAt(b);T===13?(r===0&&(l=b),r++,b+1<L&&v.charCodeAt(b+1)===10?(c|=2,b++):c|=3,m=b+1):T===10&&(c|=1,r===0&&(l=b),r++,m=b+1)}return r===0&&(l=v.length),[r,l,v.length-m,c]}function I(v){return(v<<0|0|0|16384|2<<23)>>>0}const y=new Uint32Array(0).buffer;class E{constructor(){this.tokens=[]}add(r,l){if(this.tokens.length>0){const m=this.tokens[this.tokens.length-1];if(m.startLineNumber+m.tokens.length-1+1===r){m.tokens.push(l);return}}this.tokens.push(new w(r,[l]))}}class p{constructor(r){this._tokens=r,this._tokenCount=r.length/4}toString(r){let l=[];for(let m=0;m<this._tokenCount;m++)l.push(`(${this._getDeltaLine(m)+r},${this._getStartCharacter(m)}-${this._getEndCharacter(m)})`);return`[${l.join(",")}]`}getMaxDeltaLine(){const r=this._getTokenCount();return r===0?-1:this._getDeltaLine(r-1)}getRange(){const r=this._getTokenCount();if(r===0)return null;const l=this._getStartCharacter(0),m=this._getDeltaLine(r-1),c=this._getEndCharacter(r-1);return new P.e(0,l+1,m,c+1)}_getTokenCount(){return this._tokenCount}_getDeltaLine(r){return this._tokens[4*r]}_getStartCharacter(r){return this._tokens[4*r+1]}_getEndCharacter(r){return this._tokens[4*r+2]}isEmpty(){return this._getTokenCount()===0}getLineTokens(r){let l=0,m=this._getTokenCount()-1;for(;l<m;){const c=l+Math.floor((m-l)/2),b=this._getDeltaLine(c);if(b<r)l=c+1;else if(b>r)m=c-1;else{let L=c;for(;L>l&&this._getDeltaLine(L-1)===r;)L--;let T=c;for(;T<m&&this._getDeltaLine(T+1)===r;)T++;return new a(this._tokens.subarray(4*L,4*T+4))}}return this._getDeltaLine(l)===r?new a(this._tokens.subarray(4*l,4*l+4)):null}clear(){this._tokenCount=0}removeTokens(r,l,m,c){const b=this._tokens,L=this._tokenCount;let T=0,M=!1,z=0;for(let oe=0;oe<L;oe++){const se=4*oe,re=b[se],De=b[se+1],J=b[se+2],Z=b[se+3];if((re>r||re===r&&J>=l)&&(re<m||re===m&&De<=c))M=!0;else{if(T===0&&(z=re),M){const Q=4*T;b[Q]=re-z,b[Q+1]=De,b[Q+2]=J,b[Q+3]=Z}T++}}return this._tokenCount=T,z}split(r,l,m,c){const b=this._tokens,L=this._tokenCount;let T=[],M=[],z=T,oe=0,se=0;for(let re=0;re<L;re++){const De=4*re,J=b[De],Z=b[De+1],Q=b[De+2],le=b[De+3];if(J>r||J===r&&Q>=l){if(J<m||J===m&&Z<=c)continue;z!==M&&(z=M,oe=0,se=J)}z[oe++]=J-se,z[oe++]=Z,z[oe++]=Q,z[oe++]=le}return[new p(new Uint32Array(T)),new p(new Uint32Array(M)),se]}acceptDeleteRange(r,l,m,c,b){const L=this._tokens,T=this._tokenCount,M=c-l;let z=0,oe=!1;for(let se=0;se<T;se++){const re=4*se;let De=L[re],J=L[re+1],Z=L[re+2];const Q=L[re+3];if(De<l||De===l&&Z<=m){z++;continue}else if(De===l&&J<m)De===c&&Z>b?Z-=b-m:Z=m;else if(De===l&&J===m)if(De===c&&Z>b)Z-=b-m;else{oe=!0;continue}else if(De<c||De===c&&J<b)if(De===c&&Z>b)De===l?(J=m,Z=J+(Z-b)):(J=0,Z=J+(Z-b));else{oe=!0;continue}else if(De>c){if(M===0&&!oe){z=T;break}De-=M}else if(De===c&&J>=b)r&&De===0&&(J+=r,Z+=r),De-=M,J-=b-m,Z-=b-m;else throw new Error("Not possible!");const le=4*z;L[le]=De,L[le+1]=J,L[le+2]=Z,L[le+3]=Q,z++}this._tokenCount=z}acceptInsertText(r,l,m,c,b,L){const T=m===0&&c===1&&(L>=48&&L<=57||L>=65&&L<=90||L>=97&&L<=122),M=this._tokens,z=this._tokenCount;for(let oe=0;oe<z;oe++){const se=4*oe;let re=M[se],De=M[se+1],J=M[se+2];if(!(re<r||re===r&&J<l)){if(re===r&&J===l)if(T)J+=1;else continue;else if(re===r&&De<l&&l<J)m===0?J+=c:J=l;else{if(re===r&&De===l&&T)continue;if(re===r)if(re+=m,m===0)De+=c,J+=c;else{const Z=J-De;De=b+(De-l),J=De+Z}else re+=m}M[se]=re,M[se+1]=De,M[se+2]=J}}}}class a{constructor(r){this._tokens=r}getCount(){return this._tokens.length/4}getStartCharacter(r){return this._tokens[4*r+1]}getEndCharacter(r){return this._tokens[4*r+2]}getMetadata(r){return this._tokens[4*r+3]}}class g{constructor(r,l){this.startLineNumber=r,this.tokens=l,this.endLineNumber=this.startLineNumber+this.tokens.getMaxDeltaLine()}toString(){return this.tokens.toString(this.startLineNumber)}_updateEndLineNumber(){this.endLineNumber=this.startLineNumber+this.tokens.getMaxDeltaLine()}isEmpty(){return this.tokens.isEmpty()}getLineTokens(r){return this.startLineNumber<=r&&r<=this.endLineNumber?this.tokens.getLineTokens(r-this.startLineNumber):null}getRange(){const r=this.tokens.getRange();return r&&new P.e(this.startLineNumber+r.startLineNumber,r.startColumn,this.startLineNumber+r.endLineNumber,r.endColumn)}removeTokens(r){const l=r.startLineNumber-this.startLineNumber,m=r.endLineNumber-this.startLineNumber;this.startLineNumber+=this.tokens.removeTokens(l,r.startColumn-1,m,r.endColumn-1),this._updateEndLineNumber()}split(r){const l=r.startLineNumber-this.startLineNumber,m=r.endLineNumber-this.startLineNumber,[c,b,L]=this.tokens.split(l,r.startColumn-1,m,r.endColumn-1);return[new g(this.startLineNumber,c),new g(this.startLineNumber+L,b)]}applyEdit(r,l){const[m,c,b]=G(l);this.acceptEdit(r,m,c,b,l.length>0?l.charCodeAt(0):0)}acceptEdit(r,l,m,c,b){this._acceptDeleteRange(r),this._acceptInsertText(new O.L(r.startLineNumber,r.startColumn),l,m,c,b),this._updateEndLineNumber()}_acceptDeleteRange(r){if(r.startLineNumber===r.endLineNumber&&r.startColumn===r.endColumn)return;const l=r.startLineNumber-this.startLineNumber,m=r.endLineNumber-this.startLineNumber;if(m<0){const b=m-l;this.startLineNumber-=b;return}const c=this.tokens.getMaxDeltaLine();if(!(l>=c+1)){if(l<0&&m>=c+1){this.startLineNumber=0,this.tokens.clear();return}if(l<0){const b=-l;this.startLineNumber-=b,this.tokens.acceptDeleteRange(r.startColumn-1,0,0,m,r.endColumn-1)}else this.tokens.acceptDeleteRange(0,l,r.startColumn-1,m,r.endColumn-1)}}_acceptInsertText(r,l,m,c,b){if(l===0&&m===0)return;const L=r.lineNumber-this.startLineNumber;if(L<0){this.startLineNumber+=l;return}const T=this.tokens.getMaxDeltaLine();L>=T+1||this.tokens.acceptInsertText(L,r.column-1,l,m,c,b)}}class w{constructor(r,l){this.startLineNumber=r,this.tokens=l}}function s(v){return v instanceof Uint32Array?v:new Uint32Array(v)}class C{constructor(r){this._pieces=[],this._isComplete=!1,this._languageIdCodec=r}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return this._pieces.length===0}set(r,l){this._pieces=r||[],this._isComplete=l}setPartial(r,l){let m=r;if(l.length>0){const b=l[0].getRange(),L=l[l.length-1].getRange();if(!b||!L)return r;m=r.plusRange(b).plusRange(L)}let c=null;for(let b=0,L=this._pieces.length;b<L;b++){const T=this._pieces[b];if(T.endLineNumber<m.startLineNumber)continue;if(T.startLineNumber>m.endLineNumber){c=c||{index:b};break}if(T.removeTokens(m),T.isEmpty()){this._pieces.splice(b,1),b--,L--;continue}if(T.endLineNumber<m.startLineNumber)continue;if(T.startLineNumber>m.endLineNumber){c=c||{index:b};continue}const[M,z]=T.split(m);if(M.isEmpty()){c=c||{index:b};continue}z.isEmpty()||(this._pieces.splice(b,1,M,z),b++,L++,c=c||{index:b})}return c=c||{index:this._pieces.length},l.length>0&&(this._pieces=h.Zv(this._pieces,c.index,l)),m}isComplete(){return this._isComplete}addSemanticTokens(r,l){const m=this._pieces;if(m.length===0)return l;const c=C._findFirstPieceWithLine(m,r),b=m[c].getLineTokens(r);if(!b)return l;const L=l.getCount(),T=b.getCount();let M=0,z=[],oe=0,se=0;const re=(De,J)=>{De!==se&&(se=De,z[oe++]=De,z[oe++]=J)};for(let De=0;De<T;De++){const J=b.getStartCharacter(De),Z=b.getEndCharacter(De),Q=b.getMetadata(De),le=((Q&1?2048:0)|(Q&2?4096:0)|(Q&4?8192:0)|(Q&8?8372224:0)|(Q&16?4286578688:0))>>>0,xe=~le>>>0;for(;M<L&&l.getEndOffset(M)<=J;)re(l.getEndOffset(M),l.getMetadata(M)),M++;for(M<L&&l.getStartOffset(M)<J&&re(J,l.getMetadata(M));M<L&&l.getEndOffset(M)<Z;)re(l.getEndOffset(M),l.getMetadata(M)&xe|Q&le),M++;if(M<L)re(Z,l.getMetadata(M)&xe|Q&le),l.getEndOffset(M)===Z&&M++;else{const j=Math.min(Math.max(0,M-1),L-1);re(Z,l.getMetadata(j)&xe|Q&le)}}for(;M<L;)re(l.getEndOffset(M),l.getMetadata(M)),M++;return new H.A(new Uint32Array(z),l.getLineContent(),this._languageIdCodec)}static _findFirstPieceWithLine(r,l){let m=0,c=r.length-1;for(;m<c;){let b=m+Math.floor((c-m)/2);if(r[b].endLineNumber<l)m=b+1;else if(r[b].startLineNumber>l)c=b-1;else{for(;b>m&&r[b-1].startLineNumber<=l&&l<=r[b-1].endLineNumber;)b--;return b}}return m}acceptEdit(r,l,m,c,b){for(const L of this._pieces)L.acceptEdit(r,l,m,c,b)}}class f{constructor(r){this._lineTokens=[],this._len=0,this._languageIdCodec=r}flush(){this._lineTokens=[],this._len=0}getTokens(r,l,m){let c=null;if(l<this._len&&(c=this._lineTokens[l]),c!==null&&c!==y)return new H.A(s(c),m,this._languageIdCodec);const b=new Uint32Array(2);return b[0]=m.length,b[1]=I(this._languageIdCodec.encodeLanguageId(r)),new H.A(b,m,this._languageIdCodec)}static _massageTokens(r,l,m){const c=m?s(m):null;if(l===0){let b=!1;if(c&&c.length>1&&(b=D.NX.getLanguageId(c[1])!==r),!b)return y}if(!c||c.length===0){const b=new Uint32Array(2);return b[0]=l,b[1]=I(r),b.buffer}return c[c.length-2]=l,c.byteOffset===0&&c.byteLength===c.buffer.byteLength?c.buffer:c}_ensureLine(r){for(;r>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(r,l){l!==0&&(r+l>this._len&&(l=this._len-r),this._lineTokens.splice(r,l),this._len-=l)}_insertLines(r,l){if(l===0)return;let m=[];for(let c=0;c<l;c++)m[c]=null;this._lineTokens=h.Zv(this._lineTokens,r,m),this._len+=l}setTokens(r,l,m,c,b){const L=f._massageTokens(this._languageIdCodec.encodeLanguageId(r),m,c);this._ensureLine(l);const T=this._lineTokens[l];return this._lineTokens[l]=L,b?!f._equals(T,L):!1}static _equals(r,l){if(!r||!l)return!r&&!l;const m=s(r),c=s(l);if(m.length!==c.length)return!1;for(let b=0,L=m.length;b<L;b++)if(m[b]!==c[b])return!1;return!0}acceptEdit(r,l,m){this._acceptDeleteRange(r),this._acceptInsertText(new O.L(r.startLineNumber,r.startColumn),l,m)}_acceptDeleteRange(r){const l=r.startLineNumber-1;if(l>=this._len)return;if(r.startLineNumber===r.endLineNumber){if(r.startColumn===r.endColumn)return;this._lineTokens[l]=f._delete(this._lineTokens[l],r.startColumn-1,r.endColumn-1);return}this._lineTokens[l]=f._deleteEnding(this._lineTokens[l],r.startColumn-1);const m=r.endLineNumber-1;let c=null;m<this._len&&(c=f._deleteBeginning(this._lineTokens[m],r.endColumn-1)),this._lineTokens[l]=f._append(this._lineTokens[l],c),this._deleteLines(r.startLineNumber,r.endLineNumber-r.startLineNumber)}_acceptInsertText(r,l,m){if(l===0&&m===0)return;const c=r.lineNumber-1;if(!(c>=this._len)){if(l===0){this._lineTokens[c]=f._insert(this._lineTokens[c],r.column-1,m);return}this._lineTokens[c]=f._deleteEnding(this._lineTokens[c],r.column-1),this._lineTokens[c]=f._insert(this._lineTokens[c],r.column-1,m),this._insertLines(r.lineNumber,l)}}static _deleteBeginning(r,l){return r===null||r===y?r:f._delete(r,0,l)}static _deleteEnding(r,l){if(r===null||r===y)return r;const m=s(r),c=m[m.length-2];return f._delete(r,l,c)}static _delete(r,l,m){if(r===null||r===y||l===m)return r;const c=s(r),b=c.length>>>1;if(l===0&&c[c.length-2]===m)return y;const L=H.A.findIndexInTokensArray(c,l),T=L>0?c[L-1<<1]:0,M=c[L<<1];if(m<M){const De=m-l;for(let J=L;J<b;J++)c[J<<1]-=De;return r}let z,oe;T!==l?(c[L<<1]=l,z=L+1<<1,oe=l):(z=L<<1,oe=T);const se=m-l;for(let De=L+1;De<b;De++){const J=c[De<<1]-se;J>oe&&(c[z++]=J,c[z++]=c[(De<<1)+1],oe=J)}if(z===c.length)return r;let re=new Uint32Array(z);return re.set(c.subarray(0,z),0),re.buffer}static _append(r,l){if(l===y)return r;if(r===y)return l;if(r===null)return r;if(l===null)return null;const m=s(r),c=s(l),b=c.length>>>1;let L=new Uint32Array(m.length+c.length);L.set(m,0);let T=m.length;const M=m[m.length-2];for(let z=0;z<b;z++)L[T++]=c[z<<1]+M,L[T++]=c[(z<<1)+1];return L.buffer}static _insert(r,l,m){if(r===null||r===y)return r;const c=s(r),b=c.length>>>1;let L=H.A.findIndexInTokensArray(c,l);L>0&&c[L-1<<1]===l&&L--;for(let T=L;T<b;T++)c[T<<1]+=m;return r}}},87131:function(xt,Te,i){"use strict";i.d(Te,{Af:function(){return O},eq:function(){return P},t2:function(){return G},vu:function(){return h}});const h="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";function H(y=""){let E="(-?\\d*\\.\\d\\w*)|([^";for(const p of h)y.indexOf(p)>=0||(E+="\\"+p);return E+="\\s]+)",new RegExp(E,"g")}const O=H();function P(y){let E=O;if(y&&y instanceof RegExp)if(y.global)E=y;else{let p="g";y.ignoreCase&&(p+="i"),y.multiline&&(p+="m"),y.unicode&&(p+="u"),E=new RegExp(y.source,p)}return E.lastIndex=0,E}const D={maxLen:1e3,windowSize:15,timeBudget:150};function G(y,E,p,a,g=D){if(p.length>g.maxLen){let v=y-g.maxLen/2;return v<0?v=0:a+=v,p=p.substring(v,y+g.maxLen/2),G(y,E,p,a,g)}const w=Date.now(),s=y-1-a;let C=-1,f=null;for(let v=1;!(Date.now()-w>=g.timeBudget);v++){const r=s-g.windowSize*v;E.lastIndex=Math.max(0,r);const l=I(E,p,s,C);if(!l&&f||(f=l,r<=0))break;C=r}if(f){let v={word:f[0],startColumn:a+1+f.index,endColumn:a+1+f.index+f[0].length};return E.lastIndex=0,v}return null}function I(y,E,p,a){let g;for(;g=y.exec(E);){const w=g.index||0;if(w<=p&&y.lastIndex>=p)return g;if(a>0&&w>a)return null}return null}},27347:function(xt,Te,i){"use strict";i.d(Te,{H9:function(){return Q},He:function(){return J},OH:function(){return V},KZ:function(){return m},RN:function(){return se},Ct:function(){return oe},Az:function(){return le},MY:function(){return w},vH:function(){return M},vN:function(){return xe},K7:function(){return ge},wT:function(){return te},vJ:function(){return T},AD:function(){return f},aC:function(){return ie},xp:function(){return L},vI:function(){return re},gl:function(){return v},mX:function(){return Z},bw:function(){return a},zu:function(){return c},pM:function(){return R},id:function(){return z},ln:function(){return j},FL:function(){return r},G0:function(){return l},AC:function(){return K},nD:function(){return b},WW:function(){return g},uZ:function(){return C},NX:function(){return y},RW:function(){return ye},tA:function(){return De},jr:function(){return p},Sy:function(){return E},vx:function(){return s}});var h=i(4968),H=i(17373),O=i(73831),P=i(4348),D=i(69323);class G{constructor(){this._map=new Map,this._promises=new Map,this._onDidChange=new P.Q5,this.onDidChange=this._onDidChange.event,this._colorMap=null}fire(Fe){this._onDidChange.fire({changedLanguages:Fe,changedColorMap:!1})}register(Fe,we){return this._map.set(Fe,we),this.fire([Fe]),(0,D.OF)(()=>{this._map.get(Fe)===we&&(this._map.delete(Fe),this.fire([Fe]))})}registerPromise(Fe,we){let ue=null,ce=!1;return this._promises.set(Fe,we.then(Ve=>{this._promises.delete(Fe),!(ce||!Ve)&&(ue=this.register(Fe,Ve))})),(0,D.OF)(()=>{ce=!0,ue&&ue.dispose()})}getPromise(Fe){const we=this.get(Fe);if(we)return Promise.resolve(we);const ue=this._promises.get(Fe);return ue?ue.then(ce=>this.get(Fe)):null}get(Fe){return this._map.get(Fe)||null}setColorMap(Fe){this._colorMap=Fe,this._onDidChange.fire({changedLanguages:Array.from(this._map.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}var I=i(52615);class y{static getLanguageId(Fe){return(Fe&255)>>>0}static getTokenType(Fe){return(Fe&1792)>>>8}static getFontStyle(Fe){return(Fe&14336)>>>11}static getForeground(Fe){return(Fe&8372224)>>>14}static getBackground(Fe){return(Fe&4286578688)>>>23}static getClassNameFromMetadata(Fe){let ue="mtk"+this.getForeground(Fe),ce=this.getFontStyle(Fe);return ce&1&&(ue+=" mtki"),ce&2&&(ue+=" mtkb"),ce&4&&(ue+=" mtku"),ue}static getInlineStyleFromMetadata(Fe,we){const ue=this.getForeground(Fe),ce=this.getFontStyle(Fe);let Ve=`color: ${we[ue]};`;return ce&1&&(Ve+="font-style: italic;"),ce&2&&(Ve+="font-weight: bold;"),ce&4&&(Ve+="text-decoration: underline;"),Ve}}const E=function(){let ve=Object.create(null);return ve[0]="symbol-method",ve[1]="symbol-function",ve[2]="symbol-constructor",ve[3]="symbol-field",ve[4]="symbol-variable",ve[5]="symbol-class",ve[6]="symbol-struct",ve[7]="symbol-interface",ve[8]="symbol-module",ve[9]="symbol-property",ve[10]="symbol-event",ve[11]="symbol-operator",ve[12]="symbol-unit",ve[13]="symbol-value",ve[14]="symbol-constant",ve[15]="symbol-enum",ve[16]="symbol-enum-member",ve[17]="symbol-keyword",ve[27]="symbol-snippet",ve[18]="symbol-text",ve[19]="symbol-color",ve[20]="symbol-file",ve[21]="symbol-reference",ve[22]="symbol-customcolor",ve[23]="symbol-folder",ve[24]="symbol-type-parameter",ve[25]="account",ve[26]="issues",function(Fe){const we=ve[Fe];let ue=we&&I.fK.get(we);return ue||(console.info("No codicon found for CompletionItemKind "+Fe),ue=I.lA.symbolProperty),ue.classNames}}();let p=function(){let ve=Object.create(null);return ve.method=0,ve.function=1,ve.constructor=2,ve.field=3,ve.variable=4,ve.class=5,ve.struct=6,ve.interface=7,ve.module=8,ve.property=9,ve.event=10,ve.operator=11,ve.unit=12,ve.value=13,ve.constant=14,ve.enum=15,ve["enum-member"]=16,ve.enumMember=16,ve.keyword=17,ve.snippet=27,ve.text=18,ve.color=19,ve.file=20,ve.reference=21,ve.customcolor=22,ve.folder=23,ve["type-parameter"]=24,ve.typeParameter=24,ve.account=25,ve.issue=26,function(Fe,we){let ue=ve[Fe];return typeof ue=="undefined"&&!we&&(ue=9),ue}}();var a;(function(ve){ve[ve.Automatic=0]="Automatic",ve[ve.Explicit=1]="Explicit"})(a||(a={}));var g;(function(ve){ve[ve.Invoke=1]="Invoke",ve[ve.TriggerCharacter=2]="TriggerCharacter",ve[ve.ContentChange=3]="ContentChange"})(g||(g={}));var w;(function(ve){ve[ve.Text=0]="Text",ve[ve.Read=1]="Read",ve[ve.Write=2]="Write"})(w||(w={}));function s(ve){return ve&&h.o.isUri(ve.uri)&&H.e.isIRange(ve.range)&&(H.e.isIRange(ve.originSelectionRange)||H.e.isIRange(ve.targetSelectionRange))}var C;(function(ve){const Fe=new Map;Fe.set("file",0),Fe.set("module",1),Fe.set("namespace",2),Fe.set("package",3),Fe.set("class",4),Fe.set("method",5),Fe.set("property",6),Fe.set("field",7),Fe.set("constructor",8),Fe.set("enum",9),Fe.set("interface",10),Fe.set("function",11),Fe.set("variable",12),Fe.set("constant",13),Fe.set("string",14),Fe.set("number",15),Fe.set("boolean",16),Fe.set("array",17),Fe.set("object",18),Fe.set("key",19),Fe.set("null",20),Fe.set("enum-member",21),Fe.set("struct",22),Fe.set("event",23),Fe.set("operator",24),Fe.set("type-parameter",25);const we=new Map;we.set(0,"file"),we.set(1,"module"),we.set(2,"namespace"),we.set(3,"package"),we.set(4,"class"),we.set(5,"method"),we.set(6,"property"),we.set(7,"field"),we.set(8,"constructor"),we.set(9,"enum"),we.set(10,"interface"),we.set(11,"function"),we.set(12,"variable"),we.set(13,"constant"),we.set(14,"string"),we.set(15,"number"),we.set(16,"boolean"),we.set(17,"array"),we.set(18,"object"),we.set(19,"key"),we.set(20,"null"),we.set(21,"enum-member"),we.set(22,"struct"),we.set(23,"event"),we.set(24,"operator"),we.set(25,"type-parameter");function ue(We){return Fe.get(We)}ve.fromString=ue;function ce(We){return we.get(We)}ve.toString=ce;function Ve(We,ae){const fe=we.get(We);let ne=fe&&I.fK.get("symbol-"+fe);return ne||(console.info("No codicon found for SymbolKind "+We),ne=I.lA.symbolProperty),`${ae?"inline":"block"} ${ne.classNames}`}ve.toCssClassName=Ve})(C||(C={}));class f{constructor(Fe){this.value=Fe}}f.Comment=new f("comment"),f.Imports=new f("imports"),f.Region=new f("region");var v;(function(ve){ve[ve.Other=0]="Other",ve[ve.Type=1]="Type",ve[ve.Parameter=2]="Parameter"})(v||(v={}));const r=new O.c,l=new O.c,m=new O.c,c=new O.c,b=new O.c,L=new O.c,T=new O.c,M=new O.c,z=new O.c,oe=new O.c,se=new O.c,re=new O.c,De=new O.c,J=new O.c,Z=new O.c,Q=new O.c,le=new O.c,xe=new O.c,j=new O.c,R=new O.c,V=new O.c,K=new O.c,ie=new O.c,te=new O.c,ge=new O.c,ye=new G},21462:function(xt,Te,i){"use strict";i.d(Te,{V6:function(){return H},c$:function(){return O},wU:function(){return h}});var h;(function(D){D[D.None=0]="None",D[D.Indent=1]="Indent",D[D.IndentOutdent=2]="IndentOutdent",D[D.Outdent=3]="Outdent"})(h||(h={}));class H{constructor(G){if(this._standardAutoClosingPairConditionalBrand=void 0,this.open=G.open,this.close=G.close,this._standardTokenMask=0,Array.isArray(G.notIn))for(let I=0,y=G.notIn.length;I<y;I++)switch(G.notIn[I]){case"string":this._standardTokenMask|=2;break;case"comment":this._standardTokenMask|=1;break;case"regex":this._standardTokenMask|=4;break}}isOK(G){return(this._standardTokenMask&G)===0}}class O{constructor(G){this.autoClosingPairsOpenByStart=new Map,this.autoClosingPairsOpenByEnd=new Map,this.autoClosingPairsCloseByStart=new Map,this.autoClosingPairsCloseByEnd=new Map,this.autoClosingPairsCloseSingleChar=new Map;for(const I of G)P(this.autoClosingPairsOpenByStart,I.open.charAt(0),I),P(this.autoClosingPairsOpenByEnd,I.open.charAt(I.open.length-1),I),P(this.autoClosingPairsCloseByStart,I.close.charAt(0),I),P(this.autoClosingPairsCloseByEnd,I.close.charAt(I.close.length-1),I),I.close.length===1&&I.open.length===1&&P(this.autoClosingPairsCloseSingleChar,I.close,I)}}function P(D,G,I){D.has(G)?D.get(G).push(I):D.set(G,[I])}},73468:function(xt,Te,i){"use strict";i.d(Te,{c_:function(){return b},zu:function(){return De},UU:function(){return L}});var h=i(4348),H=i(69323),O=i(82983),P=i(87131),D=i(21462),G=i(39510);class I{constructor(j){if(j.autoClosingPairs?this._autoClosingPairs=j.autoClosingPairs.map(R=>new D.V6(R)):j.brackets?this._autoClosingPairs=j.brackets.map(R=>new D.V6({open:R[0],close:R[1]})):this._autoClosingPairs=[],j.colorizedBracketPairs?this._colorizedBracketPairs=y(j.colorizedBracketPairs.map(R=>[R[0],R[1]])):j.brackets?this._colorizedBracketPairs=y(j.brackets.map(R=>[R[0],R[1]]).filter(R=>!(R[0]==="<"&&R[1]===">"))):this._colorizedBracketPairs=[],j.__electricCharacterSupport&&j.__electricCharacterSupport.docComment){const R=j.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new D.V6({open:R.open,close:R.close||""}))}this._autoCloseBefore=typeof j.autoCloseBefore=="string"?j.autoCloseBefore:I.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED,this._surroundingPairs=j.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(){return this._autoCloseBefore}static shouldAutoClosePair(j,R,V){if(R.getTokenCount()===0)return!0;const K=R.findTokenIndexAtOffset(V-2),ie=R.getStandardTokenType(K);return j.isOK(ie)}getSurroundingPairs(){return this._surroundingPairs}getColorizedBrackets(){return this._colorizedBracketPairs}}I.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED=`;:.,=}])>
`;function y(xe){return xe.filter(([j,R])=>j!==""&&R!=="")}var E=i(38232);class p{constructor(j){this._richEditBrackets=j}getElectricCharacters(){let j=[];if(this._richEditBrackets)for(const R of this._richEditBrackets.brackets)for(const V of R.close){const K=V.charAt(V.length-1);j.push(K)}return j=j.filter((R,V,K)=>K.indexOf(R)===V),j}onElectricCharacter(j,R,V){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const K=R.findTokenIndexAtOffset(V-1);if((0,G.Bu)(R.getStandardTokenType(K)))return null;const ie=this._richEditBrackets.reversedRegex,te=R.getLineContent().substring(0,V-1)+j,ge=E.Vr.findPrevBracketInRange(ie,1,te,0,te.length);if(!ge)return null;const ye=te.substring(ge.startColumn-1,ge.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[ye])return null;const Fe=R.getActualLineContentBefore(ge.startColumn-1);return/^\s*$/.test(Fe)?{matchOpenBracket:ye}:null}}function a(xe){return xe.global&&(xe.lastIndex=0),!0}class g{constructor(j){this._indentationRules=j}shouldIncrease(j){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&a(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(j))}shouldDecrease(j){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&a(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(j))}shouldIndentNextLine(j){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&a(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(j))}shouldIgnore(j){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&a(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(j))}getIndentMetadata(j){let R=0;return this.shouldIncrease(j)&&(R+=1),this.shouldDecrease(j)&&(R+=2),this.shouldIndentNextLine(j)&&(R+=4),this.shouldIgnore(j)&&(R+=8),R}}var w=i(79881);class s{constructor(j){j=j||{},j.brackets=j.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],j.brackets.forEach(R=>{const V=s._createOpenBracketRegExp(R[0]),K=s._createCloseBracketRegExp(R[1]);V&&K&&this._brackets.push({open:R[0],openRegExp:V,close:R[1],closeRegExp:K})}),this._regExpRules=j.onEnterRules||[]}onEnter(j,R,V,K){if(j>=3)for(let ie=0,te=this._regExpRules.length;ie<te;ie++){let ge=this._regExpRules[ie];if([{reg:ge.beforeText,text:V},{reg:ge.afterText,text:K},{reg:ge.previousLineText,text:R}].every(ve=>ve.reg?(ve.reg.lastIndex=0,ve.reg.test(ve.text)):!0))return ge.action}if(j>=2&&V.length>0&&K.length>0)for(let ie=0,te=this._brackets.length;ie<te;ie++){let ge=this._brackets[ie];if(ge.openRegExp.test(V)&&ge.closeRegExp.test(K))return{indentAction:D.wU.IndentOutdent}}if(j>=2&&V.length>0){for(let ie=0,te=this._brackets.length;ie<te;ie++)if(this._brackets[ie].openRegExp.test(V))return{indentAction:D.wU.Indent}}return null}static _createOpenBracketRegExp(j){let R=O.ec(j);return/\B/.test(R.charAt(0))||(R="\\b"+R),R+="\\s*$",s._safeRegExp(R)}static _createCloseBracketRegExp(j){let R=O.ec(j);return/\B/.test(R.charAt(R.length-1))||(R=R+"\\b"),R="^\\s*"+R,s._safeRegExp(R)}static _safeRegExp(j){try{return new RegExp(j)}catch(R){return(0,w.dL)(R),null}}}var C=i(16925),f=i(21194),v=i(64992),r=i(7335),l=function(xe,j,R,V){var K=arguments.length,ie=K<3?j:V===null?V=Object.getOwnPropertyDescriptor(j,R):V,te;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ie=Reflect.decorate(xe,j,R,V);else for(var ge=xe.length-1;ge>=0;ge--)(te=xe[ge])&&(ie=(K<3?te(ie):K>3?te(j,R,ie):te(j,R))||ie);return K>3&&ie&&Object.defineProperty(j,R,ie),ie},m=function(xe,j){return function(R,V){j(R,V,xe)}};class c{constructor(j){this.languageId=j}affects(j){return this.languageId?this.languageId===j:!0}}const b=(0,C.yh)("languageConfigurationService");let L=class extends H.JT{constructor(j,R){super(),this.configurationService=j,this.modeService=R,this.onDidChangeEmitter=this._register(new h.Q5),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const V=new Set(Object.values(M));this._register(this.configurationService.onDidChangeConfiguration(K=>{const ie=K.change.keys.some(ge=>V.has(ge)),te=K.change.overrides.filter(([ge,ye])=>ye.some(ve=>V.has(ve))).map(([ge])=>this.modeService.validateLanguageId(ge));if(ie)this.configurations.clear(),this.onDidChangeEmitter.fire(new c(void 0));else for(const ge of te)ge&&(this.configurations.delete(ge),this.onDidChangeEmitter.fire(new c(ge)))})),this._register(De.onDidChange(K=>{this.configurations.delete(K.languageId),this.onDidChangeEmitter.fire(new c(K.languageId))}))}getLanguageConfiguration(j){let R=this.configurations.get(j);return R||(R=T(j,this.configurationService,this.modeService),this.configurations.set(j,R)),R}};L=l([m(0,f.Ui),m(1,v.h)],L);function T(xe,j,R){let V=De.getLanguageConfiguration(xe);if(!V){const ge=R.validateLanguageId(xe);if(!ge)throw new Error("Unexpected languageId");V=new le(ge,{})}const K=z(V.languageId,j),ie=Z([V.underlyingConfig,K]);return new le(V.languageId,ie)}const M={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function z(xe,j){const R=j.getValue(M.brackets,{overrideIdentifier:xe}),V=j.getValue(M.colorizedBracketPairs,{overrideIdentifier:xe});return{brackets:oe(R),colorizedBracketPairs:oe(V)}}function oe(xe){if(Array.isArray(xe))return xe.map(j=>{if(!(!Array.isArray(j)||j.length!==2))return[j[0],j[1]]}).filter(j=>!!j)}class se{constructor(j){this.languageId=j}}class re{constructor(){this._entries=new Map,this._onDidChange=new h.Q5,this.onDidChange=this._onDidChange.event}register(j,R,V=0){let K=this._entries.get(j);K||(K=new J(j),this._entries.set(j,K));const ie=K.register(R,V);return this._onDidChange.fire(new se(j)),(0,H.OF)(()=>{ie.dispose(),this._onDidChange.fire(new se(j))})}getLanguageConfiguration(j){let R=this._entries.get(j);return(R==null?void 0:R.getResolvedConfiguration())||null}getIndentationRules(j){const R=this.getLanguageConfiguration(j);return R&&R.indentationRules||null}_getElectricCharacterSupport(j){let R=this.getLanguageConfiguration(j);return R&&R.electricCharacter||null}getElectricCharacters(j){let R=this._getElectricCharacterSupport(j);return R?R.getElectricCharacters():[]}onElectricCharacter(j,R,V){let K=(0,G.wH)(R,V-1),ie=this._getElectricCharacterSupport(K.languageId);return ie?ie.onElectricCharacter(j,K,V-K.firstCharOffset):null}getComments(j){let R=this.getLanguageConfiguration(j);return R&&R.comments||null}_getCharacterPairSupport(j){let R=this.getLanguageConfiguration(j);return R&&R.characterPair||null}getAutoClosingPairs(j){const R=this._getCharacterPairSupport(j);return new D.c$(R?R.getAutoClosingPairs():[])}getAutoCloseBeforeSet(j){let R=this._getCharacterPairSupport(j);return R?R.getAutoCloseBeforeSet():I.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED}getSurroundingPairs(j){let R=this._getCharacterPairSupport(j);return R?R.getSurroundingPairs():[]}shouldAutoClosePair(j,R,V){const K=(0,G.wH)(R,V-1);return I.shouldAutoClosePair(j,K,V-K.firstCharOffset)}getWordDefinition(j){let R=this.getLanguageConfiguration(j);return R?(0,P.eq)(R.wordDefinition||null):(0,P.eq)(null)}getFoldingRules(j){let R=this.getLanguageConfiguration(j);return R?R.foldingRules:{}}getIndentRulesSupport(j){let R=this.getLanguageConfiguration(j);return R&&R.indentRulesSupport||null}getPrecedingValidLine(j,R,V){let K=j.getLanguageIdAtPosition(R,0);if(R>1){let ie,te=-1;for(ie=R-1;ie>=1;ie--){if(j.getLanguageIdAtPosition(ie,0)!==K)return te;let ge=j.getLineContent(ie);if(V.shouldIgnore(ge)||/^\s+$/.test(ge)||ge===""){te=ie;continue}return ie}}return-1}getInheritIndentForLine(j,R,V,K=!0){if(j<4)return null;const ie=this.getIndentRulesSupport(R.getLanguageId());if(!ie)return null;if(V<=1)return{indentation:"",action:null};const te=this.getPrecedingValidLine(R,V,ie);if(te<0)return null;if(te<1)return{indentation:"",action:null};const ge=R.getLineContent(te);if(ie.shouldIncrease(ge)||ie.shouldIndentNextLine(ge))return{indentation:O.V8(ge),action:D.wU.Indent,line:te};if(ie.shouldDecrease(ge))return{indentation:O.V8(ge),action:null,line:te};{if(te===1)return{indentation:O.V8(R.getLineContent(te)),action:null,line:te};const ye=te-1,ve=ie.getIndentMetadata(R.getLineContent(ye));if(!(ve&3)&&ve&4){let Fe=0;for(let we=ye-1;we>0;we--)if(!ie.shouldIndentNextLine(R.getLineContent(we))){Fe=we;break}return{indentation:O.V8(R.getLineContent(Fe+1)),action:null,line:Fe+1}}if(K)return{indentation:O.V8(R.getLineContent(te)),action:null,line:te};for(let Fe=te;Fe>0;Fe--){const we=R.getLineContent(Fe);if(ie.shouldIncrease(we))return{indentation:O.V8(we),action:D.wU.Indent,line:Fe};if(ie.shouldIndentNextLine(we)){let ue=0;for(let ce=Fe-1;ce>0;ce--)if(!ie.shouldIndentNextLine(R.getLineContent(Fe))){ue=ce;break}return{indentation:O.V8(R.getLineContent(ue+1)),action:null,line:ue+1}}else if(ie.shouldDecrease(we))return{indentation:O.V8(we),action:null,line:Fe}}return{indentation:O.V8(R.getLineContent(1)),action:null,line:1}}}getGoodIndentForLine(j,R,V,K,ie){if(j<4)return null;const te=this.getLanguageConfiguration(V);if(!te)return null;const ge=this.getIndentRulesSupport(V);if(!ge)return null;const ye=this.getInheritIndentForLine(j,R,K),ve=R.getLineContent(K);if(ye){const Fe=ye.line;if(Fe!==void 0){const we=te.onEnter(j,"",R.getLineContent(Fe),"");if(we){let ue=O.V8(R.getLineContent(Fe));return we.removeText&&(ue=ue.substring(0,ue.length-we.removeText)),we.indentAction===D.wU.Indent||we.indentAction===D.wU.IndentOutdent?ue=ie.shiftIndent(ue):we.indentAction===D.wU.Outdent&&(ue=ie.unshiftIndent(ue)),ge.shouldDecrease(ve)&&(ue=ie.unshiftIndent(ue)),we.appendText&&(ue+=we.appendText),O.V8(ue)}}return ge.shouldDecrease(ve)?ye.action===D.wU.Indent?ye.indentation:ie.unshiftIndent(ye.indentation):ye.action===D.wU.Indent?ie.shiftIndent(ye.indentation):ye.indentation}return null}getIndentForEnter(j,R,V,K){if(j<4)return null;R.forceTokenization(V.startLineNumber);const ie=R.getLineTokens(V.startLineNumber),te=(0,G.wH)(ie,V.startColumn-1),ge=te.getLineContent();let ye=!1,ve;te.firstCharOffset>0&&ie.getLanguageId(0)!==te.languageId?(ye=!0,ve=ge.substr(0,V.startColumn-1-te.firstCharOffset)):ve=ie.getLineContent().substring(0,V.startColumn-1);let Fe;V.isEmpty()?Fe=ge.substr(V.startColumn-1-te.firstCharOffset):Fe=this.getScopedLineTokens(R,V.endLineNumber,V.endColumn).getLineContent().substr(V.endColumn-1-te.firstCharOffset);const we=this.getIndentRulesSupport(te.languageId);if(!we)return null;const ue=ve,ce=O.V8(ve),Ve={getLineTokens:ne=>R.getLineTokens(ne),getLanguageId:()=>R.getLanguageId(),getLanguageIdAtPosition:(ne,W)=>R.getLanguageIdAtPosition(ne,W),getLineContent:ne=>ne===V.startLineNumber?ue:R.getLineContent(ne)},We=O.V8(ie.getLineContent()),ae=this.getInheritIndentForLine(j,Ve,V.startLineNumber+1);if(!ae){const ne=ye?We:ce;return{beforeEnter:ne,afterEnter:ne}}let fe=ye?We:ae.indentation;return ae.action===D.wU.Indent&&(fe=K.shiftIndent(fe)),we.shouldDecrease(Fe)&&(fe=K.unshiftIndent(fe)),{beforeEnter:ye?We:ce,afterEnter:fe}}getIndentActionForType(j,R,V,K,ie){if(j<4)return null;const te=this.getScopedLineTokens(R,V.startLineNumber,V.startColumn);if(te.firstCharOffset)return null;const ge=this.getIndentRulesSupport(te.languageId);if(!ge)return null;const ye=te.getLineContent(),ve=ye.substr(0,V.startColumn-1-te.firstCharOffset);let Fe;if(V.isEmpty()?Fe=ye.substr(V.startColumn-1-te.firstCharOffset):Fe=this.getScopedLineTokens(R,V.endLineNumber,V.endColumn).getLineContent().substr(V.endColumn-1-te.firstCharOffset),!ge.shouldDecrease(ve+Fe)&&ge.shouldDecrease(ve+K+Fe)){const we=this.getInheritIndentForLine(j,R,V.startLineNumber,!1);if(!we)return null;let ue=we.indentation;return we.action!==D.wU.Indent&&(ue=ie.unshiftIndent(ue)),ue}return null}getIndentMetadata(j,R){const V=this.getIndentRulesSupport(j.getLanguageId());return!V||R<1||R>j.getLineCount()?null:V.getIndentMetadata(j.getLineContent(R))}getEnterAction(j,R,V){const K=this.getScopedLineTokens(R,V.startLineNumber,V.startColumn),ie=this.getLanguageConfiguration(K.languageId);if(!ie)return null;const te=K.getLineContent(),ge=te.substr(0,V.startColumn-1-K.firstCharOffset);let ye;V.isEmpty()?ye=te.substr(V.startColumn-1-K.firstCharOffset):ye=this.getScopedLineTokens(R,V.endLineNumber,V.endColumn).getLineContent().substr(V.endColumn-1-K.firstCharOffset);let ve="";if(V.startLineNumber>1&&K.firstCharOffset===0){const We=this.getScopedLineTokens(R,V.startLineNumber-1);We.languageId===K.languageId&&(ve=We.getLineContent())}const Fe=ie.onEnter(j,ve,ge,ye);if(!Fe)return null;const we=Fe.indentAction;let ue=Fe.appendText;const ce=Fe.removeText||0;ue?we===D.wU.Indent&&(ue=" "+ue):we===D.wU.Indent||we===D.wU.IndentOutdent?ue=" ":ue="";let Ve=this.getIndentationAtPosition(R,V.startLineNumber,V.startColumn);return ce&&(Ve=Ve.substring(0,Ve.length-ce)),{indentAction:we,appendText:ue,removeText:ce,indentation:Ve}}getIndentationAtPosition(j,R,V){const K=j.getLineContent(R);let ie=O.V8(K);return ie.length>V-1&&(ie=ie.substring(0,V-1)),ie}getScopedLineTokens(j,R,V){j.forceTokenization(R);const K=j.getLineTokens(R),ie=typeof V=="undefined"?j.getLineMaxColumn(R)-1:V-1;return(0,G.wH)(K,ie)}}const De=new re;class J{constructor(j){this.languageId=j,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(j,R){const V=new Q(j,R,++this._order);return this._entries.push(V),this._resolved=null,(0,H.OF)(()=>{for(let K=0;K<this._entries.length;K++)if(this._entries[K]===V){this._entries.splice(K,1),this._resolved=null;break}})}getResolvedConfiguration(){if(!this._resolved){const j=this._resolve();j&&(this._resolved=new le(this.languageId,j))}return this._resolved}_resolve(){return this._entries.length===0?null:(this._entries.sort(Q.cmp),Z(this._entries.map(j=>j.configuration)))}}function Z(xe){let j={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const R of xe)j={comments:R.comments||j.comments,brackets:R.brackets||j.brackets,wordPattern:R.wordPattern||j.wordPattern,indentationRules:R.indentationRules||j.indentationRules,onEnterRules:R.onEnterRules||j.onEnterRules,autoClosingPairs:R.autoClosingPairs||j.autoClosingPairs,surroundingPairs:R.surroundingPairs||j.surroundingPairs,autoCloseBefore:R.autoCloseBefore||j.autoCloseBefore,folding:R.folding||j.folding,colorizedBracketPairs:R.colorizedBracketPairs||j.colorizedBracketPairs,__electricCharacterSupport:R.__electricCharacterSupport||j.__electricCharacterSupport};return j}class Q{constructor(j,R,V){this.configuration=j,this.priority=R,this.order=V}static cmp(j,R){return j.priority===R.priority?j.order-R.order:j.priority-R.priority}}class le{constructor(j,R){this.languageId=j,this.underlyingConfig=R,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new s(this.underlyingConfig):null,this.comments=le._handleComments(this.underlyingConfig),this.characterPair=new I(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||P.Af,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new g(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{}}getWordDefinition(){return(0,P.eq)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new E.EA(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new p(this.brackets)),this._electricCharacter}onEnter(j,R,V,K){return this._onEnterSupport?this._onEnterSupport.onEnter(j,R,V,K):null}static _handleComments(j){let R=j.comments;if(!R)return null;let V={};if(R.lineComment&&(V.lineCommentToken=R.lineComment),R.blockComment){let[K,ie]=R.blockComment;V.blockCommentStartToken=K,V.blockCommentEndToken=ie}return V}}(0,r.z)(b,L)},73831:function(xt,Te,i){"use strict";i.d(Te,{c:function(){return a},Y:function(){return C}});var h=i(4348),H=i(44619),O=i(69323),P=i(78421),D=i(56722),G=i(63224),I=i(86408);function y(f,v,r,l){if(Array.isArray(f)){let m=0;for(const c of f){const b=y(c,v,r,l);if(b===10)return b;b>m&&(m=b)}return m}else{if(typeof f=="string")return l?f==="*"?5:f===r?10:0:0;if(f){const{language:m,pattern:c,scheme:b,hasAccessToAllModels:L}=f;if(!l&&!L)return 0;let T=0;if(b)if(b===v.scheme)T=10;else if(b==="*")T=5;else return 0;if(m)if(m===r)T=10;else if(m==="*")T=Math.max(T,5);else return 0;if(c){let M;if(typeof c=="string"?M=c:M=Object.assign(Object.assign({},c),{base:(0,I.Fv)(c.base)}),M===v.fsPath||(0,G.EQ)(M,v.fsPath))T=10;else return 0}return T}else return 0}}var E=i(12027);function p(f){return typeof f=="string"?!1:Array.isArray(f)?f.every(p):!!f.exclusive}class a{constructor(){this._clock=0,this._entries=[],this._onDidChange=new h.Q5}get onDidChange(){return this._onDidChange.event}register(v,r){let l={selector:v,provider:r,_score:-1,_time:this._clock++};return this._entries.push(l),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),(0,O.OF)(()=>{if(l){let m=this._entries.indexOf(l);m>=0&&(this._entries.splice(m,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),l=void 0)}})}has(v){return this.all(v).length>0}all(v){if(!v)return[];this._updateScores(v);const r=[];for(let l of this._entries)l._score>0&&r.push(l.provider);return r}ordered(v){const r=[];return this._orderedForEach(v,l=>r.push(l.provider)),r}orderedGroups(v){const r=[];let l,m;return this._orderedForEach(v,c=>{l&&m===c._score?l.push(c.provider):(m=c._score,l=[c.provider],r.push(l))}),r}_orderedForEach(v,r){if(v){this._updateScores(v);for(const l of this._entries)l._score>0&&r(l)}}_updateScores(v){let r={uri:v.uri.toString(),language:v.getLanguageId()};if(!(this._lastCandidate&&this._lastCandidate.language===r.language&&this._lastCandidate.uri===r.uri)){this._lastCandidate=r;for(let l of this._entries)if(l._score=y(l.selector,v.uri,v.getLanguageId(),(0,E.p)(v)),p(l.selector)&&l._score>0){for(let m of this._entries)m._score=0;l._score=1e3;break}this._entries.sort(a._compareByScoreAndTime)}}static _compareByScoreAndTime(v,r){return v._score<r._score?1:v._score>r._score?-1:v._time<r._time?1:v._time>r._time?-1:0}}const g=new WeakMap;let w=0;function s(f){let v=g.get(f);return v===void 0&&(v=++w,g.set(f,v)),v}class C{constructor(v,r,l=Number.MAX_SAFE_INTEGER){this._registry=v,this.min=r,this.max=l,this._cache=new P.z6(50,.7)}_key(v){return v.id+this._registry.all(v).reduce((r,l)=>(0,H.SP)(s(l),r),0)}_clamp(v){return v===void 0?this.min:Math.min(this.max,Math.max(this.min,Math.floor(v*1.3)))}get(v){const r=this._key(v),l=this._cache.get(r);return this._clamp(l==null?void 0:l.value)}update(v,r){const l=this._key(v);let m=this._cache.get(l);return m||(m=new D.n,this._cache.set(l,m)),m.update(r),this.get(v)}}},3182:function(xt,Te,i){"use strict";i.d(Te,{XT:function(){return E},dQ:function(){return y}});var h=i(13268),H=i(4348),O=i(73468),P=i(44650),D=i(8473);const G={ModesRegistry:"editor.modesRegistry"};class I{constructor(){this._onDidChangeLanguages=new H.Q5,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[],this._dynamicLanguages=[]}registerLanguage(g){return this._languages.push(g),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let w=0,s=this._languages.length;w<s;w++)if(this._languages[w]===g){this._languages.splice(w,1);return}}}}getLanguages(){return[].concat(this._languages).concat(this._dynamicLanguages)}}const y=new I;P.B.add(G.ModesRegistry,y);const E="plaintext";y.registerLanguage({id:E,extensions:[".txt"],aliases:[h.N("plainText.alias","Plain Text"),"text"],mimetypes:[D.vW.text]}),O.zu.register(E,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0)},31275:function(xt,Te,i){"use strict";i.d(Te,{Ri:function(){return D},TG:function(){return P},mh:function(){return G},nO:function(){return O}});var h=i(56336);class H{clone(){return this}equals(y){return this===y}}const O=new H,P="vs.editor.nullMode";function D(I,y,E,p){return new h.hG([new h.WU(p,"",I)],E)}function G(I,y,E,p){let a=new Uint32Array(2);return a[0]=p,a[1]=(I<<0|0|0|16384|2<<23)>>>0,new h.Hi(a,E===null?O:E)}},39510:function(xt,Te,i){"use strict";i.d(Te,{Bu:function(){return O},wH:function(){return h}});function h(P,D){let G=P.getCount(),I=P.findTokenIndexAtOffset(D),y=P.getLanguageId(I),E=I;for(;E+1<G&&P.getLanguageId(E+1)===y;)E++;let p=I;for(;p>0&&P.getLanguageId(p-1)===y;)p--;return new H(P,y,p,E+1,P.getStartOffset(p),P.getEndOffset(E))}class H{constructor(D,G,I,y,E,p){this._scopedLineTokensBrand=void 0,this._actual=D,this.languageId=G,this._firstTokenIndex=I,this._lastTokenIndex=y,this.firstCharOffset=E,this._lastCharOffset=p}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(D){return this._actual.getLineContent().substring(0,this.firstCharOffset+D)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(D){return this._actual.findTokenIndexAtOffset(D+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(D){return this._actual.getStandardTokenType(D+this._firstTokenIndex)}}function O(P){return(P&7)!==0}},38232:function(xt,Te,i){"use strict";i.d(Te,{EA:function(){return G},Vr:function(){return v}});var h=i(82983),H=i(48772),O=i(17373);class P{constructor(l,m,c,b,L,T){this._richEditBracketBrand=void 0,this.languageId=l,this.index=m,this.open=c,this.close=b,this.forwardRegex=L,this.reversedRegex=T,this._openSet=P._toSet(this.open),this._closeSet=P._toSet(this.close)}isOpen(l){return this._openSet.has(l)}isClose(l){return this._closeSet.has(l)}static _toSet(l){const m=new Set;for(const c of l)m.add(c);return m}}function D(r){const l=r.length;r=r.map(T=>[T[0].toLowerCase(),T[1].toLowerCase()]);const m=[];for(let T=0;T<l;T++)m[T]=T;const c=(T,M)=>{const[z,oe]=T,[se,re]=M;return z===se||z===re||oe===se||oe===re},b=(T,M)=>{const z=Math.min(T,M),oe=Math.max(T,M);for(let se=0;se<l;se++)m[se]===oe&&(m[se]=z)};for(let T=0;T<l;T++){const M=r[T];for(let z=T+1;z<l;z++){const oe=r[z];c(M,oe)&&b(m[T],m[z])}}const L=[];for(let T=0;T<l;T++){let M=[],z=[];for(let oe=0;oe<l;oe++)if(m[oe]===T){const[se,re]=r[oe];M.push(se),z.push(re)}M.length>0&&L.push({open:M,close:z})}return L}class G{constructor(l,m){this._richEditBracketsBrand=void 0;const c=D(m);this.brackets=c.map((b,L)=>new P(l,L,b.open,b.close,p(b.open,b.close,c,L),a(b.open,b.close,c,L))),this.forwardRegex=g(this.brackets),this.reversedRegex=w(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const b of this.brackets){for(const L of b.open)this.textIsBracket[L]=b,this.textIsOpenBracket[L]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,L.length);for(const L of b.close)this.textIsBracket[L]=b,this.textIsOpenBracket[L]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,L.length)}}}function I(r,l,m,c){for(let b=0,L=l.length;b<L;b++){if(b===m)continue;const T=l[b];for(const M of T.open)M.indexOf(r)>=0&&c.push(M);for(const M of T.close)M.indexOf(r)>=0&&c.push(M)}}function y(r,l){return r.length-l.length}function E(r){if(r.length<=1)return r;const l=[],m=new Set;for(const c of r)m.has(c)||(l.push(c),m.add(c));return l}function p(r,l,m,c){let b=[];b=b.concat(r),b=b.concat(l);for(let L=0,T=b.length;L<T;L++)I(b[L],m,c,b);return b=E(b),b.sort(y),b.reverse(),C(b)}function a(r,l,m,c){let b=[];b=b.concat(r),b=b.concat(l);for(let L=0,T=b.length;L<T;L++)I(b[L],m,c,b);return b=E(b),b.sort(y),b.reverse(),C(b.map(f))}function g(r){let l=[];for(const m of r){for(const c of m.open)l.push(c);for(const c of m.close)l.push(c)}return l=E(l),C(l)}function w(r){let l=[];for(const m of r){for(const c of m.open)l.push(c);for(const c of m.close)l.push(c)}return l=E(l),C(l.map(f))}function s(r){const l=/^[\w ]+$/.test(r);return r=h.ec(r),l?`\\b${r}\\b`:r}function C(r){let l=`(${r.map(s).join(")|(")})`;return h.GF(l,!0)}const f=function(){function r(c){if(H.lZ){const b=new Uint16Array(c.length);let L=0;for(let T=c.length-1;T>=0;T--)b[L++]=c.charCodeAt(T);return H.oe().decode(b)}else{let b=[],L=0;for(let T=c.length-1;T>=0;T--)b[L++]=c.charAt(T);return b.join("")}}let l=null,m=null;return function(b){return l!==b&&(l=b,m=r(l)),m}}();class v{static _findPrevBracketInText(l,m,c,b){let L=c.match(l);if(!L)return null;let T=c.length-(L.index||0),M=L[0].length,z=b+T;return new O.e(m,z-M+1,m,z+1)}static findPrevBracketInRange(l,m,c,b,L){const M=f(c).substring(c.length-L,c.length-b);return this._findPrevBracketInText(l,m,M,b)}static findNextBracketInText(l,m,c,b){let L=c.match(l);if(!L)return null;let T=L.index||0,M=L[0].length;if(M===0)return null;let z=b+T;return new O.e(m,z+1,m,z+1+M)}static findNextBracketInRange(l,m,c,b,L){const T=c.substring(b,L);return this.findNextBracketInText(l,m,T,b)}}},5972:function(xt,Te,i){"use strict";i.d(Te,{C:function(){return D},F:function(){return G}});var h=i(82983),H=i(35521),O=i(31275);const P={getInitialState:()=>O.nO,tokenize2:(y,E,p,a)=>(0,O.mh)(0,y,p,a)};function D(y,E,p=P){return I(y,E,p||P)}function G(y,E,p,a,g,w,s){let C="<div>",f=a,v=0,r=!0;for(let l=0,m=E.getCount();l<m;l++){const c=E.getEndOffset(l);if(c<=a)continue;let b="";for(;f<c&&f<g;f++){const L=y.charCodeAt(f);switch(L){case 9:let T=w-(f+v)%w;for(v+=T-1;T>0;)s&&r?(b+="&#160;",r=!1):(b+=" ",r=!0),T--;break;case 60:b+="&lt;",r=!1;break;case 62:b+="&gt;",r=!1;break;case 38:b+="&amp;",r=!1;break;case 0:b+="&#00;",r=!1;break;case 65279:case 8232:case 8233:case 133:b+="\uFFFD",r=!1;break;case 13:b+="&#8203",r=!1;break;case 32:s&&r?(b+="&#160;",r=!1):(b+=" ",r=!0);break;default:b+=String.fromCharCode(L),r=!1}}if(C+=`<span style="${E.getInlineStyle(l,p)}">${b}</span>`,c>g||f>=g)break}return C+="</div>",C}function I(y,E,p){let a='<div class="monaco-tokenized-source">';const g=h.uq(y);let w=p.getInitialState();for(let s=0,C=g.length;s<C;s++){const f=g[s];s>0&&(a+="<br/>");const v=p.tokenize2(f,!0,w,0);H.A.convertToEndOffset(v.tokens,f.length);const l=new H.A(v.tokens,f,E).inflate();let m=0;for(let c=0,b=l.getCount();c<b;c++){const L=l.getClassName(c),T=l.getEndOffset(c);a+=`<span class="${L}">${h.YU(f.substring(m,T))}</span>`,m=T}w=v.endState}return a+="</div>",a}},52645:function(xt,Te,i){"use strict";i.d(Te,{p:function(){return O}});var h=i(16925);const O=(0,h.yh)("editorWorkerService")},26757:function(xt,Te,i){"use strict";i.d(Te,{OG:function(){return z},ML:function(){return c},KO:function(){return T},Jc:function(){return l},Vl:function(){return f},Vj:function(){return v}});var h=i(96283),H=i(79881),O=i(4968),P=i(27347),D=i(12027),G=i(35884),I=i(72999),y=i(90794),E=i(23345);function p(oe){for(let se=0,re=oe.length;se<re;se+=4){const De=oe[se+0],J=oe[se+1],Z=oe[se+2],Q=oe[se+3];oe[se+0]=Q,oe[se+1]=Z,oe[se+2]=J,oe[se+3]=De}}function a(oe){const se=new Uint8Array(oe.buffer,oe.byteOffset,oe.length*4);return E.r()||p(se),y.KN.wrap(se)}function g(oe){const se=new Uint32Array(w(oe));let re=0;if(se[re++]=oe.id,oe.type==="full")se[re++]=1,se[re++]=oe.data.length,se.set(oe.data,re),re+=oe.data.length;else{se[re++]=2,se[re++]=oe.deltas.length;for(const De of oe.deltas)se[re++]=De.start,se[re++]=De.deleteCount,De.data?(se[re++]=De.data.length,se.set(De.data,re),re+=De.data.length):se[re++]=0}return a(se)}function w(oe){let se=0;if(se+=2,oe.type==="full")se+=1+oe.data.length;else{se+=1,se+=3*oe.deltas.length;for(const re of oe.deltas)re.data&&(se+=re.data.length)}return se}var s=i(17373),C=function(oe,se,re,De){function J(Z){return Z instanceof re?Z:new re(function(Q){Q(Z)})}return new(re||(re=Promise))(function(Z,Q){function le(R){try{j(De.next(R))}catch(V){Q(V)}}function xe(R){try{j(De.throw(R))}catch(V){Q(V)}}function j(R){R.done?Z(R.value):J(R.value).then(le,xe)}j((De=De.apply(oe,se||[])).next())})};function f(oe){return oe&&!!oe.data}function v(oe){return oe&&Array.isArray(oe.edits)}class r{constructor(se,re){this.provider=se,this.tokens=re}}function l(oe){return P.wT.has(oe)}function m(oe){const se=P.wT.orderedGroups(oe);return se.length>0?se[0]:[]}function c(oe,se,re,De){return C(this,void 0,void 0,function*(){const J=m(oe),Z=yield Promise.all(J.map(Q=>C(this,void 0,void 0,function*(){let le;try{le=yield Q.provideDocumentSemanticTokens(oe,Q===se?re:null,De)}catch(xe){(0,H.Cp)(xe),le=null}return(!le||!f(le)&&!v(le))&&(le=null),new r(Q,le)})));for(const Q of Z)if(Q.tokens)return Q;return Z.length>0?Z[0]:null})}function b(oe){const se=P.wT.orderedGroups(oe);return se.length>0?se[0]:null}class L{constructor(se,re){this.provider=se,this.tokens=re}}function T(oe){return P.K7.has(oe)}function M(oe){const se=P.K7.orderedGroups(oe);return se.length>0?se[0]:[]}function z(oe,se,re){return C(this,void 0,void 0,function*(){const De=M(oe),J=yield Promise.all(De.map(Z=>C(this,void 0,void 0,function*(){let Q;try{Q=yield Z.provideDocumentRangeSemanticTokens(oe,se,re)}catch(le){(0,H.Cp)(le),Q=null}return(!Q||!f(Q))&&(Q=null),new L(Z,Q)})));for(const Z of J)if(Z.tokens)return Z;return J.length>0?J[0]:null})}G.P.registerCommand("_provideDocumentSemanticTokensLegend",(oe,...se)=>C(void 0,void 0,void 0,function*(){const[re]=se;(0,I.p_)(re instanceof O.o);const De=oe.get(D.q).getModel(re);if(!De)return;const J=b(De);return J?J[0].getLegend():oe.get(G.H).executeCommand("_provideDocumentRangeSemanticTokensLegend",re)})),G.P.registerCommand("_provideDocumentSemanticTokens",(oe,...se)=>C(void 0,void 0,void 0,function*(){const[re]=se;(0,I.p_)(re instanceof O.o);const De=oe.get(D.q).getModel(re);if(!De)return;if(!l(De))return oe.get(G.H).executeCommand("_provideDocumentRangeSemanticTokens",re,De.getFullModelRange());const J=yield c(De,null,null,h.T.None);if(!J)return;const{provider:Z,tokens:Q}=J;if(!Q||!f(Q))return;const le=g({id:0,type:"full",data:Q.data});return Q.resultId&&Z.releaseDocumentSemanticTokens(Q.resultId),le})),G.P.registerCommand("_provideDocumentRangeSemanticTokensLegend",(oe,...se)=>C(void 0,void 0,void 0,function*(){const[re,De]=se;(0,I.p_)(re instanceof O.o);const J=oe.get(D.q).getModel(re);if(!J)return;const Z=M(J);if(Z.length===0)return;if(Z.length===1)return Z[0].getLegend();if(!De||!s.e.isIRange(De))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),Z[0].getLegend();const Q=yield z(J,s.e.lift(De),h.T.None);if(Q)return Q.provider.getLegend()})),G.P.registerCommand("_provideDocumentRangeSemanticTokens",(oe,...se)=>C(void 0,void 0,void 0,function*(){const[re,De]=se;(0,I.p_)(re instanceof O.o),(0,I.p_)(s.e.isIRange(De));const J=oe.get(D.q).getModel(re);if(!J)return;const Z=yield z(J,s.e.lift(De),h.T.None);if(!(!Z||!Z.tokens))return g({id:0,type:"full",data:Z.tokens.data})}))},49178:function(xt,Te,i){"use strict";i.d(Te,{i:function(){return H}});var h=i(16925);const H=(0,h.yh)("markerDecorationsService")},64992:function(xt,Te,i){"use strict";i.d(Te,{h:function(){return H}});var h=i(16925);const H=(0,h.yh)("modeService")},12027:function(xt,Te,i){"use strict";i.d(Te,{p:function(){return O},q:function(){return H}});var h=i(16925);const H=(0,h.yh)("modelService");function O(P){return!P.isTooLargeForSyncing()&&!P.isForSimpleWidget}},17539:function(xt,Te,i){"use strict";i.d(Te,{BR:function(){return J},e3:function(){return Z},tw:function(){return Q}});var h=i(4348),H=i(69323),O=i(23345),P=i(79881),D=i(97199),G=i(31276),I=i(27347),y=i(3182),E=i(64992),p=i(62284),a=i(21194),g=i(50431),w=i(96283),s=i(49055),C=i(44182),f=i(1085),v=i(44619),r=i(24143),l=i(66657),m=i(32981),c=i(26757),b=i(80470),L=i(73468),T=function(V,K,ie,te){var ge=arguments.length,ye=ge<3?K:te===null?te=Object.getOwnPropertyDescriptor(K,ie):te,ve;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ye=Reflect.decorate(V,K,ie,te);else for(var Fe=V.length-1;Fe>=0;Fe--)(ve=V[Fe])&&(ye=(ge<3?ve(ye):ge>3?ve(K,ie,ye):ve(K,ie))||ye);return ge>3&&ye&&Object.defineProperty(K,ie,ye),ye},M=function(V,K){return function(ie,te){K(ie,te,V)}};function z(V){return V.toString()}function oe(V){const K=new v.yP,ie=V.createSnapshot();let te;for(;te=ie.read();)K.update(te);return K.digest()}class se{constructor(K,ie,te){this._modelEventListeners=new H.SL,this.model=K,this._languageSelection=null,this._languageSelectionListener=null,this._modelEventListeners.add(K.onWillDispose(()=>ie(K))),this._modelEventListeners.add(K.onDidChangeLanguage(ge=>te(K,ge)))}_disposeLanguageSelection(){this._languageSelectionListener&&(this._languageSelectionListener.dispose(),this._languageSelectionListener=null)}dispose(){this._modelEventListeners.dispose(),this._disposeLanguageSelection()}setLanguage(K){this._disposeLanguageSelection(),this._languageSelection=K,this._languageSelectionListener=this._languageSelection.onDidChange(()=>this.model.setMode(K.languageId)),this.model.setMode(K.languageId)}}const re=O.IJ||O.dz?1:2;class De{constructor(K,ie,te,ge,ye,ve,Fe,we){this.uri=K,this.initialUndoRedoSnapshot=ie,this.time=te,this.sharesUndoRedoStack=ge,this.heapSize=ye,this.sha1=ve,this.versionId=Fe,this.alternativeVersionId=we}}let J=class qo extends H.JT{constructor(K,ie,te,ge,ye,ve,Fe){super(),this._configurationService=K,this._resourcePropertiesService=ie,this._themeService=te,this._logService=ge,this._undoRedoService=ye,this._modeService=ve,this._languageConfigurationService=Fe,this._onModelAdded=this._register(new h.Q5),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new h.Q5),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new h.Q5),this.onModelModeChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._semanticStyling=this._register(new xe(this._themeService,this._modeService,this._logService)),this._register(this._configurationService.onDidChangeConfiguration(()=>this._updateModelOptions())),this._updateModelOptions(),this._register(new le(this,this._themeService,this._configurationService,this._semanticStyling))}static _readModelOptions(K,ie){var te;let ge=D.DB.tabSize;if(K.editor&&typeof K.editor.tabSize!="undefined"){const ae=parseInt(K.editor.tabSize,10);isNaN(ae)||(ge=ae),ge<1&&(ge=1)}let ye=ge;if(K.editor&&typeof K.editor.indentSize!="undefined"&&K.editor.indentSize!=="tabSize"){const ae=parseInt(K.editor.indentSize,10);isNaN(ae)||(ye=ae),ye<1&&(ye=1)}let ve=D.DB.insertSpaces;K.editor&&typeof K.editor.insertSpaces!="undefined"&&(ve=K.editor.insertSpaces==="false"?!1:!!K.editor.insertSpaces);let Fe=re;const we=K.eol;we===`\r
`?Fe=2:we===`
`&&(Fe=1);let ue=D.DB.trimAutoWhitespace;K.editor&&typeof K.editor.trimAutoWhitespace!="undefined"&&(ue=K.editor.trimAutoWhitespace==="false"?!1:!!K.editor.trimAutoWhitespace);let ce=D.DB.detectIndentation;K.editor&&typeof K.editor.detectIndentation!="undefined"&&(ce=K.editor.detectIndentation==="false"?!1:!!K.editor.detectIndentation);let Ve=D.DB.largeFileOptimizations;K.editor&&typeof K.editor.largeFileOptimizations!="undefined"&&(Ve=K.editor.largeFileOptimizations==="false"?!1:!!K.editor.largeFileOptimizations);let We=D.DB.bracketPairColorizationOptions;return!((te=K.editor)===null||te===void 0)&&te.bracketPairColorization&&typeof K.editor.bracketPairColorization=="object"&&(We={enabled:!!K.editor.bracketPairColorization.enabled}),{isForSimpleWidget:ie,tabSize:ge,indentSize:ye,insertSpaces:ve,detectIndentation:ce,defaultEOL:Fe,trimAutoWhitespace:ue,largeFileOptimizations:Ve,bracketPairColorizationOptions:We}}_getEOL(K,ie){if(K)return this._resourcePropertiesService.getEOL(K,ie);const te=this._configurationService.getValue("files.eol",{overrideIdentifier:ie});return te&&typeof te=="string"&&te!=="auto"?te:O.OS===3||O.OS===2?`
`:`\r
`}_shouldRestoreUndoStack(){const K=this._configurationService.getValue("files.restoreUndoStack");return typeof K=="boolean"?K:!0}getCreationOptions(K,ie,te){let ge=this._modelCreationOptionsByLanguageAndResource[K+ie];if(!ge){const ye=this._configurationService.getValue("editor",{overrideIdentifier:K,resource:ie}),ve=this._getEOL(ie,K);ge=qo._readModelOptions({editor:ye,eol:ve},te),this._modelCreationOptionsByLanguageAndResource[K+ie]=ge}return ge}_updateModelOptions(){const K=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const ie=Object.keys(this._models);for(let te=0,ge=ie.length;te<ge;te++){const ye=ie[te],ve=this._models[ye],Fe=ve.model.getLanguageId(),we=ve.model.uri,ue=K[Fe+we],ce=this.getCreationOptions(Fe,we,ve.model.isForSimpleWidget);qo._setModelOptionsForModel(ve.model,ce,ue)}}static _setModelOptionsForModel(K,ie,te){te&&te.defaultEOL!==ie.defaultEOL&&K.getLineCount()===1&&K.setEOL(ie.defaultEOL===1?0:1),!(te&&te.detectIndentation===ie.detectIndentation&&te.insertSpaces===ie.insertSpaces&&te.tabSize===ie.tabSize&&te.indentSize===ie.indentSize&&te.trimAutoWhitespace===ie.trimAutoWhitespace&&(0,b.fS)(te.bracketPairColorizationOptions,ie.bracketPairColorizationOptions))&&(ie.detectIndentation?(K.detectIndentation(ie.insertSpaces,ie.tabSize),K.updateOptions({trimAutoWhitespace:ie.trimAutoWhitespace,bracketColorizationOptions:ie.bracketPairColorizationOptions})):K.updateOptions({insertSpaces:ie.insertSpaces,tabSize:ie.tabSize,indentSize:ie.indentSize,trimAutoWhitespace:ie.trimAutoWhitespace,bracketColorizationOptions:ie.bracketPairColorizationOptions}))}_insertDisposedModel(K){this._disposedModels.set(z(K.uri),K),this._disposedModelsHeapSize+=K.heapSize}_removeDisposedModel(K){const ie=this._disposedModels.get(z(K));return ie&&(this._disposedModelsHeapSize-=ie.heapSize),this._disposedModels.delete(z(K)),ie}_ensureDisposedModelsHeapSize(K){if(this._disposedModelsHeapSize>K){const ie=[];for(this._disposedModels.forEach(te=>{te.sharesUndoRedoStack||ie.push(te)}),ie.sort((te,ge)=>te.time-ge.time);ie.length>0&&this._disposedModelsHeapSize>K;){const te=ie.shift();this._removeDisposedModel(te.uri),te.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(te.initialUndoRedoSnapshot)}}}_createModelData(K,ie,te,ge){const ye=this.getCreationOptions(ie,te,ge),ve=new G.yO(K,ye,ie,te,this._undoRedoService,this._modeService,this._languageConfigurationService);if(te&&this._disposedModels.has(z(te))){const ue=this._removeDisposedModel(te),ce=this._undoRedoService.getElements(te),Ve=oe(ve)===ue.sha1;if(Ve||ue.sharesUndoRedoStack){for(const We of ce.past)(0,r.e9)(We)&&We.matchesResource(te)&&We.setModel(ve);for(const We of ce.future)(0,r.e9)(We)&&We.matchesResource(te)&&We.setModel(ve);this._undoRedoService.setElementsValidFlag(te,!0,We=>(0,r.e9)(We)&&We.matchesResource(te)),Ve&&(ve._overwriteVersionId(ue.versionId),ve._overwriteAlternativeVersionId(ue.alternativeVersionId),ve._overwriteInitialUndoRedoSnapshot(ue.initialUndoRedoSnapshot))}else ue.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(ue.initialUndoRedoSnapshot)}const Fe=z(ve.uri);if(this._models[Fe])throw new Error("ModelService: Cannot add model because it already exists!");const we=new se(ve,ue=>this._onWillDispose(ue),(ue,ce)=>this._onDidChangeLanguage(ue,ce));return this._models[Fe]=we,we}createModel(K,ie,te,ge=!1){let ye;return ie?(ye=this._createModelData(K,ie.languageId,te,ge),this.setMode(ye.model,ie)):ye=this._createModelData(K,y.XT,te,ge),this._onModelAdded.fire(ye.model),ye.model}setMode(K,ie){if(!ie)return;const te=this._models[z(K.uri)];te&&te.setLanguage(ie)}getModels(){const K=[],ie=Object.keys(this._models);for(let te=0,ge=ie.length;te<ge;te++){const ye=ie[te];K.push(this._models[ye].model)}return K}getModel(K){const ie=z(K),te=this._models[ie];return te?te.model:null}getSemanticTokensProviderStyling(K){return this._semanticStyling.get(K)}_schemaShouldMaintainUndoRedoElements(K){return K.scheme===l.lg.file||K.scheme===l.lg.vscodeRemote||K.scheme===l.lg.userData||K.scheme===l.lg.vscodeNotebookCell||K.scheme==="fake-fs"}_onWillDispose(K){const ie=z(K.uri),te=this._models[ie],ge=this._undoRedoService.getUriComparisonKey(K.uri)!==K.uri.toString();let ye=!1,ve=0;if(ge||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(K.uri)){const we=this._undoRedoService.getElements(K.uri);if(we.past.length>0||we.future.length>0){for(const ue of we.past)(0,r.e9)(ue)&&ue.matchesResource(K.uri)&&(ye=!0,ve+=ue.heapSize(K.uri),ue.setModel(K.uri));for(const ue of we.future)(0,r.e9)(ue)&&ue.matchesResource(K.uri)&&(ye=!0,ve+=ue.heapSize(K.uri),ue.setModel(K.uri))}}const Fe=qo.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK;if(ye)if(!ge&&ve>Fe){const we=te.model.getInitialUndoRedoSnapshot();we!==null&&this._undoRedoService.restoreSnapshot(we)}else this._ensureDisposedModelsHeapSize(Fe-ve),this._undoRedoService.setElementsValidFlag(K.uri,!1,we=>(0,r.e9)(we)&&we.matchesResource(K.uri)),this._insertDisposedModel(new De(K.uri,te.model.getInitialUndoRedoSnapshot(),Date.now(),ge,ve,oe(K),K.getVersionId(),K.getAlternativeVersionId()));else if(!ge){const we=te.model.getInitialUndoRedoSnapshot();we!==null&&this._undoRedoService.restoreSnapshot(we)}delete this._models[ie],te.dispose(),delete this._modelCreationOptionsByLanguageAndResource[K.getLanguageId()+K.uri],this._onModelRemoved.fire(K)}_onDidChangeLanguage(K,ie){const te=ie.oldLanguage,ge=K.getLanguageId(),ye=this.getCreationOptions(te,K.uri,K.isForSimpleWidget),ve=this.getCreationOptions(ge,K.uri,K.isForSimpleWidget);qo._setModelOptionsForModel(K,ve,ye),this._onModelModeChanged.fire({model:K,oldModeId:te})}};J.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024,J=T([M(0,a.Ui),M(1,p.y),M(2,s.XE),M(3,C.VZ),M(4,f.tJ),M(5,E.h),M(6,L.c_)],J);const Z="editor.semanticHighlighting";function Q(V,K,ie){var te;const ge=(te=ie.getValue(Z,{overrideIdentifier:V.getLanguageId(),resource:V.uri}))===null||te===void 0?void 0:te.enabled;return typeof ge=="boolean"?ge:K.getColorTheme().semanticHighlighting}class le extends H.JT{constructor(K,ie,te,ge){super(),this._watchers=Object.create(null),this._semanticStyling=ge;const ye=we=>{this._watchers[we.uri.toString()]=new R(we,ie,this._semanticStyling)},ve=(we,ue)=>{ue.dispose(),delete this._watchers[we.uri.toString()]},Fe=()=>{for(let we of K.getModels()){const ue=this._watchers[we.uri.toString()];Q(we,ie,te)?ue||ye(we):ue&&ve(we,ue)}};this._register(K.onModelAdded(we=>{Q(we,ie,te)&&ye(we)})),this._register(K.onModelRemoved(we=>{const ue=this._watchers[we.uri.toString()];ue&&ve(we,ue)})),this._register(te.onDidChangeConfiguration(we=>{we.affectsConfiguration(Z)&&Fe()})),this._register(ie.onDidColorThemeChange(Fe))}}class xe extends H.JT{constructor(K,ie,te){super(),this._themeService=K,this._modeService=ie,this._logService=te,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}get(K){return this._caches.has(K)||this._caches.set(K,new m.$(K.getLegend(),this._themeService,this._modeService,this._logService)),this._caches.get(K)}}class j{constructor(K,ie,te){this.provider=K,this.resultId=ie,this.data=te}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}class R extends H.JT{constructor(K,ie,te){super(),this._isDisposed=!1,this._model=K,this._semanticStyling=te,this._fetchDocumentSemanticTokens=this._register(new g.pY(()=>this._fetchDocumentSemanticTokensNow(),R.FETCH_DOCUMENT_SEMANTIC_TOKENS_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule()})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const ge=()=>{(0,H.B9)(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const ye of I.wT.all(K))typeof ye.onDidChange=="function"&&this._documentProvidersChangeListeners.push(ye.onDidChange(()=>this._fetchDocumentSemanticTokens.schedule(0)))};ge(),this._register(I.wT.onDidChange(()=>{ge(),this._fetchDocumentSemanticTokens.schedule()})),this._register(ie.onDidColorThemeChange(ye=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule()})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!(0,c.Jc)(this._model)){this._currentDocumentResponse&&this._model.setSemanticTokens(null,!1);return}const K=new w.A,ie=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,te=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,ge=(0,c.ML)(this._model,ie,te,K.token);this._currentDocumentRequestCancellationTokenSource=K;const ye=[],ve=this._model.onDidChangeContent(Fe=>{ye.push(Fe)});ge.then(Fe=>{if(this._currentDocumentRequestCancellationTokenSource=null,ve.dispose(),!Fe)this._setDocumentSemanticTokens(null,null,null,ye);else{const{provider:we,tokens:ue}=Fe,ce=this._semanticStyling.get(we);this._setDocumentSemanticTokens(we,ue||null,ce,ye)}},Fe=>{Fe&&(P.VV(Fe)||typeof Fe.message=="string"&&Fe.message.indexOf("busy")!==-1)||P.dL(Fe),this._currentDocumentRequestCancellationTokenSource=null,ve.dispose(),ye.length>0&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule())})}static _copy(K,ie,te,ge,ye){for(let ve=0;ve<ye;ve++)te[ge+ve]=K[ie+ve]}_setDocumentSemanticTokens(K,ie,te,ge){const ye=this._currentDocumentResponse,ve=()=>{ge.length>0&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule()};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){K&&ie&&K.releaseDocumentSemanticTokens(ie.resultId);return}if(!K||!te){this._model.setSemanticTokens(null,!1);return}if(!ie){this._model.setSemanticTokens(null,!0),ve();return}if((0,c.Vj)(ie)){if(!ye){this._model.setSemanticTokens(null,!0);return}if(ie.edits.length===0)ie={resultId:ie.resultId,data:ye.data};else{let Fe=0;for(const We of ie.edits)Fe+=(We.data?We.data.length:0)-We.deleteCount;const we=ye.data,ue=new Uint32Array(we.length+Fe);let ce=we.length,Ve=ue.length;for(let We=ie.edits.length-1;We>=0;We--){const ae=ie.edits[We],fe=ce-(ae.start+ae.deleteCount);fe>0&&(R._copy(we,ce-fe,ue,Ve-fe,fe),Ve-=fe),ae.data&&(R._copy(ae.data,0,ue,Ve-ae.data.length,ae.data.length),Ve-=ae.data.length),ce=ae.start}ce>0&&R._copy(we,0,ue,0,ce),ie={resultId:ie.resultId,data:ue}}}if((0,c.Vl)(ie)){this._currentDocumentResponse=new j(K,ie.resultId,ie.data);const Fe=(0,m.h)(ie,te,this._model.getLanguageId());if(ge.length>0)for(const we of ge)for(const ue of Fe)for(const ce of we.changes)ue.applyEdit(ce.range,ce.text);this._model.setSemanticTokens(Fe,!0)}else this._model.setSemanticTokens(null,!0);ve()}}R.FETCH_DOCUMENT_SEMANTIC_TOKENS_DELAY=300},16862:function(xt,Te,i){"use strict";i.d(Te,{S:function(){return H}});var h=i(16925);const H=(0,h.yh)("textModelService")},32981:function(xt,Te,i){"use strict";i.d(Te,{$:function(){return y},h:function(){return E}});var h=i(27347),H=i(49055),O=i(44182),P=i(66039),D=i(64992),G=function(g,w,s,C){var f=arguments.length,v=f<3?w:C===null?C=Object.getOwnPropertyDescriptor(w,s):C,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(g,w,s,C);else for(var l=g.length-1;l>=0;l--)(r=g[l])&&(v=(f<3?r(v):f>3?r(w,s,v):r(w,s))||v);return f>3&&v&&Object.defineProperty(w,s,v),v},I=function(g,w){return function(s,C){w(s,C,g)}};let y=class{constructor(w,s,C,f){this._legend=w,this._themeService=s,this._modeService=C,this._logService=f,this._hashTable=new a,this._hasWarnedOverlappingTokens=!1}getMetadata(w,s,C){const f=this._modeService.languageIdCodec.encodeLanguageId(C),v=this._hashTable.get(w,s,f);let r;if(v)r=v.metadata,this._logService.getLevel()===O.in.Trace&&this._logService.trace(`SemanticTokensProviderStyling [CACHED] ${w} / ${s}: foreground ${h.NX.getForeground(r)}, fontStyle ${h.NX.getFontStyle(r).toString(2)}`);else{let l=this._legend.tokenTypes[w];const m=[];if(l){let c=s;for(let L=0;c>0&&L<this._legend.tokenModifiers.length;L++)c&1&&m.push(this._legend.tokenModifiers[L]),c=c>>1;c>0&&this._logService.getLevel()===O.in.Trace&&(this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${s.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`),m.push("not-in-legend"));const b=this._themeService.getColorTheme().getTokenStyleMetadata(l,m,C);if(typeof b=="undefined")r=2147483647;else{if(r=0,typeof b.italic!="undefined"){const L=(b.italic?1:0)<<11;r|=L|1}if(typeof b.bold!="undefined"){const L=(b.bold?2:0)<<11;r|=L|2}if(typeof b.underline!="undefined"){const L=(b.underline?4:0)<<11;r|=L|4}if(b.foreground){const L=b.foreground<<14;r|=L|8}r===0&&(r=2147483647)}}else this._logService.getLevel()===O.in.Trace&&this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${w} for legend: ${JSON.stringify(this._legend.tokenTypes)}`),r=2147483647,l="not-in-legend";this._hashTable.add(w,s,f,r),this._logService.getLevel()===O.in.Trace&&this._logService.trace(`SemanticTokensProviderStyling ${w} (${l}) / ${s} (${m.join(" ")}): foreground ${h.NX.getForeground(r)}, fontStyle ${h.NX.getFontStyle(r).toString(2)}`)}return r}warnOverlappingSemanticTokens(w,s){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,console.warn(`Overlapping semantic tokens detected at lineNumber ${w}, column ${s}`))}};y=G([I(1,H.XE),I(2,D.h),I(3,O.VZ)],y);function E(g,w,s){const C=g.data,f=g.data.length/5|0,v=Math.max(Math.ceil(f/1024),400),r=[];let l=0,m=1,c=0;for(;l<f;){const b=l;let L=Math.min(b+v,f);if(L<f){let J=L;for(;J-1>b&&C[5*J]===0;)J--;if(J-1===b){let Z=L;for(;Z+1<f&&C[5*Z]===0;)Z++;L=Z}else L=J}let T=new Uint32Array((L-b)*4),M=0,z=0,oe=0,se=0,re=0;for(;l<L;){const J=5*l,Z=C[J],Q=C[J+1],le=m+Z|0,xe=Z===0?c+Q|0:Q,j=C[J+2],R=C[J+3],V=C[J+4],K=w.getMetadata(R,V,s);K!==2147483647&&(z===0&&(z=le),oe===le&&re>xe&&(w.warnOverlappingSemanticTokens(le,xe+1),se<xe?T[M-4+2]=xe:M-=4),T[M]=le-z,T[M+1]=xe,T[M+2]=xe+j,T[M+3]=K,M+=4,oe=le,se=xe,re=xe+j),m=le,c=xe,l++}M!==T.length&&(T=T.subarray(0,M));const De=new P.Wz(z,new P.OU(T));r.push(De)}return r}class p{constructor(w,s,C,f){this.tokenTypeIndex=w,this.tokenModifierSet=s,this.languageId=C,this.metadata=f,this.next=null}}class a{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=a._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<a._SIZES.length?2/3*this._currentLength:0),this._elements=[],a._nullOutEntries(this._elements,this._currentLength)}static _nullOutEntries(w,s){for(let C=0;C<s;C++)w[C]=null}_hash2(w,s){return(w<<5)-w+s|0}_hashFunc(w,s,C){return this._hash2(this._hash2(w,s),C)%this._currentLength}get(w,s,C){const f=this._hashFunc(w,s,C);let v=this._elements[f];for(;v;){if(v.tokenTypeIndex===w&&v.tokenModifierSet===s&&v.languageId===C)return v;v=v.next}return null}add(w,s,C,f){if(this._elementsCount++,this._growCount!==0&&this._elementsCount>=this._growCount){const v=this._elements;this._currentLengthIndex++,this._currentLength=a._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<a._SIZES.length?2/3*this._currentLength:0),this._elements=[],a._nullOutEntries(this._elements,this._currentLength);for(const r of v){let l=r;for(;l;){const m=l.next;l.next=null,this._add(l),l=m}}}this._add(new p(w,s,C,f))}_add(w){const s=this._hashFunc(w.tokenTypeIndex,w.tokenModifierSet,w.languageId);w.next=this._elements[s],this._elements[s]=w}}a._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]},62284:function(xt,Te,i){"use strict";i.d(Te,{V:function(){return H},y:function(){return O}});var h=i(16925);const H=(0,h.yh)("textResourceConfigurationService"),O=(0,h.yh)("textResourcePropertiesService")},5530:function(xt,Te,i){"use strict";i.d(Te,{B8:function(){return y},Oe:function(){return H},UL:function(){return p},UX:function(){return G},aq:function(){return I},ld:function(){return D},qq:function(){return P},ug:function(){return O},xi:function(){return E}});var h=i(13268),H;(function(a){a.noSelection=h.N("noSelection","No selection"),a.singleSelectionRange=h.N("singleSelectionRange","Line {0}, Column {1} ({2} selected)"),a.singleSelection=h.N("singleSelection","Line {0}, Column {1}"),a.multiSelectionRange=h.N("multiSelectionRange","{0} selections ({1} characters selected)"),a.multiSelection=h.N("multiSelection","{0} selections"),a.emergencyConfOn=h.N("emergencyConfOn","Now changing the setting `accessibilitySupport` to 'on'."),a.openingDocs=h.N("openingDocs","Now opening the Editor Accessibility documentation page."),a.readonlyDiffEditor=h.N("readonlyDiffEditor"," in a read-only pane of a diff editor."),a.editableDiffEditor=h.N("editableDiffEditor"," in a pane of a diff editor."),a.readonlyEditor=h.N("readonlyEditor"," in a read-only code editor"),a.editableEditor=h.N("editableEditor"," in a code editor"),a.changeConfigToOnMac=h.N("changeConfigToOnMac","To configure the editor to be optimized for usage with a Screen Reader press Command+E now."),a.changeConfigToOnWinLinux=h.N("changeConfigToOnWinLinux","To configure the editor to be optimized for usage with a Screen Reader press Control+E now."),a.auto_on=h.N("auto_on","The editor is configured to be optimized for usage with a Screen Reader."),a.auto_off=h.N("auto_off","The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time."),a.tabFocusModeOnMsg=h.N("tabFocusModeOnMsg","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}."),a.tabFocusModeOnMsgNoKb=h.N("tabFocusModeOnMsgNoKb","Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding."),a.tabFocusModeOffMsg=h.N("tabFocusModeOffMsg","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}."),a.tabFocusModeOffMsgNoKb=h.N("tabFocusModeOffMsgNoKb","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding."),a.openDocMac=h.N("openDocMac","Press Command+H now to open a browser window with more information related to editor accessibility."),a.openDocWinLinux=h.N("openDocWinLinux","Press Control+H now to open a browser window with more information related to editor accessibility."),a.outroMsg=h.N("outroMsg","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape."),a.showAccessibilityHelpAction=h.N("showAccessibilityHelpAction","Show Accessibility Help")})(H||(H={}));var O;(function(a){a.inspectTokensAction=h.N("inspectTokens","Developer: Inspect Tokens")})(O||(O={}));var P;(function(a){a.gotoLineActionLabel=h.N("gotoLineActionLabel","Go to Line/Column...")})(P||(P={}));var D;(function(a){a.helpQuickAccessActionLabel=h.N("helpQuickAccess","Show all Quick Access Providers")})(D||(D={}));var G;(function(a){a.quickCommandActionLabel=h.N("quickCommandActionLabel","Command Palette"),a.quickCommandHelp=h.N("quickCommandActionHelp","Show And Run Commands")})(G||(G={}));var I;(function(a){a.quickOutlineActionLabel=h.N("quickOutlineActionLabel","Go to Symbol..."),a.quickOutlineByCategoryActionLabel=h.N("quickOutlineByCategoryActionLabel","Go to Symbol by Category...")})(I||(I={}));var y;(function(a){a.editorViewAccessibleLabel=h.N("editorViewAccessibleLabel","Editor content"),a.accessibilityHelpMessage=h.N("accessibilityHelpMessage","Press Alt+F1 for Accessibility Options.")})(y||(y={}));var E;(function(a){a.toggleHighContrast=h.N("toggleHighContrast","Toggle High Contrast Theme")})(E||(E={}));var p;(function(a){a.bulkEditServiceSummary=h.N("bulkEditServiceSummary","Made {0} edits in {1} files")})(p||(p={}))},30297:function(xt,Te,i){"use strict";i.d(Te,{CE:function(){return R},DD:function(){return r},DS:function(){return ve},Dl:function(){return b},HV:function(){return fe},Jn:function(){return we},Kh:function(){return D},L7:function(){return ae},Mm:function(){return G},N5:function(){return re},Qb:function(){return ce},Re:function(){return Q},TC:function(){return c},To:function(){return We},UP:function(){return V},Vs:function(){return j},YF:function(){return ue},Ym:function(){return C},Yp:function(){return m},eS:function(){return le},e_:function(){return T},f9:function(){return ne},fY:function(){return g},hw:function(){return f},kp:function(){return z},lK:function(){return Z},lS:function(){return Fe},m$:function(){return ye},m1:function(){return ie},m3:function(){return Ve},m9:function(){return J},n0:function(){return a},oV:function(){return ge},r0:function(){return K},tR:function(){return s},ts:function(){return te},x3:function(){return se},zJ:function(){return xe},zk:function(){return l},zu:function(){return oe},zw:function(){return L}});var h=i(13268),H=i(51737),O=i(44350),P=i(49055);const D=(0,O.P6)("editor.lineHighlightBackground",{dark:null,light:null,hc:null},h.N("lineHighlight","Background color for the highlight of line at the cursor position.")),G=(0,O.P6)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hc:"#f38518"},h.N("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),I=(0,O.P6)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hc:null},h.N("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),y=(0,O.P6)("editor.rangeHighlightBorder",{dark:null,light:null,hc:O.xL},h.N("rangeHighlightBorder","Background color of the border around highlighted ranges."),!0),E=(0,O.P6)("editor.symbolHighlightBackground",{dark:O.MU,light:O.MU,hc:null},h.N("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),p=(0,O.P6)("editor.symbolHighlightBorder",{dark:null,light:null,hc:O.xL},h.N("symbolHighlightBorder","Background color of the border around highlighted symbols."),!0),a=(0,O.P6)("editorCursor.foreground",{dark:"#AEAFAD",light:H.Il.black,hc:H.Il.white},h.N("caret","Color of the editor cursor.")),g=(0,O.P6)("editorCursor.background",null,h.N("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),w=(0,O.P6)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hc:"#e3e4e229"},h.N("editorWhitespaces","Color of whitespace characters in the editor.")),s=(0,O.P6)("editorIndentGuide.background",{dark:w,light:w,hc:w},h.N("editorIndentGuides","Color of the editor indentation guides.")),C=(0,O.P6)("editorIndentGuide.activeBackground",{dark:w,light:w,hc:w},h.N("editorActiveIndentGuide","Color of the active editor indentation guides.")),f=(0,O.P6)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hc:H.Il.white},h.N("editorLineNumbers","Color of editor line numbers.")),v=(0,O.P6)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hc:O.xL},h.N("editorActiveLineNumber","Color of editor active line number"),!1,h.N("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead.")),r=(0,O.P6)("editorLineNumber.activeForeground",{dark:v,light:v,hc:v},h.N("editorActiveLineNumber","Color of editor active line number")),l=(0,O.P6)("editorRuler.foreground",{dark:"#5A5A5A",light:H.Il.lightgrey,hc:H.Il.white},h.N("editorRuler","Color of the editor rulers.")),m=(0,O.P6)("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hc:"#999999"},h.N("editorCodeLensForeground","Foreground color of editor CodeLens")),c=(0,O.P6)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hc:"#0064001a"},h.N("editorBracketMatchBackground","Background color behind matching brackets")),b=(0,O.P6)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hc:O.lR},h.N("editorBracketMatchBorder","Color for matching brackets boxes")),L=(0,O.P6)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hc:"#7f7f7f4d"},h.N("editorOverviewRulerBorder","Color of the overview ruler border.")),T=(0,O.P6)("editorOverviewRuler.background",null,h.N("editorOverviewRulerBackground","Background color of the editor overview ruler. Only used when the minimap is enabled and placed on the right side of the editor.")),M=(0,O.P6)("editorGutter.background",{dark:O.cv,light:O.cv,hc:O.cv},h.N("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),z=(0,O.P6)("editorUnnecessaryCode.border",{dark:null,light:null,hc:H.Il.fromHex("#fff").transparent(.8)},h.N("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor.")),oe=(0,O.P6)("editorUnnecessaryCode.opacity",{dark:H.Il.fromHex("#000a"),light:H.Il.fromHex("#0007"),hc:null},h.N("unnecessaryCodeOpacity",`Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.`)),se=(0,O.P6)("editorGhostText.border",{dark:null,light:null,hc:H.Il.fromHex("#fff").transparent(.8)},h.N("editorGhostTextBorder","Border color of ghost text in the editor.")),re=(0,O.P6)("editorGhostText.foreground",{dark:H.Il.fromHex("#ffffff56"),light:H.Il.fromHex("#0007"),hc:null},h.N("editorGhostTextForeground","Foreground color of the ghost text in the editor.")),De=new H.Il(new H.VS(0,122,204,.6)),J=(0,O.P6)("editorOverviewRuler.rangeHighlightForeground",{dark:De,light:De,hc:De},h.N("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Z=(0,O.P6)("editorOverviewRuler.errorForeground",{dark:new H.Il(new H.VS(255,18,18,.7)),light:new H.Il(new H.VS(255,18,18,.7)),hc:new H.Il(new H.VS(255,50,50,1))},h.N("overviewRuleError","Overview ruler marker color for errors.")),Q=(0,O.P6)("editorOverviewRuler.warningForeground",{dark:O.uo,light:O.uo,hc:O.pW},h.N("overviewRuleWarning","Overview ruler marker color for warnings.")),le=(0,O.P6)("editorOverviewRuler.infoForeground",{dark:O.c6,light:O.c6,hc:O.T8},h.N("overviewRuleInfo","Overview ruler marker color for infos.")),xe=(0,O.P6)("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hc:"#FFD700"},h.N("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),j=(0,O.P6)("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hc:"#DA70D6"},h.N("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),R=(0,O.P6)("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hc:"#87CEFA"},h.N("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),V=(0,O.P6)("editorBracketHighlight.foreground4",{dark:"#00000000",light:"#00000000",hc:"#00000000"},h.N("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),K=(0,O.P6)("editorBracketHighlight.foreground5",{dark:"#00000000",light:"#00000000",hc:"#00000000"},h.N("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),ie=(0,O.P6)("editorBracketHighlight.foreground6",{dark:"#00000000",light:"#00000000",hc:"#00000000"},h.N("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),te=(0,O.P6)("editorBracketHighlight.unexpectedBracket.foreground",{dark:new H.Il(new H.VS(255,18,18,.8)),light:new H.Il(new H.VS(255,18,18,.8)),hc:new H.Il(new H.VS(255,50,50,1))},h.N("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),ge=(0,O.P6)("editorBracketPairGuide.background1",{dark:"#00000000",light:"#00000000",hc:"#00000000"},h.N("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),ye=(0,O.P6)("editorBracketPairGuide.background2",{dark:"#00000000",light:"#00000000",hc:"#00000000"},h.N("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),ve=(0,O.P6)("editorBracketPairGuide.background3",{dark:"#00000000",light:"#00000000",hc:"#00000000"},h.N("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),Fe=(0,O.P6)("editorBracketPairGuide.background4",{dark:"#00000000",light:"#00000000",hc:"#00000000"},h.N("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),we=(0,O.P6)("editorBracketPairGuide.background5",{dark:"#00000000",light:"#00000000",hc:"#00000000"},h.N("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),ue=(0,O.P6)("editorBracketPairGuide.background6",{dark:"#00000000",light:"#00000000",hc:"#00000000"},h.N("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),ce=(0,O.P6)("editorBracketPairGuide.activeBackground1",{dark:"#00000000",light:"#00000000",hc:"#00000000"},h.N("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),Ve=(0,O.P6)("editorBracketPairGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hc:"#00000000"},h.N("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),We=(0,O.P6)("editorBracketPairGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hc:"#00000000"},h.N("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),ae=(0,O.P6)("editorBracketPairGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hc:"#00000000"},h.N("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),fe=(0,O.P6)("editorBracketPairGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hc:"#00000000"},h.N("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),ne=(0,O.P6)("editorBracketPairGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hc:"#00000000"},h.N("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));(0,P.Ic)((W,$)=>{const ee=W.getColor(O.cv);ee&&$.addRule(`.monaco-editor, .monaco-editor-background, .monaco-editor .inputarea.ime-input { background-color: ${ee}; }`);const he=W.getColor(O.NO);he&&$.addRule(`.monaco-editor, .monaco-editor .inputarea.ime-input { color: ${he}; }`);const Pe=W.getColor(M);Pe&&$.addRule(`.monaco-editor .margin { background-color: ${Pe}; }`);const Ye=W.getColor(I);Ye&&$.addRule(`.monaco-editor .rangeHighlight { background-color: ${Ye}; }`);const it=W.getColor(y);it&&$.addRule(`.monaco-editor .rangeHighlight { border: 1px ${W.type==="hc"?"dotted":"solid"} ${it}; }`);const rt=W.getColor(E);rt&&$.addRule(`.monaco-editor .symbolHighlight { background-color: ${rt}; }`);const vt=W.getColor(p);vt&&$.addRule(`.monaco-editor .symbolHighlight { border: 1px ${W.type==="hc"?"dotted":"solid"} ${vt}; }`);const Ft=W.getColor(w);Ft&&($.addRule(`.monaco-editor .mtkw { color: ${Ft} !important; }`),$.addRule(`.monaco-editor .mtkz { color: ${Ft} !important; }`))})},13169:function(xt,Te,i){"use strict";i.d(Te,{EY:function(){return H},Tj:function(){return O}});class h{constructor(D,G,I){this._colorZoneBrand=void 0,this.from=D|0,this.to=G|0,this.colorId=I|0}static compare(D,G){return D.colorId===G.colorId?D.from===G.from?D.to-G.to:D.from-G.from:D.colorId-G.colorId}}class H{constructor(D,G,I){this._overviewRulerZoneBrand=void 0,this.startLineNumber=D,this.endLineNumber=G,this.color=I,this._colorZone=null}static compare(D,G){return D.color===G.color?D.startLineNumber===G.startLineNumber?D.endLineNumber-G.endLineNumber:D.startLineNumber-G.startLineNumber:D.color<G.color?-1:1}setColorZone(D){this._colorZone=D}getColorZones(){return this._colorZone}}class O{constructor(D){this._getVerticalOffsetForLine=D,this._zones=[],this._colorZonesInvalid=!1,this._lineHeight=0,this._domWidth=0,this._domHeight=0,this._outerHeight=0,this._pixelRatio=1,this._lastAssignedId=0,this._color2Id=Object.create(null),this._id2Color=[]}getId2Color(){return this._id2Color}setZones(D){this._zones=D,this._zones.sort(H.compare)}setLineHeight(D){return this._lineHeight===D?!1:(this._lineHeight=D,this._colorZonesInvalid=!0,!0)}setPixelRatio(D){this._pixelRatio=D,this._colorZonesInvalid=!0}getDOMWidth(){return this._domWidth}getCanvasWidth(){return this._domWidth*this._pixelRatio}setDOMWidth(D){return this._domWidth===D?!1:(this._domWidth=D,this._colorZonesInvalid=!0,!0)}getDOMHeight(){return this._domHeight}getCanvasHeight(){return this._domHeight*this._pixelRatio}setDOMHeight(D){return this._domHeight===D?!1:(this._domHeight=D,this._colorZonesInvalid=!0,!0)}getOuterHeight(){return this._outerHeight}setOuterHeight(D){return this._outerHeight===D?!1:(this._outerHeight=D,this._colorZonesInvalid=!0,!0)}resolveColorZones(){const D=this._colorZonesInvalid,G=Math.floor(this._lineHeight),I=Math.floor(this.getCanvasHeight()),y=Math.floor(this._outerHeight),E=I/y,p=Math.floor(4*this._pixelRatio/2);let a=[];for(let g=0,w=this._zones.length;g<w;g++){const s=this._zones[g];if(!D){const b=s.getColorZones();if(b){a.push(b);continue}}const C=Math.floor(E*this._getVerticalOffsetForLine(s.startLineNumber)),f=Math.floor(E*(this._getVerticalOffsetForLine(s.endLineNumber)+G));let v=Math.floor((C+f)/2),r=f-v;r<p&&(r=p),v-r<0&&(v=r),v+r>I&&(v=I-r);const l=s.color;let m=this._color2Id[l];m||(m=++this._lastAssignedId,this._color2Id[l]=m,this._id2Color[m]=l);const c=new h(v-r,v+r,m);s.setColorZone(c),a.push(c)}return this._colorZonesInvalid=!1,a.sort(h.compare),a}}},81112:function(xt,Te,i){"use strict";i.d(Te,{Kp:function(){return H},k:function(){return D}});var h=i(82983);class H{constructor(I,y,E,p){this.startColumn=I,this.endColumn=y,this.className=E,this.type=p,this._lineDecorationBrand=void 0}static _equals(I,y){return I.startColumn===y.startColumn&&I.endColumn===y.endColumn&&I.className===y.className&&I.type===y.type}static equalsArr(I,y){const E=I.length,p=y.length;if(E!==p)return!1;for(let a=0;a<E;a++)if(!H._equals(I[a],y[a]))return!1;return!0}static extractWrapped(I,y,E){if(I.length===0)return I;const p=y+1,a=E+1,g=E-y,w=[];let s=0;for(const C of I)C.endColumn<=p||C.startColumn>=a||(w[s++]=new H(Math.max(1,C.startColumn-p+1),Math.min(g+1,C.endColumn-p+1),C.className,C.type));return w}static filter(I,y,E,p){if(I.length===0)return[];let a=[],g=0;for(let w=0,s=I.length;w<s;w++){const C=I[w],f=C.range;if(f.endLineNumber<y||f.startLineNumber>y||f.isEmpty()&&(C.type===0||C.type===3))continue;const v=f.startLineNumber===y?f.startColumn:E,r=f.endLineNumber===y?f.endColumn:p;a[g++]=new H(v,r,C.inlineClassName,C.type)}return a}static _typeCompare(I,y){const E=[2,0,1,3];return E[I]-E[y]}static compare(I,y){if(I.startColumn!==y.startColumn)return I.startColumn-y.startColumn;if(I.endColumn!==y.endColumn)return I.endColumn-y.endColumn;const E=H._typeCompare(I.type,y.type);return E!==0?E:I.className!==y.className?I.className<y.className?-1:1:0}}class O{constructor(I,y,E,p){this.startOffset=I,this.endOffset=y,this.className=E,this.metadata=p}}class P{constructor(){this.stopOffsets=[],this.classNames=[],this.metadata=[],this.count=0}static _metadata(I){let y=0;for(let E=0,p=I.length;E<p;E++)y|=I[E];return y}consumeLowerThan(I,y,E){for(;this.count>0&&this.stopOffsets[0]<I;){let p=0;for(;p+1<this.count&&this.stopOffsets[p]===this.stopOffsets[p+1];)p++;E.push(new O(y,this.stopOffsets[p],this.classNames.join(" "),P._metadata(this.metadata))),y=this.stopOffsets[p]+1,this.stopOffsets.splice(0,p+1),this.classNames.splice(0,p+1),this.metadata.splice(0,p+1),this.count-=p+1}return this.count>0&&y<I&&(E.push(new O(y,I-1,this.classNames.join(" "),P._metadata(this.metadata))),y=I),y}insert(I,y,E){if(this.count===0||this.stopOffsets[this.count-1]<=I)this.stopOffsets.push(I),this.classNames.push(y),this.metadata.push(E);else for(let p=0;p<this.count;p++)if(this.stopOffsets[p]>=I){this.stopOffsets.splice(p,0,I),this.classNames.splice(p,0,y),this.metadata.splice(p,0,E);break}this.count++}}class D{static normalize(I,y){if(y.length===0)return[];let E=[];const p=new P;let a=0;for(let g=0,w=y.length;g<w;g++){const s=y[g];let C=s.startColumn,f=s.endColumn;const v=s.className,r=s.type===1?2:s.type===2?4:0;if(C>1){const c=I.charCodeAt(C-2);h.ZG(c)&&C--}if(f>1){const c=I.charCodeAt(f-2);h.ZG(c)&&f--}const l=C-1,m=f-2;a=p.consumeLowerThan(l,a,E),p.count===0&&(a=l),p.insert(m,v,r)}return p.consumeLowerThan(1073741824,a,E),E}}},28750:function(xt,Te,i){"use strict";i.d(Te,{IJ:function(){return G},Nd:function(){return I},d1:function(){return p},tF:function(){return g},zG:function(){return D}});var h=i(82983),H=i(48772),O=i(81112);class P{constructor(T,M,z){this._linePartBrand=void 0,this.endIndex=T,this.type=M,this.metadata=z}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}}class D{constructor(T,M){this.startOffset=T,this.endOffset=M}equals(T){return this.startOffset===T.startOffset&&this.endOffset===T.endOffset}}class G{constructor(T,M,z,oe,se,re,De,J,Z,Q,le,xe,j,R,V,K,ie,te,ge){this.useMonospaceOptimizations=T,this.canUseHalfwidthRightwardsArrow=M,this.lineContent=z,this.continuesWithWrappedLine=oe,this.isBasicASCII=se,this.containsRTL=re,this.fauxIndentLength=De,this.lineTokens=J,this.lineDecorations=Z.sort(O.Kp.compare),this.tabSize=Q,this.startVisibleColumn=le,this.spaceWidth=xe,this.stopRenderingLineAfter=V,this.renderWhitespace=K==="all"?4:K==="boundary"?1:K==="selection"?2:K==="trailing"?3:0,this.renderControlCharacters=ie,this.fontLigatures=te,this.selectionsOnLine=ge&&ge.sort((Fe,we)=>Fe.startOffset<we.startOffset?-1:1);const ye=Math.abs(R-xe),ve=Math.abs(j-xe);ye<ve?(this.renderSpaceWidth=R,this.renderSpaceCharCode=11825):(this.renderSpaceWidth=j,this.renderSpaceCharCode=183)}sameSelection(T){if(this.selectionsOnLine===null)return T===null;if(T===null||T.length!==this.selectionsOnLine.length)return!1;for(let M=0;M<this.selectionsOnLine.length;M++)if(!this.selectionsOnLine[M].equals(T[M]))return!1;return!0}equals(T){return this.useMonospaceOptimizations===T.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===T.canUseHalfwidthRightwardsArrow&&this.lineContent===T.lineContent&&this.continuesWithWrappedLine===T.continuesWithWrappedLine&&this.isBasicASCII===T.isBasicASCII&&this.containsRTL===T.containsRTL&&this.fauxIndentLength===T.fauxIndentLength&&this.tabSize===T.tabSize&&this.startVisibleColumn===T.startVisibleColumn&&this.spaceWidth===T.spaceWidth&&this.renderSpaceWidth===T.renderSpaceWidth&&this.renderSpaceCharCode===T.renderSpaceCharCode&&this.stopRenderingLineAfter===T.stopRenderingLineAfter&&this.renderWhitespace===T.renderWhitespace&&this.renderControlCharacters===T.renderControlCharacters&&this.fontLigatures===T.fontLigatures&&O.Kp.equalsArr(this.lineDecorations,T.lineDecorations)&&this.lineTokens.equals(T.lineTokens)&&this.sameSelection(T.selectionsOnLine)}}class I{constructor(T,M){this.partIndex=T,this.charIndex=M}}class y{constructor(T,M){this.length=T,this._data=new Uint32Array(this.length),this._absoluteOffsets=new Uint32Array(this.length)}static getPartIndex(T){return(T&4294901760)>>>16}static getCharIndex(T){return(T&65535)>>>0}setColumnInfo(T,M,z,oe){const se=(M<<16|z<<0)>>>0;this._data[T-1]=se,this._absoluteOffsets[T-1]=oe+z}getAbsoluteOffset(T){return this._absoluteOffsets.length===0?0:this._absoluteOffsets[T-1]}charOffsetToPartData(T){return this.length===0?0:T<0?this._data[0]:T>=this.length?this._data[this.length-1]:this._data[T]}getDomPosition(T){const M=this.charOffsetToPartData(T-1),z=y.getPartIndex(M),oe=y.getCharIndex(M);return new I(z,oe)}getColumn(T,M){return this.partDataToCharOffset(T.partIndex,M,T.charIndex)+1}partDataToCharOffset(T,M,z){if(this.length===0)return 0;let oe=(T<<16|z<<0)>>>0,se=0,re=this.length-1;for(;se+1<re;){let V=se+re>>>1,K=this._data[V];if(K===oe)return V;K>oe?re=V:se=V}if(se===re)return se;let De=this._data[se],J=this._data[re];if(De===oe)return se;if(J===oe)return re;let Z=y.getPartIndex(De),Q=y.getCharIndex(De),le=y.getPartIndex(J),xe;Z!==le?xe=M:xe=y.getCharIndex(J);let j=z-Q,R=xe-z;return j<=R?se:re}}class E{constructor(T,M,z){this._renderLineOutputBrand=void 0,this.characterMapping=T,this.containsRTL=M,this.containsForeignElements=z}}function p(L,T){if(L.lineContent.length===0){if(L.lineDecorations.length>0){T.appendASCIIString("<span>");let M=0,z=0,oe=0;for(const re of L.lineDecorations)(re.type===1||re.type===2)&&(T.appendASCIIString('<span class="'),T.appendASCIIString(re.className),T.appendASCIIString('"></span>'),re.type===1&&(oe|=1,M++),re.type===2&&(oe|=2,z++));T.appendASCIIString("</span>");const se=new y(1,M+z);return se.setColumnInfo(1,M,0,0),new E(se,!1,oe)}return T.appendASCIIString("<span><span></span></span>"),new E(new y(0,0),!1,0)}return c(s(L),T)}class a{constructor(T,M,z,oe){this.characterMapping=T,this.html=M,this.containsRTL=z,this.containsForeignElements=oe}}function g(L){let T=(0,H.l$)(1e4),M=p(L,T);return new a(M.characterMapping,T.build(),M.containsRTL,M.containsForeignElements)}class w{constructor(T,M,z,oe,se,re,De,J,Z,Q,le,xe,j,R,V){this.fontIsMonospace=T,this.canUseHalfwidthRightwardsArrow=M,this.lineContent=z,this.len=oe,this.isOverflowing=se,this.parts=re,this.containsForeignElements=De,this.fauxIndentLength=J,this.tabSize=Z,this.startVisibleColumn=Q,this.containsRTL=le,this.spaceWidth=xe,this.renderSpaceCharCode=j,this.renderWhitespace=R,this.renderControlCharacters=V}}function s(L){const T=L.lineContent;let M,z;L.stopRenderingLineAfter!==-1&&L.stopRenderingLineAfter<T.length?(M=!0,z=L.stopRenderingLineAfter):(M=!1,z=T.length);let oe=C(L.lineTokens,L.fauxIndentLength,z);(L.renderWhitespace===4||L.renderWhitespace===1||L.renderWhitespace===2&&L.selectionsOnLine||L.renderWhitespace===3)&&(oe=l(L,T,z,oe));let se=0;if(L.lineDecorations.length>0){for(let re=0,De=L.lineDecorations.length;re<De;re++){const J=L.lineDecorations[re];J.type===3||J.type===1?se|=1:J.type===2&&(se|=2)}oe=m(T,z,oe,L.lineDecorations)}return L.containsRTL||(oe=f(T,oe,!L.isBasicASCII||L.fontLigatures)),L.renderControlCharacters&&!L.isBasicASCII&&(oe=r(T,oe)),new w(L.useMonospaceOptimizations,L.canUseHalfwidthRightwardsArrow,T,z,M,oe,se,L.fauxIndentLength,L.tabSize,L.startVisibleColumn,L.containsRTL,L.spaceWidth,L.renderSpaceCharCode,L.renderWhitespace,L.renderControlCharacters)}function C(L,T,M){let z=[],oe=0;T>0&&(z[oe++]=new P(T,"",0));for(let se=0,re=L.getCount();se<re;se++){const De=L.getEndOffset(se);if(De<=T)continue;const J=L.getClassName(se);if(De>=M){z[oe++]=new P(M,J,0);break}z[oe++]=new P(De,J,0)}return z}function f(L,T,M){let z=0,oe=[],se=0;if(M)for(let re=0,De=T.length;re<De;re++){const J=T[re],Z=J.endIndex;if(z+50<Z){const Q=J.type,le=J.metadata;let xe=-1,j=z;for(let R=z;R<Z;R++)L.charCodeAt(R)===32&&(xe=R),xe!==-1&&R-j>=50&&(oe[se++]=new P(xe+1,Q,le),j=xe+1,xe=-1);j!==Z&&(oe[se++]=new P(Z,Q,le))}else oe[se++]=J;z=Z}else for(let re=0,De=T.length;re<De;re++){const J=T[re],Z=J.endIndex;let Q=Z-z;if(Q>50){const le=J.type,xe=J.metadata,j=Math.ceil(Q/50);for(let R=1;R<j;R++){let V=z+R*50;oe[se++]=new P(V,le,xe)}oe[se++]=new P(Z,le,xe)}else oe[se++]=J;z=Z}return oe}function v(L){return L<32?L!==9:L===127||L>=8234&&L<=8238||L>=8294&&L<=8297||L>=8206&&L<=8207||L===1564}function r(L,T){let M=[],z=new P(0,"",0),oe=0;for(const se of T){const re=se.endIndex;for(;oe<re;oe++){const De=L.charCodeAt(oe);v(De)&&(oe>z.endIndex&&(z=new P(oe,se.type,se.metadata),M.push(z)),z=new P(oe+1,"mtkcontrol",se.metadata),M.push(z))}oe>z.endIndex&&(z=new P(re,se.type,se.metadata),M.push(z))}return M}function l(L,T,M,z){const oe=L.continuesWithWrappedLine,se=L.fauxIndentLength,re=L.tabSize,De=L.startVisibleColumn,J=L.useMonospaceOptimizations,Z=L.selectionsOnLine,Q=L.renderWhitespace===1,le=L.renderWhitespace===3,xe=L.renderSpaceWidth!==L.spaceWidth;let j=[],R=0,V=0,K=z[V].type,ie=z[V].endIndex;const te=z.length;let ge=!1,ye=h.LC(T),ve;ye===-1?(ge=!0,ye=M,ve=M):ve=h.ow(T);let Fe=!1,we=0,ue=Z&&Z[we],ce=De%re;for(let We=se;We<M;We++){const ae=T.charCodeAt(We);ue&&We>=ue.endOffset&&(we++,ue=Z&&Z[we]);let fe;if(We<ye||We>ve)fe=!0;else if(ae===9)fe=!0;else if(ae===32)if(Q)if(Fe)fe=!0;else{const ne=We+1<M?T.charCodeAt(We+1):0;fe=ne===32||ne===9}else fe=!0;else fe=!1;if(fe&&Z&&(fe=!!ue&&ue.startOffset<=We&&ue.endOffset>We),fe&&le&&(fe=ge||We>ve),Fe){if(!fe||!J&&ce>=re){if(xe){const ne=R>0?j[R-1].endIndex:se;for(let W=ne+1;W<=We;W++)j[R++]=new P(W,"mtkw",1)}else j[R++]=new P(We,"mtkw",1);ce=ce%re}}else(We===ie||fe&&We>se)&&(j[R++]=new P(We,K,0),ce=ce%re);for(ae===9?ce=re:h.K7(ae)?ce+=2:ce++,Fe=fe;We===ie&&(V++,V<te);)K=z[V].type,ie=z[V].endIndex}let Ve=!1;if(Fe)if(oe&&Q){let We=M>0?T.charCodeAt(M-1):0,ae=M>1?T.charCodeAt(M-2):0;We===32&&ae!==32&&ae!==9||(Ve=!0)}else Ve=!0;if(Ve)if(xe){const We=R>0?j[R-1].endIndex:se;for(let ae=We+1;ae<=M;ae++)j[R++]=new P(ae,"mtkw",1)}else j[R++]=new P(M,"mtkw",1);else j[R++]=new P(M,K,0);return j}function m(L,T,M,z){z.sort(O.Kp.compare);const oe=O.k.normalize(L,z),se=oe.length;let re=0,De=[],J=0,Z=0;for(let le=0,xe=M.length;le<xe;le++){const j=M[le],R=j.endIndex,V=j.type,K=j.metadata;for(;re<se&&oe[re].startOffset<R;){const ie=oe[re];if(ie.startOffset>Z&&(Z=ie.startOffset,De[J++]=new P(Z,V,K)),ie.endOffset+1<=R)Z=ie.endOffset+1,De[J++]=new P(Z,V+" "+ie.className,K|ie.metadata),re++;else{Z=R,De[J++]=new P(Z,V+" "+ie.className,K|ie.metadata);break}}R>Z&&(Z=R,De[J++]=new P(Z,V,K))}const Q=M[M.length-1].endIndex;if(re<se&&oe[re].startOffset===Q)for(;re<se&&oe[re].startOffset===Q;){const le=oe[re];De[J++]=new P(Z,le.className,le.metadata),re++}return De}function c(L,T){const M=L.fontIsMonospace,z=L.canUseHalfwidthRightwardsArrow,oe=L.containsForeignElements,se=L.lineContent,re=L.len,De=L.isOverflowing,J=L.parts,Z=L.fauxIndentLength,Q=L.tabSize,le=L.startVisibleColumn,xe=L.containsRTL,j=L.spaceWidth,R=L.renderSpaceCharCode,V=L.renderWhitespace,K=L.renderControlCharacters,ie=new y(re+1,J.length);let te=!1,ge=0,ye=le,ve=0,Fe=0,we=0,ue=0;xe?T.appendASCIIString('<span dir="ltr">'):T.appendASCIIString("<span>");for(let ce=0,Ve=J.length;ce<Ve;ce++){ue+=we;const We=J[ce],ae=We.endIndex,fe=We.type,ne=V!==0&&We.isWhitespace(),W=ne&&!M&&(fe==="mtkw"||!oe),$=ge===ae&&We.isPseudoAfter();if(ve=0,T.appendASCIIString('<span class="'),T.appendASCIIString(W?"mtkz":fe),T.appendASCII(34),ne){let ee=0;{let he=ge,Pe=ye;for(;he<ae;he++){const it=(se.charCodeAt(he)===9?Q-Pe%Q:1)|0;ee+=it,he>=Z&&(Pe+=it)}}for(W&&(T.appendASCIIString(' style="width:'),T.appendASCIIString(String(j*ee)),T.appendASCIIString('px"')),T.appendASCII(62);ge<ae;ge++){ie.setColumnInfo(ge+1,ce-Fe,ve,ue),Fe=0;const he=se.charCodeAt(ge);let Pe;if(he===9){Pe=Q-ye%Q|0,!z||Pe>1?T.write1(8594):T.write1(65515);for(let Ye=2;Ye<=Pe;Ye++)T.write1(160)}else Pe=1,T.write1(R);ve+=Pe,ge>=Z&&(ye+=Pe)}we=ee}else{let ee=0;for(T.appendASCII(62);ge<ae;ge++){ie.setColumnInfo(ge+1,ce-Fe,ve,ue),Fe=0;const he=se.charCodeAt(ge);let Pe=1,Ye=1;switch(he){case 9:Pe=Q-ye%Q,Ye=Pe;for(let it=1;it<=Pe;it++)T.write1(160);break;case 32:T.write1(160);break;case 60:T.appendASCIIString("&lt;");break;case 62:T.appendASCIIString("&gt;");break;case 38:T.appendASCIIString("&amp;");break;case 0:K?T.write1(9216):T.appendASCIIString("&#00;");break;case 65279:case 8232:case 8233:case 133:T.write1(65533);break;default:h.K7(he)&&Ye++,K&&he<32?T.write1(9216+he):K&&he===127?T.write1(9249):K&&v(he)?(T.appendASCIIString("[U+"),T.appendASCIIString(b(he)),T.appendASCIIString("]"),Pe=8):T.write1(he)}ve+=Pe,ee+=Pe,ge>=Z&&(ye+=Ye)}we=ee}$?Fe++:Fe=0,ge>=re&&!te&&We.isPseudoAfter()&&(te=!0,ie.setColumnInfo(ge+1,ce,ve,ue)),T.appendASCIIString("</span>")}return te||ie.setColumnInfo(re+1,J.length-1,ve,ue),De&&T.appendASCIIString("<span>&hellip;</span>"),T.appendASCIIString("</span>"),new E(ie,xe,oe)}function b(L){return L.toString(16).toUpperCase().padStart(4,"0")}},90539:function(xt,Te,i){"use strict";i.d(Te,{T:function(){return H},o:function(){return O}});var h=i(41301);class H{constructor(D,G){this._prefixSumIndexOfResultBrand=void 0,this.index=D,this.remainder=G}}class O{constructor(D){this.values=D,this.prefixSum=new Uint32Array(D.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(D,G){D=(0,h.A)(D);const I=this.values,y=this.prefixSum,E=G.length;return E===0?!1:(this.values=new Uint32Array(I.length+E),this.values.set(I.subarray(0,D),0),this.values.set(I.subarray(D),D+E),this.values.set(G,D),D-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=D-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(y.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}changeValue(D,G){return D=(0,h.A)(D),G=(0,h.A)(G),this.values[D]===G?!1:(this.values[D]=G,D-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=D-1),!0)}removeValues(D,G){D=(0,h.A)(D),G=(0,h.A)(G);const I=this.values,y=this.prefixSum;if(D>=I.length)return!1;let E=I.length-D;return G>=E&&(G=E),G===0?!1:(this.values=new Uint32Array(I.length-G),this.values.set(I.subarray(0,D),0),this.values.set(I.subarray(D+G),D),this.prefixSum=new Uint32Array(this.values.length),D-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=D-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(y.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(D){return D<0?0:(D=(0,h.A)(D),this._getPrefixSum(D))}_getPrefixSum(D){if(D<=this.prefixSumValidIndex[0])return this.prefixSum[D];let G=this.prefixSumValidIndex[0]+1;G===0&&(this.prefixSum[0]=this.values[0],G++),D>=this.values.length&&(D=this.values.length-1);for(let I=G;I<=D;I++)this.prefixSum[I]=this.prefixSum[I-1]+this.values[I];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],D),this.prefixSum[D]}getIndexOf(D){D=Math.floor(D),this.getTotalSum();let G=0,I=this.values.length-1,y=0,E=0,p=0;for(;G<=I;)if(y=G+(I-G)/2|0,E=this.prefixSum[y],p=E-this.values[y],D<p)I=y-1;else if(D>=E)G=y+1;else break;return new H(y,D-p)}}},8829:function(xt,Te,i){"use strict";i.d(Te,{$l:function(){return w},$t:function(){return a},IP:function(){return E},SQ:function(){return s},Wx:function(){return g},l_:function(){return P},le:function(){return G},ud:function(){return y},wA:function(){return p}});var h=i(82983),H=i(72146),O=i(17373);class P{constructor(f,v,r,l){this._viewportBrand=void 0,this.top=f|0,this.left=v|0,this.width=r|0,this.height=l|0}}class D{constructor(f,v){this.outputLineIndex=f,this.outputOffset=v}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(f,v){const r=this.outputLineIndex>0?v:0;return new H.L(f+this.outputLineIndex,r+this.outputOffset+1)}}class G{constructor(f,v,r,l,m){this.breakOffsets=f,this.breakOffsetsVisibleColumn=v,this.wrappedTextIndentLength=r,this.injectionOffsets=l,this.injectionOptions=m}getInputOffsetOfOutputPosition(f,v){let r=0;if(f===0?r=v:r=this.breakOffsets[f-1]+v,this.injectionOffsets!==null)for(let l=0;l<this.injectionOffsets.length&&r>this.injectionOffsets[l];l++)r<this.injectionOffsets[l]+this.injectionOptions[l].content.length?r=this.injectionOffsets[l]:r-=this.injectionOptions[l].content.length;return r}getOutputPositionOfInputOffset(f,v=2){let r=0;if(this.injectionOffsets!==null)for(let l=0;l<this.injectionOffsets.length&&!(f<this.injectionOffsets[l]||v!==1&&f===this.injectionOffsets[l]);l++)r+=this.injectionOptions[l].content.length;return f+=r,this.getOutputPositionOfOffsetInUnwrappedLine(f,v)}getOutputPositionOfOffsetInUnwrappedLine(f,v=2){let r=0,l=this.breakOffsets.length-1,m=0,c=0;for(;r<=l;){m=r+(l-r)/2|0;const b=this.breakOffsets[m];if(c=m>0?this.breakOffsets[m-1]:0,v===0)if(f<=c)l=m-1;else if(f>b)r=m+1;else break;else if(f<c)l=m-1;else if(f>=b)r=m+1;else break}return new D(m,f-c)}outputPositionToOffsetInUnwrappedLine(f,v){let r=(f>0?this.breakOffsets[f-1]:0)+v;return f>0&&(r-=this.wrappedTextIndentLength),r}normalizeOffsetAroundInjections(f,v){const r=this.getInjectedTextAtOffset(f);if(!r)return f;if(v===2)return f===r.offsetInUnwrappedLine+r.length?r.offsetInUnwrappedLine+r.length:r.offsetInUnwrappedLine;if(v===1){let c=r.offsetInUnwrappedLine+r.length,b=r.injectedTextIndex;for(;b+1<this.injectionOffsets.length&&this.injectionOffsets[b+1]===this.injectionOffsets[b];)c+=this.injectionOptions[b+1].content.length,b++;return c}let l=r.offsetInUnwrappedLine,m=r.injectedTextIndex;for(;m-1>=0&&this.injectionOffsets[m-1]===this.injectionOffsets[m];)l-=this.injectionOptions[m-1].content.length,m++;return l}getInjectedText(f,v){const r=this.outputPositionToOffsetInUnwrappedLine(f,v),l=this.getInjectedTextAtOffset(r);return l?{options:this.injectionOptions[l.injectedTextIndex]}:null}getInjectedTextAtOffset(f){const v=this.injectionOffsets,r=this.injectionOptions;if(v!==null){let l=0;for(let m=0;m<v.length;m++){const c=r[m].content.length,b=v[m]+l,L=v[m]+l+c;if(b>f)break;if(f<=L)return{injectedTextIndex:m,offsetInUnwrappedLine:b,length:c};l+=c}}}}class I{constructor(f){this.options=f}}class y{constructor(f,v){this.tabSize=f,this.data=v}}class E{constructor(f,v,r,l,m,c,b){this._viewLineDataBrand=void 0,this.content=f,this.continuesWithWrappedLine=v,this.minColumn=r,this.maxColumn=l,this.startVisibleColumn=m,this.tokens=c,this.inlineDecorations=b}}class p{constructor(f,v,r,l,m,c,b,L,T,M){this.minColumn=f,this.maxColumn=v,this.content=r,this.continuesWithWrappedLine=l,this.isBasicASCII=p.isBasicASCII(r,c),this.containsRTL=p.containsRTL(r,this.isBasicASCII,m),this.tokens=b,this.inlineDecorations=L,this.tabSize=T,this.startVisibleColumn=M}static isBasicASCII(f,v){return v?h.$i(f):!0}static containsRTL(f,v,r){return!v&&r?h.Ut(f):!1}}class a{constructor(f,v,r){this.range=f,this.inlineClassName=v,this.type=r}}class g{constructor(f,v,r,l){this.startOffset=f,this.endOffset=v,this.inlineClassName=r,this.inlineClassNameAffectsLetterSpacing=l}toInlineDecoration(f){return new a(new O.e(f,this.startOffset+1,f,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class w{constructor(f,v){this._viewModelDecorationBrand=void 0,this.range=f,this.options=v}}class s{constructor(f,v,r){this.color=f,this.zIndex=v,this.data=r}static cmp(f,v){return f.zIndex===v.zIndex?f.color<v.color?-1:f.color>v.color?1:0:f.zIndex-v.zIndex}}},60998:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{BracketMatchingController:function(){return l}});var h=i(50431),H=i(69323),O=i(4514),P=i(72146),D=i(17373),G=i(17551),I=i(68987),y=i(51682),E=i(31276),p=i(30297),a=i(13268),g=i(96236),w=i(44350),s=i(49055);const C=(0,w.P6)("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hc:"#A0A0A0"},a.N("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class f extends O.R6{constructor(){super({id:"editor.action.jumpToBracket",label:a.N("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:I.u.editorTextFocus,primary:3160,weight:100}})}run(c,b){let L=l.get(b);L&&L.jumpToBracket()}}class v extends O.R6{constructor(){super({id:"editor.action.selectToBracket",label:a.N("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,description:{description:"Select to Bracket",args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(c,b,L){const T=l.get(b);if(!T)return;let M=!0;L&&L.selectBrackets===!1&&(M=!1),T.selectToBracket(M)}}class r{constructor(c,b,L){this.position=c,this.brackets=b,this.options=L}}class l extends H.JT{constructor(c){super(),this._editor=c,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=[],this._updateBracketsSoon=this._register(new h.pY(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(63),this._updateBracketsSoon.schedule(),this._register(c.onDidChangeCursorPosition(b=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(c.onDidChangeModelContent(b=>{this._updateBracketsSoon.schedule()})),this._register(c.onDidChangeModel(b=>{this._lastBracketsData=[],this._decorations=[],this._updateBracketsSoon.schedule()})),this._register(c.onDidChangeModelLanguageConfiguration(b=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(c.onDidChangeConfiguration(b=>{b.hasChanged(63)&&(this._matchBrackets=this._editor.getOption(63),this._decorations=this._editor.deltaDecorations(this._decorations,[]),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(c.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(c.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}static get(c){return c.getContribution(l.ID)}jumpToBracket(){if(!this._editor.hasModel())return;const c=this._editor.getModel(),b=this._editor.getSelections().map(L=>{const T=L.getStartPosition(),M=c.matchBracket(T);let z=null;if(M)M[0].containsPosition(T)?z=M[1].getStartPosition():M[1].containsPosition(T)&&(z=M[0].getStartPosition());else{const oe=c.findEnclosingBrackets(T);if(oe)z=oe[0].getStartPosition();else{const se=c.findNextBracket(T);se&&se.range&&(z=se.range.getStartPosition())}}return z?new G.Y(z.lineNumber,z.column,z.lineNumber,z.column):new G.Y(T.lineNumber,T.column,T.lineNumber,T.column)});this._editor.setSelections(b),this._editor.revealRange(b[0])}selectToBracket(c){if(!this._editor.hasModel())return;const b=this._editor.getModel(),L=[];this._editor.getSelections().forEach(T=>{const M=T.getStartPosition();let z=b.matchBracket(M);if(!z&&(z=b.findEnclosingBrackets(M),!z)){const re=b.findNextBracket(M);re&&re.range&&(z=b.matchBracket(re.range.getStartPosition()))}let oe=null,se=null;if(z){z.sort(D.e.compareRangesUsingStarts);const[re,De]=z;if(oe=c?re.getStartPosition():re.getEndPosition(),se=c?De.getEndPosition():De.getStartPosition(),De.containsPosition(M)){const J=oe;oe=se,se=J}}oe&&se&&L.push(new G.Y(oe.lineNumber,oe.column,se.lineNumber,se.column))}),L.length>0&&(this._editor.setSelections(L),this._editor.revealRange(L[0]))}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();let c=[],b=0;for(const L of this._lastBracketsData){let T=L.brackets;T&&(c[b++]={range:T[0],options:L.options},c[b++]={range:T[1],options:L.options})}this._decorations=this._editor.deltaDecorations(this._decorations,c)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const c=this._editor.getSelections();if(c.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const b=this._editor.getModel(),L=b.getVersionId();let T=[];this._lastVersionId===L&&(T=this._lastBracketsData);let M=[],z=0;for(let J=0,Z=c.length;J<Z;J++){let Q=c[J];Q.isEmpty()&&(M[z++]=Q.getStartPosition())}M.length>1&&M.sort(P.L.compare);let oe=[],se=0,re=0,De=T.length;for(let J=0,Z=M.length;J<Z;J++){let Q=M[J];for(;re<De&&T[re].position.isBefore(Q);)re++;if(re<De&&T[re].position.equals(Q))oe[se++]=T[re];else{let le=b.matchBracket(Q),xe=l._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!le&&this._matchBrackets==="always"&&(le=b.findEnclosingBrackets(Q,20),xe=l._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),oe[se++]=new r(Q,le,xe)}}this._lastBracketsData=oe,this._lastVersionId=L}}l.ID="editor.contrib.bracketMatchingController",l._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=E.qx.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:(0,s.EN)(C),position:y.sh.Center}}),l._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=E.qx.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"}),(0,O._K)(l.ID,l),(0,O.Qr)(v),(0,O.Qr)(f),(0,s.Ic)((m,c)=>{const b=m.getColor(p.TC);b&&c.addRule(`.monaco-editor .bracket-match { background-color: ${b}; }`);const L=m.getColor(p.Dl);L&&c.addRule(`.monaco-editor .bracket-match { border: 1px solid ${L}; }`)}),g.BH.appendMenuItem(g.eH.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:a.N({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2})},32838:function(xt,Te,i){"use strict";i.r(Te);var h=i(4514),H=i(68987),O=i(17373),P=i(17551);class D{constructor(a,g){this._selection=a,this._isMovingLeft=g}getEditOperations(a,g){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const w=this._selection.startLineNumber,s=this._selection.startColumn,C=this._selection.endColumn;if(!(this._isMovingLeft&&s===1)&&!(!this._isMovingLeft&&C===a.getLineMaxColumn(w)))if(this._isMovingLeft){const f=new O.e(w,s-1,w,s),v=a.getValueInRange(f);g.addEditOperation(f,null),g.addEditOperation(new O.e(w,C,w,C),v)}else{const f=new O.e(w,C,w,C+1),v=a.getValueInRange(f);g.addEditOperation(f,null),g.addEditOperation(new O.e(w,s,w,s),v)}}computeCursorState(a,g){return this._isMovingLeft?new P.Y(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new P.Y(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}var G=i(13268);class I extends h.R6{constructor(a,g){super(g),this.left=a}run(a,g){if(!g.hasModel())return;let w=[],s=g.getSelections();for(const C of s)w.push(new D(C,this.left));g.pushUndoStop(),g.executeCommands(this.id,w),g.pushUndoStop()}}class y extends I{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:G.N("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:H.u.writable})}}class E extends I{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:G.N("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:H.u.writable})}}(0,h.Qr)(y),(0,h.Qr)(E)},28630:function(xt,Te,i){"use strict";i.r(Te);var h=i(4514),H=i(78529),O=i(87095),P=i(17373),D=i(68987),G=i(13268);class I extends h.R6{constructor(){super({id:"editor.action.transposeLetters",label:G.N("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:D.u.writable,kbOpts:{kbExpr:D.u.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(E,p){if(!p.hasModel())return;let a=p.getModel(),g=[],w=p.getSelections();for(let s of w){if(!s.isEmpty())continue;let C=s.startLineNumber,f=s.startColumn,v=a.getLineMaxColumn(C);if(C===1&&(f===1||f===2&&v===2))continue;let r=f===v?s.getPosition():O.o.rightPosition(a,s.getPosition().lineNumber,s.getPosition().column),l=O.o.leftPosition(a,r),m=O.o.leftPosition(a,l),c=a.getValueInRange(P.e.fromPositions(m,l)),b=a.getValueInRange(P.e.fromPositions(l,r)),L=P.e.fromPositions(m,r);g.push(new H.T4(L,b+c))}g.length>0&&(p.pushUndoStop(),p.executeCommands(this.id,g),p.pushUndoStop())}}(0,h.Qr)(I)},84826:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{CopyAction:function(){return v},CutAction:function(){return f},PasteAction:function(){return r}});var h=i(87783),H=i(23345),O=i(79193),P=i(4514),D=i(70827),G=i(68987),I=i(13268),y=i(96236),E=i(54622),p=function(c,b,L,T){function M(z){return z instanceof L?z:new L(function(oe){oe(z)})}return new(L||(L=Promise))(function(z,oe){function se(J){try{De(T.next(J))}catch(Z){oe(Z)}}function re(J){try{De(T.throw(J))}catch(Z){oe(Z)}}function De(J){J.done?z(J.value):M(J.value).then(se,re)}De((T=T.apply(c,b||[])).next())})};const a="9_cutcopypaste",g=H.tY||document.queryCommandSupported("cut"),w=H.tY||document.queryCommandSupported("copy"),s=typeof navigator.clipboard=="undefined"||h.vU?document.queryCommandSupported("paste"):!0;function C(c){return c.register(),c}const f=g?C(new P.AJ({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:H.tY?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:y.eH.MenubarEditMenu,group:"2_ccp",title:I.N({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:y.eH.EditorContext,group:a,title:I.N("actions.clipboard.cutLabel","Cut"),when:G.u.writable,order:1},{menuId:y.eH.CommandPalette,group:"",title:I.N("actions.clipboard.cutLabel","Cut"),order:1},{menuId:y.eH.SimpleEditorContext,group:a,title:I.N("actions.clipboard.cutLabel","Cut"),when:G.u.writable,order:1}]})):void 0,v=w?C(new P.AJ({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:H.tY?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:y.eH.MenubarEditMenu,group:"2_ccp",title:I.N({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:y.eH.EditorContext,group:a,title:I.N("actions.clipboard.copyLabel","Copy"),order:2},{menuId:y.eH.CommandPalette,group:"",title:I.N("actions.clipboard.copyLabel","Copy"),order:1},{menuId:y.eH.SimpleEditorContext,group:a,title:I.N("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;y.BH.appendMenuItem(y.eH.MenubarEditMenu,{submenu:y.eH.MenubarCopy,title:{value:I.N("copy as","Copy As"),original:"Copy As"},group:"2_ccp",order:3}),y.BH.appendMenuItem(y.eH.EditorContext,{submenu:y.eH.EditorContextCopy,title:{value:I.N("copy as","Copy As"),original:"Copy As"},group:a,order:3});const r=s?C(new P.AJ({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:H.tY?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:y.eH.MenubarEditMenu,group:"2_ccp",title:I.N({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:y.eH.EditorContext,group:a,title:I.N("actions.clipboard.pasteLabel","Paste"),when:G.u.writable,order:4},{menuId:y.eH.CommandPalette,group:"",title:I.N("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:y.eH.SimpleEditorContext,group:a,title:I.N("actions.clipboard.pasteLabel","Paste"),when:G.u.writable,order:4}]})):void 0;class l extends P.R6{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:I.N("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:G.u.textInputFocus,primary:0,weight:100}})}run(b,L){!L.hasModel()||!L.getOption(32)&&L.getSelection().isEmpty()||(O.RA.forceCopyWithSyntaxHighlighting=!0,L.focus(),document.execCommand("copy"),O.RA.forceCopyWithSyntaxHighlighting=!1)}}function m(c,b){c&&(c.addImplementation(1e4,"code-editor",(L,T)=>{const M=L.get(D.$).getFocusedCodeEditor();if(M&&M.hasTextFocus()){const z=M.getOption(32),oe=M.getSelection();return oe&&oe.isEmpty()&&!z||document.execCommand(b),!0}return!1}),c.addImplementation(0,"generic-dom",(L,T)=>(document.execCommand(b),!0)))}m(f,"cut"),m(v,"copy"),r&&(r.addImplementation(1e4,"code-editor",(c,b)=>{const L=c.get(D.$),T=c.get(E.p),M=L.getFocusedCodeEditor();return M&&M.hasTextFocus()?!document.execCommand("paste")&&H.$L?p(void 0,void 0,void 0,function*(){const oe=yield T.readText();if(oe!==""){const se=O.Nl.INSTANCE.get(oe);let re=!1,De=null,J=null;se&&(re=M.getOption(32)&&!!se.isFromEmptySelection,De=typeof se.multicursorText!="undefined"?se.multicursorText:null,J=se.mode),M.trigger("keyboard","paste",{text:oe,pasteOnNewLine:re,multicursorText:De,mode:J})}}):!0:!1}),r.addImplementation(0,"generic-dom",(c,b)=>(document.execCommand("paste"),!0))),w&&(0,P.Qr)(l)},14899:function(xt,Te,i){"use strict";i.d(Te,{Bb:function(){return f},MN:function(){return v},RB:function(){return C},TM:function(){return l},aI:function(){return L},bA:function(){return m},uH:function(){return r}});var h=i(43506),H=i(96283),O=i(79881),P=i(69323),D=i(4968),G=i(39528),I=i(17373),y=i(17551),E=i(27347),p=i(12027),a=i(35884),g=i(81641),w=i(46105),s=function(z,oe,se,re){function De(J){return J instanceof se?J:new se(function(Z){Z(J)})}return new(se||(se=Promise))(function(J,Z){function Q(j){try{xe(re.next(j))}catch(R){Z(R)}}function le(j){try{xe(re.throw(j))}catch(R){Z(R)}}function xe(j){j.done?J(j.value):De(j.value).then(Q,le)}xe((re=re.apply(z,oe||[])).next())})};const C="editor.action.codeAction",f="editor.action.refactor",v="editor.action.sourceAction",r="editor.action.organizeImports",l="editor.action.fixAll";class m{constructor(oe,se){this.action=oe,this.provider=se}resolve(oe){var se;return s(this,void 0,void 0,function*(){if(!((se=this.provider)===null||se===void 0)&&se.resolveCodeAction&&!this.action.edit){let re;try{re=yield this.provider.resolveCodeAction(this.action,oe)}catch(De){(0,O.Cp)(De)}re&&(this.action.edit=re.edit)}return this})}}class c extends P.JT{constructor(oe,se,re){super(),this.documentation=se,this._register(re),this.allActions=[...oe].sort(c.codeActionsComparator),this.validActions=this.allActions.filter(({action:De})=>!De.disabled)}static codeActionsComparator({action:oe},{action:se}){return oe.isPreferred&&!se.isPreferred?-1:!oe.isPreferred&&se.isPreferred?1:(0,h.Of)(oe.diagnostics)?(0,h.Of)(se.diagnostics)?oe.diagnostics[0].message.localeCompare(se.diagnostics[0].message):-1:(0,h.Of)(se.diagnostics)?1:0}get hasAutoFix(){return this.validActions.some(({action:oe})=>!!oe.kind&&w.yN.QuickFix.contains(new w.yN(oe.kind))&&!!oe.isPreferred)}}const b={actions:[],documentation:void 0};function L(z,oe,se,re,De){var J;const Z=se.filter||{},Q={only:(J=Z.include)===null||J===void 0?void 0:J.value,trigger:se.type},le=new G.YQ(z,De),xe=T(z,Z),j=new P.SL,R=xe.map(K=>s(this,void 0,void 0,function*(){try{re.report(K);const ie=yield K.provideCodeActions(z,oe,Q,le.token);if(ie&&j.add(ie),le.token.isCancellationRequested)return b;const te=((ie==null?void 0:ie.actions)||[]).filter(ye=>ye&&(0,w.Yl)(Z,ye)),ge=M(K,te,Z.include);return{actions:te.map(ye=>new m(ye,K)),documentation:ge}}catch(ie){if((0,O.VV)(ie))throw ie;return(0,O.Cp)(ie),b}})),V=E.H9.onDidChange(()=>{const K=E.H9.all(z);(0,h.fS)(K,xe)||le.cancel()});return Promise.all(R).then(K=>{const ie=(0,h.xH)(K.map(ge=>ge.actions)),te=(0,h.kX)(K.map(ge=>ge.documentation));return new c(ie,te,j)}).finally(()=>{V.dispose(),le.dispose()})}function T(z,oe){return E.H9.all(z).filter(se=>se.providedCodeActionKinds?se.providedCodeActionKinds.some(re=>(0,w.EU)(oe,new w.yN(re))):!0)}function M(z,oe,se){if(!z.documentation)return;const re=z.documentation.map(De=>({kind:new w.yN(De.kind),command:De.command}));if(se){let De;for(const J of re)J.kind.contains(se)&&(De?De.kind.contains(J.kind)&&(De=J):De=J);if(De)return De==null?void 0:De.command}for(const De of oe)if(De.kind){for(const J of re)if(J.kind.contains(new w.yN(De.kind)))return J.command}}a.P.registerCommand("_executeCodeActionProvider",function(z,oe,se,re,De){return s(this,void 0,void 0,function*(){if(!(oe instanceof D.o))throw(0,O.b1)();const J=z.get(p.q).getModel(oe);if(!J)throw(0,O.b1)();const Z=y.Y.isISelection(se)?y.Y.liftSelection(se):I.e.isIRange(se)?J.validateRange(se):void 0;if(!Z)throw(0,O.b1)();const Q=typeof re=="string"?new w.yN(re):void 0,le=yield L(J,Z,{type:1,filter:{includeSourceActions:!0,include:Q}},g.E.None,H.T.None),xe=[],j=Math.min(le.validActions.length,typeof De=="number"?De:0);for(let R=0;R<j;R++)xe.push(le.validActions[R].resolve(H.T.None));try{return yield Promise.all(xe),le.validActions.map(R=>R.action)}finally{setTimeout(()=>le.dispose(),100)}})})},61401:function(xt,Te,i){"use strict";i.d(Te,{S5:function(){return Ni},dW:function(){return oi},Hv:function(){return Ti},o$:function(){return Di},E7:function(){return Wt},pY:function(){return Ze},Eb:function(){return ni},VQ:function(){return hi}});var h=i(96283);class H{constructor(Pt){this.executor=Pt,this._didRun=!1}getValue(){if(!this._didRun)try{this._value=this.executor()}catch(Pt){this._error=Pt}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var O=i(69323),P=i(82983),D=i(4514),G=i(97705),I=i(68987),y=i(14899),E=i(79881),p=i(2658),a=i(16925),g=i(69454),w=i(75918),s=i(72146),C=i(27347),f=i(46105),v=i(4999),r=i(5898),l=function(ai,Pt,Gt,st){var gt=arguments.length,ht=gt<3?Pt:st===null?st=Object.getOwnPropertyDescriptor(Pt,Gt):st,Qe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ht=Reflect.decorate(ai,Pt,Gt,st);else for(var $e=ai.length-1;$e>=0;$e--)(Qe=ai[$e])&&(ht=(gt<3?Qe(ht):gt>3?Qe(Pt,Gt,ht):Qe(Pt,Gt))||ht);return gt>3&&ht&&Object.defineProperty(Pt,Gt,ht),ht},m=function(ai,Pt){return function(Gt,st){Pt(Gt,st,ai)}},c=function(ai,Pt,Gt,st){function gt(ht){return ht instanceof Gt?ht:new Gt(function(Qe){Qe(ht)})}return new(Gt||(Gt=Promise))(function(ht,Qe){function $e(Ke){try{Oe(st.next(Ke))}catch(ct){Qe(ct)}}function Ie(Ke){try{Oe(st.throw(Ke))}catch(ct){Qe(ct)}}function Oe(Ke){Ke.done?ht(Ke.value):gt(Ke.value).then($e,Ie)}Oe((st=st.apply(ai,Pt||[])).next())})};class b extends w.aU{constructor(Pt,Gt){super(Pt.command?Pt.command.id:Pt.title,L(Pt.title),void 0,!Pt.disabled,Gt),this.action=Pt}}function L(ai){return ai.replace(/\r\n|\r|\n/g," ")}let T=class extends O.JT{constructor(Pt,Gt,st,gt){super(),this._editor=Pt,this._delegate=Gt,this._contextMenuService=st,this._visible=!1,this._showingActions=this._register(new O.XK),this._keybindingResolver=new M({getKeybindings:()=>gt.getKeybindings()})}get isVisible(){return this._visible}show(Pt,Gt,st,gt){return c(this,void 0,void 0,function*(){const ht=gt.includeDisabledActions?Gt.allActions:Gt.validActions;if(!ht.length){this._visible=!1;return}if(!this._editor.getDomNode())throw this._visible=!1,(0,E.F0)();this._visible=!0,this._showingActions.value=Gt;const Qe=this.getMenuActions(Pt,ht,Gt.documentation),$e=s.L.isIPosition(st)?this._toCoords(st):st||{x:0,y:0},Ie=this._keybindingResolver.getResolver(),Oe=this._editor.getOption(113);this._contextMenuService.showContextMenu({domForShadowRoot:Oe?this._editor.getDomNode():void 0,getAnchor:()=>$e,getActions:()=>Qe,onHide:()=>{this._visible=!1,this._editor.focus()},autoSelectFirstItem:!0,getKeyBinding:Ke=>Ke instanceof b?Ie(Ke.action):void 0})})}getMenuActions(Pt,Gt,st){var gt,ht;const Qe=Ke=>new b(Ke.action,()=>this._delegate.onSelectCodeAction(Ke)),$e=Gt.map(Qe),Ie=[...st],Oe=this._editor.getModel();if(Oe&&$e.length)for(const Ke of C.H9.all(Oe))Ke._getAdditionalMenuItems&&Ie.push(...Ke._getAdditionalMenuItems({trigger:Pt.type,only:(ht=(gt=Pt.filter)===null||gt===void 0?void 0:gt.include)===null||ht===void 0?void 0:ht.value},Gt.map(ct=>ct.action)));return Ie.length&&$e.push(new w.Z0,...Ie.map(Ke=>Qe(new y.bA({title:Ke.title,command:Ke},void 0)))),$e}_toCoords(Pt){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(Pt,1),this._editor.render();const Gt=this._editor.getScrolledVisiblePosition(Pt),st=(0,g.i)(this._editor.getDomNode()),gt=st.left+Gt.left,ht=st.top+Gt.top+Gt.height;return{x:gt,y:ht}}};T=l([m(2,v.i),m(3,r.d)],T);class M{constructor(Pt){this._keybindingProvider=Pt}getResolver(){const Pt=new H(()=>this._keybindingProvider.getKeybindings().filter(Gt=>M.codeActionCommands.indexOf(Gt.command)>=0).filter(Gt=>Gt.resolvedKeybinding).map(Gt=>{let st=Gt.commandArgs;return Gt.command===y.uH?st={kind:f.yN.SourceOrganizeImports.value}:Gt.command===y.TM&&(st={kind:f.yN.SourceFixAll.value}),Object.assign({resolvedKeybinding:Gt.resolvedKeybinding},f.wZ.fromUser(st,{kind:f.yN.None,apply:"never"}))}));return Gt=>{if(Gt.kind){const st=this.bestKeybindingForCodeAction(Gt,Pt.getValue());return st==null?void 0:st.resolvedKeybinding}}}bestKeybindingForCodeAction(Pt,Gt){if(!Pt.kind)return;const st=new f.yN(Pt.kind);return Gt.filter(gt=>gt.kind.contains(st)).filter(gt=>gt.preferred?Pt.isPreferred:!0).reduceRight((gt,ht)=>gt?gt.kind.contains(ht.kind)?ht:gt:ht,void 0)}}M.codeActionCommands=[y.Bb,y.RB,y.MN,y.uH,y.TM];var z=i(2395),oe=i(60537),se=i(52615),re=i(4348),De=i(31276),J=i(13268),Z=i(44350),Q=i(49055),le=function(ai,Pt,Gt,st){var gt=arguments.length,ht=gt<3?Pt:st===null?st=Object.getOwnPropertyDescriptor(Pt,Gt):st,Qe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ht=Reflect.decorate(ai,Pt,Gt,st);else for(var $e=ai.length-1;$e>=0;$e--)(Qe=ai[$e])&&(ht=(gt<3?Qe(ht):gt>3?Qe(Pt,Gt,ht):Qe(Pt,Gt))||ht);return gt>3&&ht&&Object.defineProperty(Pt,Gt,ht),ht},xe=function(ai,Pt){return function(Gt,st){Pt(Gt,st,ai)}},j;(function(ai){ai.Hidden={type:0};class Pt{constructor(st,gt,ht,Qe){this.actions=st,this.trigger=gt,this.editorPosition=ht,this.widgetPosition=Qe,this.type=1}}ai.Showing=Pt})(j||(j={}));let R=class gl extends O.JT{constructor(Pt,Gt,st,gt){super(),this._editor=Pt,this._quickFixActionId=Gt,this._preferredFixActionId=st,this._keybindingService=gt,this._onClick=this._register(new re.Q5),this.onClick=this._onClick.event,this._state=j.Hidden,this._domNode=document.createElement("div"),this._domNode.className=se.lA.lightBulb.classNames,this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(ht=>{const Qe=this._editor.getModel();(this.state.type!==1||!Qe||this.state.editorPosition.lineNumber>=Qe.getLineCount())&&this.hide()})),oe.o.ignoreTarget(this._domNode),this._register(g.Gw(this._domNode,ht=>{if(this.state.type!==1)return;this._editor.focus(),ht.preventDefault();const{top:Qe,height:$e}=g.i(this._domNode),Ie=this._editor.getOption(58);let Oe=Math.floor(Ie/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber<this.state.editorPosition.lineNumber&&(Oe+=Ie),this._onClick.fire({x:ht.posx,y:Qe+$e+Oe,actions:this.state.actions,trigger:this.state.trigger})})),this._register(g.nm(this._domNode,"mouseenter",ht=>{if((ht.buttons&1)!==1)return;this.hide();const Qe=new z.Z;Qe.startMonitoring(ht.target,ht.buttons,z.e,()=>{},()=>{Qe.dispose()})})),this._register(this._editor.onDidChangeConfiguration(ht=>{ht.hasChanged(56)&&!this._editor.getOption(56).enabled&&this.hide()})),this._updateLightBulbTitleAndIcon(),this._register(this._keybindingService.onDidUpdateKeybindings(this._updateLightBulbTitleAndIcon,this))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(Pt,Gt,st){if(Pt.validActions.length<=0)return this.hide();const gt=this._editor.getOptions();if(!gt.get(56).enabled)return this.hide();const ht=this._editor.getModel();if(!ht)return this.hide();const{lineNumber:Qe,column:$e}=ht.validatePosition(st),Ie=ht.getOptions().tabSize,Oe=gt.get(43),Ke=ht.getLineContent(Qe),ct=De.yO.computeIndentLevel(Ke,Ie),Nt=Oe.spaceWidth*ct>22,$t=Ci=>Ci>2&&this._editor.getTopForLineNumber(Ci)===this._editor.getTopForLineNumber(Ci-1);let Xt=Qe;if(!Nt){if(Qe>1&&!$t(Qe-1))Xt-=1;else if(!$t(Qe+1))Xt+=1;else if($e*Oe.spaceWidth<22)return this.hide()}this.state=new j.Showing(Pt,Gt,st,{position:{lineNumber:Xt,column:1},preference:gl._posPref}),this._editor.layoutContentWidget(this)}hide(){this.state=j.Hidden,this._editor.layoutContentWidget(this)}get state(){return this._state}set state(Pt){this._state=Pt,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(this.state.type===1&&this.state.actions.hasAutoFix){this._domNode.classList.remove(...se.lA.lightBulb.classNamesArray),this._domNode.classList.add(...se.lA.lightbulbAutofix.classNamesArray);const Gt=this._keybindingService.lookupKeybinding(this._preferredFixActionId);if(Gt){this.title=J.N("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",Gt.getLabel());return}}this._domNode.classList.remove(...se.lA.lightbulbAutofix.classNamesArray),this._domNode.classList.add(...se.lA.lightBulb.classNamesArray);const Pt=this._keybindingService.lookupKeybinding(this._quickFixActionId);Pt?this.title=J.N("codeActionWithKb","Show Code Actions ({0})",Pt.getLabel()):this.title=J.N("codeAction","Show Code Actions")}set title(Pt){this._domNode.title=Pt}};R._posPref=[0],R=le([xe(3,r.d)],R),(0,Q.Ic)((ai,Pt)=>{var Gt;const st=(Gt=ai.getColor(Z.cv))===null||Gt===void 0?void 0:Gt.transparent(.7),gt=ai.getColor(Z.Fu);gt&&Pt.addRule(`
.monaco-editor .contentWidgets ${se.lA.lightBulb.cssSelector} {
color: ${gt};
background-color: ${st};
}`);const ht=ai.getColor(Z.sK);ht&&Pt.addRule(`
.monaco-editor .contentWidgets ${se.lA.lightbulbAutofix.cssSelector} {
color: ${ht};
background-color: ${st};
}`)});var V=function(ai,Pt,Gt,st){var gt=arguments.length,ht=gt<3?Pt:st===null?st=Object.getOwnPropertyDescriptor(Pt,Gt):st,Qe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ht=Reflect.decorate(ai,Pt,Gt,st);else for(var $e=ai.length-1;$e>=0;$e--)(Qe=ai[$e])&&(ht=(gt<3?Qe(ht):gt>3?Qe(Pt,Gt,ht):Qe(Pt,Gt))||ht);return gt>3&&ht&&Object.defineProperty(Pt,Gt,ht),ht},K=function(ai,Pt){return function(Gt,st){Pt(Gt,st,ai)}},ie=function(ai,Pt,Gt,st){function gt(ht){return ht instanceof Gt?ht:new Gt(function(Qe){Qe(ht)})}return new(Gt||(Gt=Promise))(function(ht,Qe){function $e(Ke){try{Oe(st.next(Ke))}catch(ct){Qe(ct)}}function Ie(Ke){try{Oe(st.throw(Ke))}catch(ct){Qe(ct)}}function Oe(Ke){Ke.done?ht(Ke.value):gt(Ke.value).then($e,Ie)}Oe((st=st.apply(ai,Pt||[])).next())})},te=function(ai,Pt,Gt,st,gt){if(st==="m")throw new TypeError("Private method is not writable");if(st==="a"&&!gt)throw new TypeError("Private accessor was defined without a setter");if(typeof Pt=="function"?ai!==Pt||!gt:!Pt.has(ai))throw new TypeError("Cannot write private member to an object whose class did not declare it");return st==="a"?gt.call(ai,Gt):gt?gt.value=Gt:Pt.set(ai,Gt),Gt},ge=function(ai,Pt,Gt,st){if(Gt==="a"&&!st)throw new TypeError("Private accessor was defined without a getter");if(typeof Pt=="function"?ai!==Pt||!st:!Pt.has(ai))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Gt==="m"?st:Gt==="a"?st.call(ai):st?st.value:Pt.get(ai)},ye;let ve=class extends O.JT{constructor(Pt,Gt,st,gt,ht){super(),this._editor=Pt,this.delegate=gt,this._activeCodeActions=this._register(new O.XK),ye.set(this,!1),this._codeActionWidget=new H(()=>this._register(ht.createInstance(T,this._editor,{onSelectCodeAction:Qe=>ie(this,void 0,void 0,function*(){this.delegate.applyCodeAction(Qe,!0)})}))),this._lightBulbWidget=new H(()=>{const Qe=this._register(ht.createInstance(R,this._editor,Gt,st));return this._register(Qe.onClick($e=>this.showCodeActionList($e.trigger,$e.actions,$e,{includeDisabledActions:!1}))),Qe})}dispose(){te(this,ye,!0,"f"),super.dispose()}update(Pt){var Gt,st,gt;return ie(this,void 0,void 0,function*(){if(Pt.type!==1){(Gt=this._lightBulbWidget.rawValue)===null||Gt===void 0||Gt.hide();return}let ht;try{ht=yield Pt.actions}catch(Qe){(0,E.dL)(Qe);return}if(!ge(this,ye,"f"))if(this._lightBulbWidget.getValue().update(ht,Pt.trigger,Pt.position),Pt.trigger.type===1){if(!((st=Pt.trigger.filter)===null||st===void 0)&&st.include){const $e=this.tryGetValidActionToApply(Pt.trigger,ht);if($e){try{this._lightBulbWidget.getValue().hide(),yield this.delegate.applyCodeAction($e,!1)}finally{ht.dispose()}return}if(Pt.trigger.context){const Ie=this.getInvalidActionThatWouldHaveBeenApplied(Pt.trigger,ht);if(Ie&&Ie.action.disabled){p.O.get(this._editor).showMessage(Ie.action.disabled,Pt.trigger.context.position),ht.dispose();return}}}const Qe=!!(!((gt=Pt.trigger.filter)===null||gt===void 0)&&gt.include);if(Pt.trigger.context&&(!ht.allActions.length||!Qe&&!ht.validActions.length)){p.O.get(this._editor).showMessage(Pt.trigger.context.notAvailableMessage,Pt.trigger.context.position),this._activeCodeActions.value=ht,ht.dispose();return}this._activeCodeActions.value=ht,this._codeActionWidget.getValue().show(Pt.trigger,ht,Pt.position,{includeDisabledActions:Qe})}else this._codeActionWidget.getValue().isVisible?ht.dispose():this._activeCodeActions.value=ht})}getInvalidActionThatWouldHaveBeenApplied(Pt,Gt){if(Gt.allActions.length&&(Pt.autoApply==="first"&&Gt.validActions.length===0||Pt.autoApply==="ifSingle"&&Gt.allActions.length===1))return Gt.allActions.find(({action:st})=>st.disabled)}tryGetValidActionToApply(Pt,Gt){if(Gt.validActions.length&&(Pt.autoApply==="first"&&Gt.validActions.length>0||Pt.autoApply==="ifSingle"&&Gt.validActions.length===1))return Gt.validActions[0]}showCodeActionList(Pt,Gt,st,gt){return ie(this,void 0,void 0,function*(){this._codeActionWidget.getValue().show(Pt,Gt,st,gt)})}};ye=new WeakMap,ve=V([K(4,a.TG)],ve);var Fe=i(35884),we=i(90689),ue=i(12145),ce=i(79504),Ve=i(81641),We=i(14347),ae=i(50431),fe=i(9365),ne=i(17373),W=function(ai,Pt,Gt,st){if(Gt==="a"&&!st)throw new TypeError("Private accessor was defined without a getter");if(typeof Pt=="function"?ai!==Pt||!st:!Pt.has(ai))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Gt==="m"?st:Gt==="a"?st.call(ai):st?st.value:Pt.get(ai)},$=function(ai,Pt,Gt,st,gt){if(st==="m")throw new TypeError("Private method is not writable");if(st==="a"&&!gt)throw new TypeError("Private accessor was defined without a setter");if(typeof Pt=="function"?ai!==Pt||!gt:!Pt.has(ai))throw new TypeError("Cannot write private member to an object whose class did not declare it");return st==="a"?gt.call(ai,Gt):gt?gt.value=Gt:Pt.set(ai,Gt),Gt},ee;const he=new we.uy("supportedCodeAction","");class Pe extends O.JT{constructor(Pt,Gt,st,gt=250){super(),this._editor=Pt,this._markerService=Gt,this._signalChange=st,this._delay=gt,this._autoTriggerTimer=this._register(new ae._F),this._register(this._markerService.onMarkerChanged(ht=>this._onMarkerChanges(ht))),this._register(this._editor.onDidChangeCursorPosition(()=>this._onCursorChange()))}trigger(Pt){const Gt=this._getRangeOfSelectionUnlessWhitespaceEnclosed(Pt);return this._createEventAndSignalChange(Pt,Gt)}_onMarkerChanges(Pt){const Gt=this._editor.getModel();Gt&&Pt.some(st=>(0,fe.Xy)(st,Gt.uri))&&this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2})},this._delay)}_onCursorChange(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2})},this._delay)}_getRangeOfMarker(Pt){const Gt=this._editor.getModel();if(Gt)for(const st of this._markerService.read({resource:Gt.uri})){const gt=Gt.validateRange(st);if(ne.e.intersectRanges(gt,Pt))return ne.e.lift(gt)}}_getRangeOfSelectionUnlessWhitespaceEnclosed(Pt){if(!this._editor.hasModel())return;const Gt=this._editor.getModel(),st=this._editor.getSelection();if(st.isEmpty()&&Pt.type===2){const{lineNumber:gt,column:ht}=st.getPosition(),Qe=Gt.getLineContent(gt);if(Qe.length===0)return;if(ht===1){if(/\s/.test(Qe[0]))return}else if(ht===Gt.getLineMaxColumn(gt)){if(/\s/.test(Qe[Qe.length-1]))return}else if(/\s/.test(Qe[ht-2])&&/\s/.test(Qe[ht-1]))return}return st}_createEventAndSignalChange(Pt,Gt){const st=this._editor.getModel();if(!Gt||!st){this._signalChange(void 0);return}const gt=this._getRangeOfMarker(Gt),ht=gt?gt.getStartPosition():Gt.getStartPosition(),Qe={trigger:Pt,selection:Gt,position:ht};return this._signalChange(Qe),Qe}}var Ye;(function(ai){ai.Empty={type:0};class Pt{constructor(st,gt,ht,Qe){this.trigger=st,this.rangeOrSelection=gt,this.position=ht,this._cancellablePromise=Qe,this.type=1,this.actions=Qe.catch($e=>{if((0,E.VV)($e))return it;throw $e})}cancel(){this._cancellablePromise.cancel()}}ai.Triggered=Pt})(Ye||(Ye={}));const it={allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1};class rt extends O.JT{constructor(Pt,Gt,st,gt){super(),this._editor=Pt,this._markerService=Gt,this._progressService=gt,this._codeActionOracle=this._register(new O.XK),this._state=Ye.Empty,this._onDidChangeState=this._register(new re.Q5),this.onDidChangeState=this._onDidChangeState.event,ee.set(this,!1),this._supportedCodeActions=he.bindTo(st),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(C.H9.onDidChange(()=>this._update())),this._update()}dispose(){W(this,ee,"f")||($(this,ee,!0,"f"),super.dispose(),this.setState(Ye.Empty,!0))}_update(){if(W(this,ee,"f"))return;this._codeActionOracle.value=void 0,this.setState(Ye.Empty);const Pt=this._editor.getModel();if(Pt&&C.H9.has(Pt)&&!this._editor.getOption(80)){const Gt=[];for(const st of C.H9.all(Pt))Array.isArray(st.providedCodeActionKinds)&&Gt.push(...st.providedCodeActionKinds);this._supportedCodeActions.set(Gt.join(" ")),this._codeActionOracle.value=new Pe(this._editor,this._markerService,st=>{var gt;if(!st){this.setState(Ye.Empty);return}const ht=(0,ae.PG)(Qe=>(0,y.aI)(Pt,st.selection,st.trigger,Ve.E.None,Qe));st.trigger.type===1&&((gt=this._progressService)===null||gt===void 0||gt.showWhile(ht,250)),this.setState(new Ye.Triggered(st.trigger,st.selection,st.position,ht))},void 0),this._codeActionOracle.value.trigger({type:2})}else this._supportedCodeActions.reset()}trigger(Pt){this._codeActionOracle.value&&this._codeActionOracle.value.trigger(Pt)}setState(Pt,Gt){Pt!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=Pt,!Gt&&!W(this,ee,"f")&&this._onDidChangeState.fire(Pt))}}ee=new WeakMap;var vt=function(ai,Pt,Gt,st){var gt=arguments.length,ht=gt<3?Pt:st===null?st=Object.getOwnPropertyDescriptor(Pt,Gt):st,Qe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ht=Reflect.decorate(ai,Pt,Gt,st);else for(var $e=ai.length-1;$e>=0;$e--)(Qe=ai[$e])&&(ht=(gt<3?Qe(ht):gt>3?Qe(Pt,Gt,ht):Qe(Pt,Gt))||ht);return gt>3&&ht&&Object.defineProperty(Pt,Gt,ht),ht},Ft=function(ai,Pt){return function(Gt,st){Pt(Gt,st,ai)}},Ht=function(ai,Pt,Gt,st){function gt(ht){return ht instanceof Gt?ht:new Gt(function(Qe){Qe(ht)})}return new(Gt||(Gt=Promise))(function(ht,Qe){function $e(Ke){try{Oe(st.next(Ke))}catch(ct){Qe(ct)}}function Ie(Ke){try{Oe(st.throw(Ke))}catch(ct){Qe(ct)}}function Oe(Ke){Ke.done?ht(Ke.value):gt(Ke.value).then($e,Ie)}Oe((st=st.apply(ai,Pt||[])).next())})};function ze(ai){return we.Ao.regex(he.keys()[0],new RegExp("(\\s|^)"+(0,P.ec)(ai.value)+"\\b"))}const Xe={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:J.N("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:J.N("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[J.N("args.schema.apply.first","Always apply the first returned code action."),J.N("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),J.N("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:J.N("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};let Ze=class ml extends O.JT{constructor(Pt,Gt,st,gt,ht){super(),this._instantiationService=ht,this._editor=Pt,this._model=this._register(new rt(this._editor,Gt,st,gt)),this._register(this._model.onDidChangeState(Qe=>this.update(Qe))),this._ui=new H(()=>this._register(new ve(Pt,Wt.Id,Ni.Id,{applyCodeAction:(Qe,$e)=>Ht(this,void 0,void 0,function*(){try{yield this._applyCodeAction(Qe)}finally{$e&&this._trigger({type:2,filter:{}})}})},this._instantiationService)))}static get(Pt){return Pt.getContribution(ml.ID)}update(Pt){this._ui.getValue().update(Pt)}showCodeActions(Pt,Gt,st){return this._ui.getValue().showCodeActionList(Pt,Gt,st,{includeDisabledActions:!1})}manualTriggerAtCurrentPosition(Pt,Gt,st){if(!this._editor.hasModel())return;p.O.get(this._editor).closeMessage();const gt=this._editor.getPosition();this._trigger({type:1,filter:Gt,autoApply:st,context:{notAvailableMessage:Pt,position:gt}})}_trigger(Pt){return this._model.trigger(Pt)}_applyCodeAction(Pt){return this._instantiationService.invokeFunction(Ae,Pt,this._editor)}};Ze.ID="editor.contrib.quickFixController",Ze=vt([Ft(1,ue.lT),Ft(2,we.i6),Ft(3,Ve.e),Ft(4,a.TG)],Ze);function Ae(ai,Pt,Gt){return Ht(this,void 0,void 0,function*(){const st=ai.get(G.vu),gt=ai.get(Fe.H),ht=ai.get(We.b),Qe=ai.get(ce.lT);if(ht.publicLog2("codeAction.applyCodeAction",{codeActionTitle:Pt.action.title,codeActionKind:Pt.action.kind,codeActionIsPreferred:!!Pt.action.isPreferred}),yield Pt.resolve(h.T.None),Pt.action.edit&&(yield st.apply(G.fo.convert(Pt.action.edit),{editor:Gt,label:Pt.action.title})),Pt.action.command)try{yield gt.executeCommand(Pt.action.command.id,...Pt.action.command.arguments||[])}catch($e){const Ie=He($e);Qe.error(typeof Ie=="string"?Ie:J.N("applyCodeActionFailed","An unknown error occurred while applying the code action"))}})}function He(ai){return typeof ai=="string"?ai:ai instanceof Error&&typeof ai.message=="string"?ai.message:void 0}function Et(ai,Pt,Gt,st){if(ai.hasModel()){const gt=Ze.get(ai);gt&&gt.manualTriggerAtCurrentPosition(Pt,Gt,st)}}class Wt extends D.R6{constructor(){super({id:Wt.Id,label:J.N("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:we.Ao.and(I.u.writable,I.u.hasCodeActionsProvider),kbOpts:{kbExpr:I.u.editorTextFocus,primary:2132,weight:100}})}run(Pt,Gt){return Et(Gt,J.N("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0)}}Wt.Id="editor.action.quickFix";class oi extends D._l{constructor(){super({id:y.RB,precondition:we.Ao.and(I.u.writable,I.u.hasCodeActionsProvider),description:{description:"Trigger a code action",args:[{name:"args",schema:Xe}]}})}runEditorCommand(Pt,Gt,st){const gt=f.wZ.fromUser(st,{kind:f.yN.Empty,apply:"ifSingle"});return Et(Gt,typeof(st==null?void 0:st.kind)=="string"?gt.preferred?J.N("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",st.kind):J.N("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",st.kind):gt.preferred?J.N("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):J.N("editor.action.codeAction.noneMessage","No code actions available"),{include:gt.kind,includeSourceActions:!0,onlyIncludePreferredActions:gt.preferred},gt.apply)}}class ni extends D.R6{constructor(){super({id:y.Bb,label:J.N("refactor.label","Refactor..."),alias:"Refactor...",precondition:we.Ao.and(I.u.writable,I.u.hasCodeActionsProvider),kbOpts:{kbExpr:I.u.editorTextFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:we.Ao.and(I.u.writable,ze(f.yN.Refactor))},description:{description:"Refactor...",args:[{name:"args",schema:Xe}]}})}run(Pt,Gt,st){const gt=f.wZ.fromUser(st,{kind:f.yN.Refactor,apply:"never"});return Et(Gt,typeof(st==null?void 0:st.kind)=="string"?gt.preferred?J.N("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",st.kind):J.N("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",st.kind):gt.preferred?J.N("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):J.N("editor.action.refactor.noneMessage","No refactorings available"),{include:f.yN.Refactor.contains(gt.kind)?gt.kind:f.yN.None,onlyIncludePreferredActions:gt.preferred},gt.apply)}}class hi extends D.R6{constructor(){super({id:y.MN,label:J.N("source.label","Source Action..."),alias:"Source Action...",precondition:we.Ao.and(I.u.writable,I.u.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:we.Ao.and(I.u.writable,ze(f.yN.Source))},description:{description:"Source Action...",args:[{name:"args",schema:Xe}]}})}run(Pt,Gt,st){const gt=f.wZ.fromUser(st,{kind:f.yN.Source,apply:"never"});return Et(Gt,typeof(st==null?void 0:st.kind)=="string"?gt.preferred?J.N("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",st.kind):J.N("editor.action.source.noneMessage.kind","No source actions for '{0}' available",st.kind):gt.preferred?J.N("editor.action.source.noneMessage.preferred","No preferred source actions available"):J.N("editor.action.source.noneMessage","No source actions available"),{include:f.yN.Source.contains(gt.kind)?gt.kind:f.yN.None,includeSourceActions:!0,onlyIncludePreferredActions:gt.preferred},gt.apply)}}class Di extends D.R6{constructor(){super({id:y.uH,label:J.N("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:we.Ao.and(I.u.writable,ze(f.yN.SourceOrganizeImports)),kbOpts:{kbExpr:I.u.editorTextFocus,primary:1581,weight:100}})}run(Pt,Gt){return Et(Gt,J.N("editor.action.organize.noneMessage","No organize imports action available"),{include:f.yN.SourceOrganizeImports,includeSourceActions:!0},"ifSingle")}}class Ti extends D.R6{constructor(){super({id:y.TM,label:J.N("fixAll.label","Fix All"),alias:"Fix All",precondition:we.Ao.and(I.u.writable,ze(f.yN.SourceFixAll))})}run(Pt,Gt){return Et(Gt,J.N("fixAll.noneMessage","No fix all action available"),{include:f.yN.SourceFixAll,includeSourceActions:!0},"ifSingle")}}class Ni extends D.R6{constructor(){super({id:Ni.Id,label:J.N("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:we.Ao.and(I.u.writable,ze(f.yN.QuickFix)),kbOpts:{kbExpr:I.u.editorTextFocus,primary:1620,mac:{primary:2644},weight:100}})}run(Pt,Gt){return Et(Gt,J.N("editor.action.autoFix.noneMessage","No auto fixes available"),{include:f.yN.QuickFix,onlyIncludePreferredActions:!0},"ifSingle")}}Ni.Id="editor.action.autoFix"},60066:function(xt,Te,i){"use strict";i.r(Te);var h=i(4514),H=i(61401);(0,h._K)(H.pY.ID,H.pY),(0,h.Qr)(H.E7),(0,h.Qr)(H.Eb),(0,h.Qr)(H.VQ),(0,h.Qr)(H.o$),(0,h.Qr)(H.S5),(0,h.Qr)(H.Hv),(0,h.fK)(new H.dW)},46105:function(xt,Te,i){"use strict";i.d(Te,{EU:function(){return H},Yl:function(){return O},wZ:function(){return D},yN:function(){return h}});class h{constructor(I){this.value=I}equals(I){return this.value===I.value}contains(I){return this.equals(I)||this.value===""||I.value.startsWith(this.value+h.sep)}intersects(I){return this.contains(I)||I.contains(this)}append(I){return new h(this.value+h.sep+I)}}h.sep=".",h.None=new h("@@none@@"),h.Empty=new h(""),h.QuickFix=new h("quickfix"),h.Refactor=new h("refactor"),h.Source=new h("source"),h.SourceOrganizeImports=h.Source.append("organizeImports"),h.SourceFixAll=h.Source.append("fixAll");function H(G,I){return!(G.include&&!G.include.intersects(I)||G.excludes&&G.excludes.some(y=>P(I,y,G.include))||!G.includeSourceActions&&h.Source.contains(I))}function O(G,I){const y=I.kind?new h(I.kind):void 0;return!(G.include&&(!y||!G.include.contains(y))||G.excludes&&y&&G.excludes.some(E=>P(y,E,G.include))||!G.includeSourceActions&&y&&h.Source.contains(y)||G.onlyIncludePreferredActions&&!I.isPreferred)}function P(G,I,y){return!(!I.contains(G)||y&&I.contains(y))}class D{constructor(I,y,E){this.kind=I,this.apply=y,this.preferred=E}static fromUser(I,y){return!I||typeof I!="object"?new D(y.kind,y.apply,!1):new D(D.getKindFromUser(I,y.kind),D.getApplyFromUser(I,y.apply),D.getPreferredUser(I))}static getApplyFromUser(I,y){switch(typeof I.apply=="string"?I.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return y}}static getKindFromUser(I,y){return typeof I.kind=="string"?new h(I.kind):y}static getPreferredUser(I){return typeof I.preferred=="boolean"?I.preferred:!1}}},54151:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{CodeLensContribution:function(){return we}});var h=i(69454),H=i(50431),O=i(79881),P=i(44619),D=i(69323),G=i(39528),I=i(4514),y=i(97199),E=i(68987),p=i(27347),a=i(73831),g=i(96283),w=i(72999),s=i(4968),C=i(12027),f=i(35884),v=function(ue,ce,Ve,We){function ae(fe){return fe instanceof Ve?fe:new Ve(function(ne){ne(fe)})}return new(Ve||(Ve=Promise))(function(fe,ne){function W(he){try{ee(We.next(he))}catch(Pe){ne(Pe)}}function $(he){try{ee(We.throw(he))}catch(Pe){ne(Pe)}}function ee(he){he.done?fe(he.value):ae(he.value).then(W,$)}ee((We=We.apply(ue,ce||[])).next())})};class r{constructor(){this.lenses=[],this._disposables=new D.SL}dispose(){this._disposables.dispose()}add(ce,Ve){this._disposables.add(ce);for(const We of ce.lenses)this.lenses.push({symbol:We,provider:Ve})}}function l(ue,ce){return v(this,void 0,void 0,function*(){const Ve=p.He.ordered(ue),We=new Map,ae=new r,fe=Ve.map((ne,W)=>v(this,void 0,void 0,function*(){We.set(ne,W);try{const $=yield Promise.resolve(ne.provideCodeLenses(ue,ce));$&&ae.add($,ne)}catch($){(0,O.Cp)($)}}));return yield Promise.all(fe),ae.lenses=ae.lenses.sort((ne,W)=>ne.symbol.range.startLineNumber<W.symbol.range.startLineNumber?-1:ne.symbol.range.startLineNumber>W.symbol.range.startLineNumber?1:We.get(ne.provider)<We.get(W.provider)?-1:We.get(ne.provider)>We.get(W.provider)?1:ne.symbol.range.startColumn<W.symbol.range.startColumn?-1:ne.symbol.range.startColumn>W.symbol.range.startColumn?1:0),ae})}f.P.registerCommand("_executeCodeLensProvider",function(ue,...ce){let[Ve,We]=ce;(0,w.p_)(s.o.isUri(Ve)),(0,w.p_)(typeof We=="number"||!We);const ae=ue.get(C.q).getModel(Ve);if(!ae)throw(0,O.b1)();const fe=[],ne=new D.SL;return l(ae,g.T.None).then(W=>{ne.add(W);let $=[];for(const ee of W.lenses)We==null||ee.symbol.command?fe.push(ee.symbol):We-- >0&&ee.provider.resolveCodeLens&&$.push(Promise.resolve(ee.provider.resolveCodeLens(ae,ee.symbol,g.T.None)).then(he=>fe.push(he||ee.symbol)));return Promise.all($)}).then(()=>fe).finally(()=>{setTimeout(()=>ne.dispose(),100)})});var m=i(17845),c=i(78421),b=i(17373),L=i(7335),T=i(16925),M=i(19490),z=function(ue,ce,Ve,We){var ae=arguments.length,fe=ae<3?ce:We===null?We=Object.getOwnPropertyDescriptor(ce,Ve):We,ne;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")fe=Reflect.decorate(ue,ce,Ve,We);else for(var W=ue.length-1;W>=0;W--)(ne=ue[W])&&(fe=(ae<3?ne(fe):ae>3?ne(ce,Ve,fe):ne(ce,Ve))||fe);return ae>3&&fe&&Object.defineProperty(ce,Ve,fe),fe},oe=function(ue,ce){return function(Ve,We){ce(Ve,We,ue)}};const se=(0,T.yh)("ICodeLensCache");class re{constructor(ce,Ve){this.lineCount=ce,this.data=Ve}}let De=class{constructor(ce){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new c.z6(20,.75);const Ve="codelens/cache";(0,H.To)(()=>ce.remove(Ve,1));const We="codelens/cache2",ae=ce.get(We,1,"{}");this._deserialize(ae),(0,m.I)(ce.onWillSaveState)(fe=>{fe.reason===M.fk.SHUTDOWN&&ce.store(We,this._serialize(),1,1)})}put(ce,Ve){const We=Ve.lenses.map(ne=>{var W;return{range:ne.symbol.range,command:ne.symbol.command&&{id:"",title:(W=ne.symbol.command)===null||W===void 0?void 0:W.title}}}),ae=new r;ae.add({lenses:We,dispose:()=>{}},this._fakeProvider);const fe=new re(ce.getLineCount(),ae);this._cache.set(ce.uri.toString(),fe)}get(ce){const Ve=this._cache.get(ce.uri.toString());return Ve&&Ve.lineCount===ce.getLineCount()?Ve.data:void 0}delete(ce){this._cache.delete(ce.uri.toString())}_serialize(){const ce=Object.create(null);for(const[Ve,We]of this._cache){const ae=new Set;for(const fe of We.data.lenses)ae.add(fe.symbol.range.startLineNumber);ce[Ve]={lineCount:We.lineCount,lines:[...ae.values()]}}return JSON.stringify(ce)}_deserialize(ce){try{const Ve=JSON.parse(ce);for(const We in Ve){const ae=Ve[We],fe=[];for(const W of ae.lines)fe.push({range:new b.e(W,1,W,11)});const ne=new r;ne.add({lenses:fe,dispose(){}},this._fakeProvider),this._cache.set(We,new re(ae.lineCount,ne))}}catch(Ve){}}};De=z([oe(0,M.Uy)],De),(0,L.z)(se,De);var J=i(67069),Z=i(31276),Q=i(30297),le=i(44350),xe=i(49055);class j{constructor(ce,Ve,We){this.afterLineNumber=ce,this.heightInPx=Ve,this._onHeight=We,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(ce){this._lastHeight===void 0?this._lastHeight=ce:this._lastHeight!==ce&&(this._lastHeight=ce,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class R{constructor(ce,Ve,We){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=ce,this._id=`codelens.widget-${R._idPool++}`,this.updatePosition(We),this._domNode=document.createElement("span"),this._domNode.className=`codelens-decoration ${Ve}`}withCommands(ce,Ve){this._commands.clear();let We=[],ae=!1;for(let fe=0;fe<ce.length;fe++){const ne=ce[fe];if(ne&&(ae=!0,ne.command)){const W=(0,J.T)(ne.command.title.trim());ne.command.id?(We.push(h.$("a",{id:String(fe),title:ne.command.tooltip},...W)),this._commands.set(String(fe),ne.command)):We.push(h.$("span",{title:ne.command.tooltip},...W)),fe+1<ce.length&&We.push(h.$("span",void 0,"\xA0|\xA0"))}}ae?(h.mc(this._domNode,...We),this._isEmpty&&Ve&&this._domNode.classList.add("fadein"),this._isEmpty=!1):h.mc(this._domNode,h.$("span",void 0,"no commands"))}getCommand(ce){return ce.parentElement===this._domNode?this._commands.get(ce.id):void 0}getId(){return this._id}getDomNode(){return this._domNode}updatePosition(ce){const Ve=this._editor.getModel().getLineFirstNonWhitespaceColumn(ce);this._widgetPosition={position:{lineNumber:ce,column:Ve},preference:[1]}}getPosition(){return this._widgetPosition||null}}R._idPool=0;class V{constructor(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}addDecoration(ce,Ve){this._addDecorations.push(ce),this._addDecorationsCallbacks.push(Ve)}removeDecoration(ce){this._removeDecorations.push(ce)}commit(ce){let Ve=ce.deltaDecorations(this._removeDecorations,this._addDecorations);for(let We=0,ae=Ve.length;We<ae;We++)this._addDecorationsCallbacks[We](Ve[We])}}class K{constructor(ce,Ve,We,ae,fe,ne,W){this._isDisposed=!1,this._editor=Ve,this._className=We,this._data=ce,this._decorationIds=[];let $,ee=[];this._data.forEach((he,Pe)=>{he.symbol.command&&ee.push(he.symbol),ae.addDecoration({range:he.symbol.range,options:Z.qx.EMPTY},Ye=>this._decorationIds[Pe]=Ye),$?$=b.e.plusRange($,he.symbol.range):$=b.e.lift(he.symbol.range)}),this._viewZone=new j($.startLineNumber-1,ne,W),this._viewZoneId=fe.addZone(this._viewZone),ee.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(ee,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new R(this._editor,this._className,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(ce,Ve){this._decorationIds.forEach(ce.removeDecoration,ce),this._decorationIds=[],Ve&&Ve.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((ce,Ve)=>{const We=this._editor.getModel().getDecorationRange(ce),ae=this._data[Ve].symbol;return!!(We&&b.e.isEmpty(ae.range)===We.isEmpty())})}updateCodeLensSymbols(ce,Ve){this._decorationIds.forEach(Ve.removeDecoration,Ve),this._decorationIds=[],this._data=ce,this._data.forEach((We,ae)=>{Ve.addDecoration({range:We.symbol.range,options:Z.qx.EMPTY},fe=>this._decorationIds[ae]=fe)})}updateHeight(ce,Ve){this._viewZone.heightInPx=ce,Ve.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(ce){if(!this._viewZone.isVisible())return null;for(let Ve=0;Ve<this._decorationIds.length;Ve++){const We=ce.getDecorationRange(this._decorationIds[Ve]);We&&(this._data[Ve].symbol.range=We)}return this._data}updateCommands(ce){this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(ce,!0);for(let Ve=0;Ve<this._data.length;Ve++){const We=ce[Ve];if(We){const{symbol:ae}=this._data[Ve];ae.command=We.command||ae.command}}}getCommand(ce){var Ve;return(Ve=this._contentWidget)===null||Ve===void 0?void 0:Ve.getCommand(ce)}getLineNumber(){const ce=this._editor.getModel().getDecorationRange(this._decorationIds[0]);return ce?ce.startLineNumber:-1}update(ce){if(this.isValid()){const Ve=this._editor.getModel().getDecorationRange(this._decorationIds[0]);Ve&&(this._viewZone.afterLineNumber=Ve.startLineNumber-1,ce.layoutZone(this._viewZoneId),this._contentWidget&&(this._contentWidget.updatePosition(Ve.startLineNumber),this._editor.layoutContentWidget(this._contentWidget)))}}getItems(){return this._data}}(0,xe.Ic)((ue,ce)=>{const Ve=ue.getColor(Q.Yp);Ve&&(ce.addRule(`.monaco-editor .codelens-decoration { color: ${Ve}; }`),ce.addRule(`.monaco-editor .codelens-decoration .codicon { color: ${Ve}; }`));const We=ue.getColor(le._Y);We&&(ce.addRule(`.monaco-editor .codelens-decoration > a:hover { color: ${We} !important; }`),ce.addRule(`.monaco-editor .codelens-decoration > a:hover .codicon { color: ${We} !important; }`))});var ie=i(13268),te=i(79504),ge=i(96148),ye=function(ue,ce,Ve,We){var ae=arguments.length,fe=ae<3?ce:We===null?We=Object.getOwnPropertyDescriptor(ce,Ve):We,ne;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")fe=Reflect.decorate(ue,ce,Ve,We);else for(var W=ue.length-1;W>=0;W--)(ne=ue[W])&&(fe=(ae<3?ne(fe):ae>3?ne(ce,Ve,fe):ne(ce,Ve))||fe);return ae>3&&fe&&Object.defineProperty(ce,Ve,fe),fe},ve=function(ue,ce){return function(Ve,We){ce(Ve,We,ue)}},Fe=function(ue,ce,Ve,We){function ae(fe){return fe instanceof Ve?fe:new Ve(function(ne){ne(fe)})}return new(Ve||(Ve=Promise))(function(fe,ne){function W(he){try{ee(We.next(he))}catch(Pe){ne(Pe)}}function $(he){try{ee(We.throw(he))}catch(Pe){ne(Pe)}}function ee(he){he.done?fe(he.value):ae(he.value).then(W,$)}ee((We=We.apply(ue,ce||[])).next())})};let we=class{constructor(ce,Ve,We,ae){this._editor=ce,this._commandService=Ve,this._notificationService=We,this._codeLensCache=ae,this._disposables=new D.SL,this._localToDispose=new D.SL,this._lenses=[],this._getCodeLensModelDelays=new a.Y(p.He,250,2500),this._oldCodeLensModels=new D.SL,this._resolveCodeLensesDelays=new a.Y(p.He,250,2500),this._resolveCodeLensesScheduler=new H.pY(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDelays.min),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(fe=>{(fe.hasChanged(43)||fe.hasChanged(16)||fe.hasChanged(15))&&this._updateLensStyle(),fe.hasChanged(14)&&this._onModelChange()})),this._disposables.add(p.He.onDidChange(this._onModelChange,this)),this._onModelChange(),this._styleClassName="_"+(0,P.vp)(this._editor.getId()).toString(16),this._styleElement=h.dS(h.OO(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0),this._updateLensStyle()}dispose(){var ce;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),(ce=this._currentCodeLensModel)===null||ce===void 0||ce.dispose(),this._styleElement.remove()}_getLayoutInfo(){let ce=this._editor.getOption(16),Ve;return!ce||ce<5?(ce=this._editor.getOption(45)*.9|0,Ve=this._editor.getOption(58)):Ve=ce*Math.max(1.3,this._editor.getOption(58)/this._editor.getOption(45))|0,{codeLensHeight:Ve,fontSize:ce}}_updateLensStyle(){const{codeLensHeight:ce,fontSize:Ve}=this._getLayoutInfo(),We=this._editor.getOption(15),ae=this._editor.getOption(43),fe=`--codelens-font-family${this._styleClassName}`,ne=`--codelens-font-features${this._styleClassName}`;let W=`
.monaco-editor .codelens-decoration.${this._styleClassName} { line-height: ${ce}px; font-size: ${Ve}px; padding-right: ${Math.round(Ve*.5)}px; font-feature-settings: var(${ne}) }
.monaco-editor .codelens-decoration.${this._styleClassName} span.codicon { line-height: ${ce}px; font-size: ${Ve}px; }
`;We&&(W+=`.monaco-editor .codelens-decoration.${this._styleClassName} { font-family: var(${fe}), ${y.hL.fontFamily}}`),this._styleElement.textContent=W,this._editor.getContainerDomNode().style.setProperty(fe,We!=null?We:"inherit"),this._editor.getContainerDomNode().style.setProperty(ne,ae.fontFeatureSettings),this._editor.changeViewZones($=>{for(let ee of this._lenses)ee.updateHeight(ce,$)})}_localDispose(){var ce,Ve,We;(ce=this._getCodeLensModelPromise)===null||ce===void 0||ce.cancel(),this._getCodeLensModelPromise=void 0,(Ve=this._resolveCodeLensesPromise)===null||Ve===void 0||Ve.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),(We=this._currentCodeLensModel)===null||We===void 0||We.dispose()}_onModelChange(){this._localDispose();const ce=this._editor.getModel();if(!ce||!this._editor.getOption(14))return;const Ve=this._codeLensCache.get(ce);if(Ve&&this._renderCodeLensSymbols(Ve),!p.He.has(ce)){Ve&&this._localToDispose.add((0,H.Vg)(()=>{const ae=this._codeLensCache.get(ce);Ve===ae&&(this._codeLensCache.delete(ce),this._onModelChange())},30*1e3));return}for(const ae of p.He.all(ce))if(typeof ae.onDidChange=="function"){let fe=ae.onDidChange(()=>We.schedule());this._localToDispose.add(fe)}const We=new H.pY(()=>{var ae;const fe=Date.now();(ae=this._getCodeLensModelPromise)===null||ae===void 0||ae.cancel(),this._getCodeLensModelPromise=(0,H.PG)(ne=>l(ce,ne)),this._getCodeLensModelPromise.then(ne=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=ne,this._codeLensCache.put(ce,ne);const W=this._getCodeLensModelDelays.update(ce,Date.now()-fe);We.delay=W,this._renderCodeLensSymbols(ne),this._resolveCodeLensesInViewportSoon()},O.dL)},this._getCodeLensModelDelays.get(ce));this._localToDispose.add(We),this._localToDispose.add((0,D.OF)(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._editor.changeDecorations(ae=>{this._editor.changeViewZones(fe=>{let ne=[],W=-1;this._lenses.forEach(ee=>{!ee.isValid()||W===ee.getLineNumber()?ne.push(ee):(ee.update(fe),W=ee.getLineNumber())});let $=new V;ne.forEach(ee=>{ee.dispose($,fe),this._lenses.splice(this._lenses.indexOf(ee),1)}),$.commit(ae)})}),We.schedule()})),this._localToDispose.add(this._editor.onDidFocusEditorWidget(()=>{We.schedule()})),this._localToDispose.add(this._editor.onDidScrollChange(ae=>{ae.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add((0,D.OF)(()=>{if(this._editor.getModel()){const ae=G.ZF.capture(this._editor);this._editor.changeDecorations(fe=>{this._editor.changeViewZones(ne=>{this._disposeAllLenses(fe,ne)})}),ae.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(ae=>{if(ae.target.type!==9)return;let fe=ae.target.element;if((fe==null?void 0:fe.tagName)==="SPAN"&&(fe=fe.parentElement),(fe==null?void 0:fe.tagName)==="A")for(const ne of this._lenses){let W=ne.getCommand(fe);if(W){this._commandService.executeCommand(W.id,...W.arguments||[]).catch($=>this._notificationService.error($));break}}})),We.schedule()}_disposeAllLenses(ce,Ve){const We=new V;for(const ae of this._lenses)ae.dispose(We,Ve);ce&&We.commit(ce),this._lenses.length=0}_renderCodeLensSymbols(ce){if(!this._editor.hasModel())return;let Ve=this._editor.getModel().getLineCount(),We=[],ae;for(let W of ce.lenses){let $=W.symbol.range.startLineNumber;$<1||$>Ve||(ae&&ae[ae.length-1].symbol.range.startLineNumber===$?ae.push(W):(ae=[W],We.push(ae)))}const fe=G.ZF.capture(this._editor),ne=this._getLayoutInfo();this._editor.changeDecorations(W=>{this._editor.changeViewZones($=>{const ee=new V;let he=0,Pe=0;for(;Pe<We.length&&he<this._lenses.length;){let Ye=We[Pe][0].symbol.range.startLineNumber,it=this._lenses[he].getLineNumber();it<Ye?(this._lenses[he].dispose(ee,$),this._lenses.splice(he,1)):it===Ye?(this._lenses[he].updateCodeLensSymbols(We[Pe],ee),Pe++,he++):(this._lenses.splice(he,0,new K(We[Pe],this._editor,this._styleClassName,ee,$,ne.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),he++,Pe++)}for(;he<this._lenses.length;)this._lenses[he].dispose(ee,$),this._lenses.splice(he,1);for(;Pe<We.length;)this._lenses.push(new K(We[Pe],this._editor,this._styleClassName,ee,$,ne.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),Pe++;ee.commit(W)})}),fe.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var ce;(ce=this._resolveCodeLensesPromise)===null||ce===void 0||ce.cancel(),this._resolveCodeLensesPromise=void 0;const Ve=this._editor.getModel();if(!Ve)return;const We=[],ae=[];if(this._lenses.forEach(W=>{const $=W.computeIfNecessary(Ve);$&&(We.push($),ae.push(W))}),We.length===0)return;const fe=Date.now(),ne=(0,H.PG)(W=>{const $=We.map((ee,he)=>{const Pe=new Array(ee.length),Ye=ee.map((it,rt)=>!it.symbol.command&&typeof it.provider.resolveCodeLens=="function"?Promise.resolve(it.provider.resolveCodeLens(Ve,it.symbol,W)).then(vt=>{Pe[rt]=vt},O.Cp):(Pe[rt]=it.symbol,Promise.resolve(void 0)));return Promise.all(Ye).then(()=>{!W.isCancellationRequested&&!ae[he].isDisposed()&&ae[he].updateCommands(Pe)})});return Promise.all($)});this._resolveCodeLensesPromise=ne,this._resolveCodeLensesPromise.then(()=>{const W=this._resolveCodeLensesDelays.update(Ve,Date.now()-fe);this._resolveCodeLensesScheduler.delay=W,this._currentCodeLensModel&&this._codeLensCache.put(Ve,this._currentCodeLensModel),this._oldCodeLensModels.clear(),ne===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},W=>{(0,O.dL)(W),ne===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}getLenses(){return this._lenses}};we.ID="css.editor.codeLens",we=ye([ve(1,f.H),ve(2,te.lT),ve(3,se)],we),(0,I._K)(we.ID,we),(0,I.Qr)(class extends I.R6{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:E.u.hasCodeLensProvider,label:(0,ie.N)("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}run(ce,Ve){return Fe(this,void 0,void 0,function*(){if(!Ve.hasModel())return;const We=ce.get(ge.eJ),ae=ce.get(f.H),fe=ce.get(te.lT),ne=Ve.getSelection().positionLineNumber,W=Ve.getContribution(we.ID),$=[];for(let he of W.getLenses())if(he.getLineNumber()===ne)for(let Pe of he.getItems()){const{command:Ye}=Pe.symbol;Ye&&$.push({label:Ye.title,command:Ye})}if($.length===0)return;const ee=yield We.pick($,{canPickMany:!1});if(ee)try{yield ae.executeCommand(ee.command.id,...ee.command.arguments||[])}catch(he){fe.error(he)}})}})},91146:function(xt,Te,i){"use strict";i.d(Te,{E:function(){return y},R:function(){return E}});var h=i(96283),H=i(79881),O=i(4968),P=i(17373),D=i(27347),G=i(12027),I=i(35884);function y(p,a){const g=[],s=D.OH.ordered(p).reverse().map(C=>Promise.resolve(C.provideDocumentColors(p,a)).then(f=>{if(Array.isArray(f))for(let v of f)g.push({colorInfo:v,provider:C})}));return Promise.all(s).then(()=>g)}function E(p,a,g,w){return Promise.resolve(g.provideColorPresentations(p,a,w))}I.P.registerCommand("_executeDocumentColorProvider",function(p,...a){const[g]=a;if(!(g instanceof O.o))throw(0,H.b1)();const w=p.get(G.q).getModel(g);if(!w)throw(0,H.b1)();const s=[],f=D.OH.ordered(w).reverse().map(v=>Promise.resolve(v.provideDocumentColors(w,h.T.None)).then(r=>{if(Array.isArray(r))for(let l of r)s.push({range:l.range,color:[l.color.red,l.color.green,l.color.blue,l.color.alpha]})}));return Promise.all(f).then(()=>s)}),I.P.registerCommand("_executeColorPresentationProvider",function(p,...a){const[g,w]=a,{uri:s,range:C}=w;if(!(s instanceof O.o)||!Array.isArray(g)||g.length!==4||!P.e.isIRange(C))throw(0,H.b1)();const[f,v,r,l]=g,m=p.get(G.q).getModel(s);if(!m)throw(0,H.b1)();const c={range:C,color:{red:f,green:v,blue:r,alpha:l}},b=[],T=D.OH.ordered(m).reverse().map(M=>Promise.resolve(M.provideColorPresentations(m,c,h.T.None)).then(z=>{Array.isArray(z)&&b.push(...z)}));return Promise.all(T).then(()=>b)})},99851:function(xt,Te,i){"use strict";i.d(Te,{i:function(){return f}});var h=i(50431),H=i(51737),O=i(79881),P=i(44619),D=i(69323),G=i(4514),I=i(70827),y=i(17373),E=i(31276),p=i(27347),a=i(91146),g=i(21194),w=function(v,r,l,m){var c=arguments.length,b=c<3?r:m===null?m=Object.getOwnPropertyDescriptor(r,l):m,L;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(v,r,l,m);else for(var T=v.length-1;T>=0;T--)(L=v[T])&&(b=(c<3?L(b):c>3?L(r,l,b):L(r,l))||b);return c>3&&b&&Object.defineProperty(r,l,b),b},s=function(v,r){return function(l,m){r(l,m,v)}};const C=500;let f=class pl extends D.JT{constructor(r,l,m){super(),this._editor=r,this._codeEditorService=l,this._configurationService=m,this._localToDispose=this._register(new D.SL),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=[],this._decorationsTypes=new Set,this._register(r.onDidChangeModel(()=>{this._isEnabled=this.isEnabled(),this.onModelChanged()})),this._register(r.onDidChangeModelLanguage(()=>this.onModelChanged())),this._register(p.OH.onDidChange(()=>this.onModelChanged())),this._register(r.onDidChangeConfiguration(()=>{let c=this._isEnabled;this._isEnabled=this.isEnabled(),c!==this._isEnabled&&(this._isEnabled?this.onModelChanged():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isEnabled=this.isEnabled(),this.onModelChanged()}isEnabled(){const r=this._editor.getModel();if(!r)return!1;const l=r.getLanguageId(),m=this._configurationService.getValue(l);if(m&&typeof m=="object"){const c=m.colorDecorators;if(c&&c.enable!==void 0&&!c.enable)return c.enable}return this._editor.getOption(17)}static get(r){return r.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}onModelChanged(){if(this.stop(),!this._isEnabled)return;const r=this._editor.getModel();!r||!p.OH.has(r)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new h._F,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},pl.RECOMPUTE_TIME))})),this.beginCompute())}beginCompute(){this._computePromise=(0,h.PG)(r=>{const l=this._editor.getModel();return l?(0,a.E)(l,r):Promise.resolve([])}),this._computePromise.then(r=>{this.updateDecorations(r),this.updateColorDecorators(r),this._computePromise=null},O.dL)}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(r){const l=r.map(m=>({range:{startLineNumber:m.colorInfo.range.startLineNumber,startColumn:m.colorInfo.range.startColumn,endLineNumber:m.colorInfo.range.endLineNumber,endColumn:m.colorInfo.range.endColumn},options:E.qx.EMPTY}));this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,l),this._colorDatas=new Map,this._decorationsIds.forEach((m,c)=>this._colorDatas.set(m,r[c]))}updateColorDecorators(r){let l=[],m={};for(let c=0;c<r.length&&l.length<C;c++){const{red:b,green:L,blue:T,alpha:M}=r[c].colorInfo.color,z=new H.VS(Math.round(b*255),Math.round(L*255),Math.round(T*255),M);let oe=(0,P.vp)(`rgba(${z.r},${z.g},${z.b},${z.a})`).toString(16),se=`rgba(${z.r}, ${z.g}, ${z.b}, ${z.a})`,re="colorBox-"+oe;!this._decorationsTypes.has(re)&&!m[re]&&this._codeEditorService.registerDecorationType("color-detector-color",re,{before:{contentText:" ",border:"solid 0.1em #000",margin:"0.1em 0.2em 0 0.2em",width:"0.8em",height:"0.8em",backgroundColor:se},dark:{before:{border:"solid 0.1em #eee"}}},void 0,this._editor),m[re]=!0,l.push({range:{startLineNumber:r[c].colorInfo.range.startLineNumber,startColumn:r[c].colorInfo.range.startColumn,endLineNumber:r[c].colorInfo.range.endLineNumber,endColumn:r[c].colorInfo.range.endColumn},options:this._codeEditorService.resolveDecorationOptions(re,!0)})}this._decorationsTypes.forEach(c=>{m[c]||this._codeEditorService.removeDecorationType(c)}),this._colorDecoratorIds=this._editor.deltaDecorations(this._colorDecoratorIds,l)}removeAllDecorations(){this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,[]),this._colorDecoratorIds=this._editor.deltaDecorations(this._colorDecoratorIds,[]),this._decorationsTypes.forEach(r=>{this._codeEditorService.removeDecorationType(r)})}getColorData(r){const l=this._editor.getModel();if(!l)return null;const m=l.getDecorationsInRange(y.e.fromPositions(r,r)).filter(c=>this._colorDatas.has(c.id));return m.length===0?null:this._colorDatas.get(m[0].id)}};f.ID="editor.contrib.colorDetector",f.RECOMPUTE_TIME=1e3,f=w([s(1,I.$),s(2,g.Ui)],f),(0,G._K)(f.ID,f)},54807:function(xt,Te,i){"use strict";i.r(Te);var h=i(52411),H=i(4514),O=i(17373),P=i(68987),D=i(44124),G=i(72146),I=i(17551),y=i(73468);class E{constructor(m,c){this._selection=m,this._insertSpace=c,this._usedEndToken=null}static _haystackHasNeedleAtOffset(m,c,b){if(b<0)return!1;const L=c.length,T=m.length;if(b+L>T)return!1;for(let M=0;M<L;M++){const z=m.charCodeAt(b+M),oe=c.charCodeAt(M);if(z!==oe&&!(z>=65&&z<=90&&z+32===oe)&&!(oe>=65&&oe<=90&&oe+32===z))return!1}return!0}_createOperationsForBlockComment(m,c,b,L,T,M){const z=m.startLineNumber,oe=m.startColumn,se=m.endLineNumber,re=m.endColumn,De=T.getLineContent(z),J=T.getLineContent(se);let Z=De.lastIndexOf(c,oe-1+c.length),Q=J.indexOf(b,re-1-b.length);if(Z!==-1&&Q!==-1)if(z===se)De.substring(Z+c.length,Q).indexOf(b)>=0&&(Z=-1,Q=-1);else{const xe=De.substring(Z+c.length),j=J.substring(0,Q);(xe.indexOf(b)>=0||j.indexOf(b)>=0)&&(Z=-1,Q=-1)}let le;Z!==-1&&Q!==-1?(L&&Z+c.length<De.length&&De.charCodeAt(Z+c.length)===32&&(c=c+" "),L&&Q>0&&J.charCodeAt(Q-1)===32&&(b=" "+b,Q-=1),le=E._createRemoveBlockCommentOperations(new O.e(z,Z+c.length+1,se,Q+1),c,b)):(le=E._createAddBlockCommentOperations(m,c,b,this._insertSpace),this._usedEndToken=le.length===1?b:null);for(const xe of le)M.addTrackedEditOperation(xe.range,xe.text)}static _createRemoveBlockCommentOperations(m,c,b){let L=[];return O.e.isEmpty(m)?L.push(D.h.delete(new O.e(m.startLineNumber,m.startColumn-c.length,m.endLineNumber,m.endColumn+b.length))):(L.push(D.h.delete(new O.e(m.startLineNumber,m.startColumn-c.length,m.startLineNumber,m.startColumn))),L.push(D.h.delete(new O.e(m.endLineNumber,m.endColumn,m.endLineNumber,m.endColumn+b.length)))),L}static _createAddBlockCommentOperations(m,c,b,L){let T=[];return O.e.isEmpty(m)?T.push(D.h.replace(new O.e(m.startLineNumber,m.startColumn,m.endLineNumber,m.endColumn),c+" "+b)):(T.push(D.h.insert(new G.L(m.startLineNumber,m.startColumn),c+(L?" ":""))),T.push(D.h.insert(new G.L(m.endLineNumber,m.endColumn),(L?" ":"")+b))),T}getEditOperations(m,c){const b=this._selection.startLineNumber,L=this._selection.startColumn;m.tokenizeIfCheap(b);const T=m.getLanguageIdAtPosition(b,L),M=y.zu.getComments(T);!M||!M.blockCommentStartToken||!M.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,M.blockCommentStartToken,M.blockCommentEndToken,this._insertSpace,m,c)}computeCursorState(m,c){const b=c.getInverseEditOperations();if(b.length===2){const L=b[0],T=b[1];return new I.Y(L.range.endLineNumber,L.range.endColumn,T.range.startLineNumber,T.range.startColumn)}else{const L=b[0].range,T=this._usedEndToken?-this._usedEndToken.length-1:0;return new I.Y(L.endLineNumber,L.endColumn+T,L.endLineNumber,L.endColumn+T)}}}var p=i(82983);class a{constructor(m,c,b,L,T,M){this._selection=m,this._tabSize=c,this._type=b,this._insertSpace=L,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=T,this._ignoreFirstLine=M||!1}static _gatherPreflightCommentStrings(m,c,b){m.tokenizeIfCheap(c);const L=m.getLanguageIdAtPosition(c,1),T=y.zu.getComments(L),M=T?T.lineCommentToken:null;if(!M)return null;let z=[];for(let oe=0,se=b-c+1;oe<se;oe++)z[oe]={ignore:!1,commentStr:M,commentStrOffset:0,commentStrLength:M.length};return z}static _analyzeLines(m,c,b,L,T,M,z){let oe=!0,se;m===0?se=!0:m===1?se=!1:se=!0;for(let re=0,De=L.length;re<De;re++){const J=L[re],Z=T+re;if(Z===T&&z){J.ignore=!0;continue}const Q=b.getLineContent(Z),le=p.LC(Q);if(le===-1){J.ignore=M,J.commentStrOffset=Q.length;continue}if(oe=!1,J.ignore=!1,J.commentStrOffset=le,se&&!E._haystackHasNeedleAtOffset(Q,J.commentStr,le)&&(m===0?se=!1:m===1||(J.ignore=!0)),se&&c){const xe=le+J.commentStrLength;xe<Q.length&&Q.charCodeAt(xe)===32&&(J.commentStrLength+=1)}}if(m===0&&oe){se=!1;for(let re=0,De=L.length;re<De;re++)L[re].ignore=!1}return{supported:!0,shouldRemoveComments:se,lines:L}}static _gatherPreflightData(m,c,b,L,T,M,z){const oe=a._gatherPreflightCommentStrings(b,L,T);return oe===null?{supported:!1}:a._analyzeLines(m,c,b,oe,L,M,z)}_executeLineComments(m,c,b,L){let T;b.shouldRemoveComments?T=a._createRemoveLineCommentsOperations(b.lines,L.startLineNumber):(a._normalizeInsertionPoint(m,b.lines,L.startLineNumber,this._tabSize),T=this._createAddLineCommentsOperations(b.lines,L.startLineNumber));const M=new G.L(L.positionLineNumber,L.positionColumn);for(let z=0,oe=T.length;z<oe;z++)c.addEditOperation(T[z].range,T[z].text),O.e.isEmpty(T[z].range)&&O.e.getStartPosition(T[z].range).equals(M)&&m.getLineContent(M.lineNumber).length+1===M.column&&(this._deltaColumn=(T[z].text||"").length);this._selectionId=c.trackSelection(L)}_attemptRemoveBlockComment(m,c,b,L){let T=c.startLineNumber,M=c.endLineNumber,z=L.length+Math.max(m.getLineFirstNonWhitespaceColumn(c.startLineNumber),c.startColumn),oe=m.getLineContent(T).lastIndexOf(b,z-1),se=m.getLineContent(M).indexOf(L,c.endColumn-1-b.length);return oe!==-1&&se===-1&&(se=m.getLineContent(T).indexOf(L,oe+b.length),M=T),oe===-1&&se!==-1&&(oe=m.getLineContent(M).lastIndexOf(b,se),T=M),c.isEmpty()&&(oe===-1||se===-1)&&(oe=m.getLineContent(T).indexOf(b),oe!==-1&&(se=m.getLineContent(T).indexOf(L,oe+b.length))),oe!==-1&&m.getLineContent(T).charCodeAt(oe+b.length)===32&&(b+=" "),se!==-1&&m.getLineContent(M).charCodeAt(se-1)===32&&(L=" "+L,se-=1),oe!==-1&&se!==-1?E._createRemoveBlockCommentOperations(new O.e(T,oe+b.length+1,M,se+1),b,L):null}_executeBlockComment(m,c,b){m.tokenizeIfCheap(b.startLineNumber);let L=m.getLanguageIdAtPosition(b.startLineNumber,1),T=y.zu.getComments(L);if(!T||!T.blockCommentStartToken||!T.blockCommentEndToken)return;const M=T.blockCommentStartToken,z=T.blockCommentEndToken;let oe=this._attemptRemoveBlockComment(m,b,M,z);if(!oe){if(b.isEmpty()){const se=m.getLineContent(b.startLineNumber);let re=p.LC(se);re===-1&&(re=se.length),oe=E._createAddBlockCommentOperations(new O.e(b.startLineNumber,re+1,b.startLineNumber,se.length+1),M,z,this._insertSpace)}else oe=E._createAddBlockCommentOperations(new O.e(b.startLineNumber,m.getLineFirstNonWhitespaceColumn(b.startLineNumber),b.endLineNumber,m.getLineMaxColumn(b.endLineNumber)),M,z,this._insertSpace);oe.length===1&&(this._deltaColumn=M.length+1)}this._selectionId=c.trackSelection(b);for(const se of oe)c.addEditOperation(se.range,se.text)}getEditOperations(m,c){let b=this._selection;if(this._moveEndPositionDown=!1,b.startLineNumber===b.endLineNumber&&this._ignoreFirstLine){c.addEditOperation(new O.e(b.startLineNumber,m.getLineMaxColumn(b.startLineNumber),b.startLineNumber+1,1),b.startLineNumber===m.getLineCount()?"":`
`),this._selectionId=c.trackSelection(b);return}b.startLineNumber<b.endLineNumber&&b.endColumn===1&&(this._moveEndPositionDown=!0,b=b.setEndPosition(b.endLineNumber-1,m.getLineMaxColumn(b.endLineNumber-1)));const L=a._gatherPreflightData(this._type,this._insertSpace,m,b.startLineNumber,b.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine);return L.supported?this._executeLineComments(m,c,L,b):this._executeBlockComment(m,c,b)}computeCursorState(m,c){let b=c.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(b=b.setEndPosition(b.endLineNumber+1,1)),new I.Y(b.selectionStartLineNumber,b.selectionStartColumn+this._deltaColumn,b.positionLineNumber,b.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(m,c){let b=[];for(let L=0,T=m.length;L<T;L++){const M=m[L];M.ignore||b.push(D.h.delete(new O.e(c+L,M.commentStrOffset+1,c+L,M.commentStrOffset+M.commentStrLength+1)))}return b}_createAddLineCommentsOperations(m,c){let b=[];const L=this._insertSpace?" ":"";for(let T=0,M=m.length;T<M;T++){const z=m[T];z.ignore||b.push(D.h.insert(new G.L(c+T,z.commentStrOffset+1),z.commentStr+L))}return b}static nextVisibleColumn(m,c,b,L){return b?m+(c-m%c):m+L}static _normalizeInsertionPoint(m,c,b,L){let T=1073741824,M,z;for(let oe=0,se=c.length;oe<se;oe++){if(c[oe].ignore)continue;const re=m.getLineContent(b+oe);let De=0;for(let J=0,Z=c[oe].commentStrOffset;De<T&&J<Z;J++)De=a.nextVisibleColumn(De,L,re.charCodeAt(J)===9,1);De<T&&(T=De)}T=Math.floor(T/L)*L;for(let oe=0,se=c.length;oe<se;oe++){if(c[oe].ignore)continue;const re=m.getLineContent(b+oe);let De=0;for(M=0,z=c[oe].commentStrOffset;De<T&&M<z;M++)De=a.nextVisibleColumn(De,L,re.charCodeAt(M)===9,1);De>T?c[oe].commentStrOffset=M-1:c[oe].commentStrOffset=M}}}var g=i(13268),w=i(96236);class s extends H.R6{constructor(m,c){super(c),this._type=m}run(m,c){if(!c.hasModel())return;const b=c.getModel(),L=[],T=b.getOptions(),M=c.getOption(19),z=c.getSelections().map((se,re)=>({selection:se,index:re,ignoreFirstLine:!1}));z.sort((se,re)=>O.e.compareRangesUsingStarts(se.selection,re.selection));let oe=z[0];for(let se=1;se<z.length;se++){const re=z[se];oe.selection.endLineNumber===re.selection.startLineNumber&&(oe.index<re.index?re.ignoreFirstLine=!0:(oe.ignoreFirstLine=!0,oe=re))}for(const se of z)L.push(new a(se.selection,T.tabSize,this._type,M.insertSpace,M.ignoreEmptyLines,se.ignoreFirstLine));c.pushUndoStop(),c.executeCommands(this.id,L),c.pushUndoStop()}}class C extends s{constructor(){super(0,{id:"editor.action.commentLine",label:g.N("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:P.u.writable,kbOpts:{kbExpr:P.u.editorTextFocus,primary:2133,weight:100},menuOpts:{menuId:w.eH.MenubarEditMenu,group:"5_insert",title:g.N({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class f extends s{constructor(){super(1,{id:"editor.action.addCommentLine",label:g.N("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:P.u.writable,kbOpts:{kbExpr:P.u.editorTextFocus,primary:(0,h.gx)(2089,2081),weight:100}})}}class v extends s{constructor(){super(2,{id:"editor.action.removeCommentLine",label:g.N("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:P.u.writable,kbOpts:{kbExpr:P.u.editorTextFocus,primary:(0,h.gx)(2089,2099),weight:100}})}}class r extends H.R6{constructor(){super({id:"editor.action.blockComment",label:g.N("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:P.u.writable,kbOpts:{kbExpr:P.u.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:w.eH.MenubarEditMenu,group:"5_insert",title:g.N({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(m,c){if(!c.hasModel())return;const b=c.getOption(19),L=[],T=c.getSelections();for(const M of T)L.push(new E(M,b.insertSpace));c.pushUndoStop(),c.executeCommands(this.id,L),c.pushUndoStop()}}(0,H.Qr)(C),(0,H.Qr)(f),(0,H.Qr)(v),(0,H.Qr)(r)},88297:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{ContextMenuController:function(){return C}});var h=i(69454),H=i(10081),O=i(75918),P=i(69323),D=i(23345),G=i(4514),I=i(68987),y=i(13268),E=i(96236),p=i(90689),a=i(4999),g=i(5898),w=function(v,r,l,m){var c=arguments.length,b=c<3?r:m===null?m=Object.getOwnPropertyDescriptor(r,l):m,L;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(v,r,l,m);else for(var T=v.length-1;T>=0;T--)(L=v[T])&&(b=(c<3?L(b):c>3?L(r,l,b):L(r,l))||b);return c>3&&b&&Object.defineProperty(r,l,b),b},s=function(v,r){return function(l,m){r(l,m,v)}};let C=class _l{constructor(r,l,m,c,b,L){this._contextMenuService=l,this._contextViewService=m,this._contextKeyService=c,this._keybindingService=b,this._menuService=L,this._toDispose=new P.SL,this._contextMenuIsBeingShownCount=0,this._editor=r,this._toDispose.add(this._editor.onContextMenu(T=>this._onContextMenu(T))),this._toDispose.add(this._editor.onMouseWheel(T=>{if(this._contextMenuIsBeingShownCount>0){const M=this._contextViewService.getContextViewElement(),z=T.srcElement;z.shadowRoot&&h.Ay(M)===z.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(T=>{T.keyCode===58&&(T.preventDefault(),T.stopPropagation(),this.showContextMenu())}))}static get(r){return r.getContribution(_l.ID)}_onContextMenu(r){if(!this._editor.hasModel())return;if(!this._editor.getOption(20)){this._editor.focus(),r.target.position&&!this._editor.getSelection().containsPosition(r.target.position)&&this._editor.setPosition(r.target.position);return}if(r.target.type===12||(r.event.preventDefault(),r.event.stopPropagation(),r.target.type!==6&&r.target.type!==7&&r.target.type!==1))return;if(this._editor.focus(),r.target.position){let m=!1;for(const c of this._editor.getSelections())if(c.containsPosition(r.target.position)){m=!0;break}m||this._editor.setPosition(r.target.position)}let l=null;r.target.type!==1&&(l={x:r.event.posx-1,width:2,y:r.event.posy-1,height:2}),this.showContextMenu(l)}showContextMenu(r){if(!this._editor.getOption(20)||!this._editor.hasModel())return;if(!this._contextMenuService){this._editor.focus();return}const l=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?E.eH.SimpleEditorContext:E.eH.EditorContext);l.length>0&&this._doShowContextMenu(l,r)}_getMenuActions(r,l){const m=[],c=this._menuService.createMenu(l,this._contextKeyService),b=c.getActions({arg:r.uri});c.dispose();for(let L of b){const[,T]=L;let M=0;for(const z of T)if(z instanceof E.NZ){const oe=this._getMenuActions(r,z.item.submenu);oe.length>0&&(m.push(new O.wY(z.id,z.label,oe)),M++)}else m.push(z),M++;M&&m.push(new O.Z0)}return m.length&&m.pop(),m}_doShowContextMenu(r,l=null){if(!this._editor.hasModel())return;const m=this._editor.getOption(52);if(this._editor.updateOptions({hover:{enabled:!1}}),!l){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const b=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),L=h.i(this._editor.getDomNode()),T=L.left+b.left,M=L.top+b.top+b.height;l={x:T,y:M}}const c=this._editor.getOption(113)&&!D.gn;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:c?this._editor.getDomNode():void 0,getAnchor:()=>l,getActions:()=>r,getActionViewItem:b=>{const L=this._keybindingFor(b);if(L)return new H.g(b,b,{label:!0,keybinding:L.getLabel(),isMenu:!0});const T=b;return typeof T.getActionViewItem=="function"?T.getActionViewItem():new H.g(b,b,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:b=>this._keybindingFor(b),onHide:b=>{this._contextMenuIsBeingShownCount--,this._editor.focus(),this._editor.updateOptions({hover:m})}})}_keybindingFor(r){return this._keybindingService.lookupKeybinding(r.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};C.ID="editor.contrib.contextmenu",C=w([s(1,a.i),s(2,a.u),s(3,p.i6),s(4,g.d),s(5,E.co)],C);class f extends G.R6{constructor(){super({id:"editor.action.showContextMenu",label:y.N("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:I.u.textInputFocus,primary:1092,weight:100}})}run(r,l){C.get(l).showContextMenu()}}(0,G._K)(C.ID,C),(0,G.Qr)(f)},35366:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{CursorRedo:function(){return E},CursorUndo:function(){return y},CursorUndoRedoController:function(){return I}});var h=i(69323),H=i(4514),O=i(68987),P=i(13268);class D{constructor(a){this.selections=a}equals(a){const g=this.selections.length,w=a.selections.length;if(g!==w)return!1;for(let s=0;s<g;s++)if(!this.selections[s].equalsSelection(a.selections[s]))return!1;return!0}}class G{constructor(a,g,w){this.cursorState=a,this.scrollTop=g,this.scrollLeft=w}}class I extends h.JT{constructor(a){super(),this._editor=a,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(a.onDidChangeModel(g=>{this._undoStack=[],this._redoStack=[]})),this._register(a.onDidChangeModelContent(g=>{this._undoStack=[],this._redoStack=[]})),this._register(a.onDidChangeCursorSelection(g=>{if(this._isCursorUndoRedo||!g.oldSelections||g.oldModelVersionId!==g.modelVersionId)return;const w=new D(g.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(w)||(this._undoStack.push(new G(w,a.getScrollTop(),a.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}static get(a){return a.getContribution(I.ID)}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new G(new D(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new G(new D(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(a){this._isCursorUndoRedo=!0,this._editor.setSelections(a.cursorState.selections),this._editor.setScrollPosition({scrollTop:a.scrollTop,scrollLeft:a.scrollLeft}),this._isCursorUndoRedo=!1}}I.ID="editor.contrib.cursorUndoRedoController";class y extends H.R6{constructor(){super({id:"cursorUndo",label:P.N("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:O.u.textInputFocus,primary:2099,weight:100}})}run(a,g,w){I.get(g).cursorUndo()}}class E extends H.R6{constructor(){super({id:"cursorRedo",label:P.N("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(a,g,w){I.get(g).cursorRedo()}}(0,H._K)(I.ID,I),(0,H.Qr)(y),(0,H.Qr)(E)},19451:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{DragAndDropController:function(){return p}});var h=i(69323),H=i(23345),O=i(4514),P=i(72146),D=i(17373),G=i(17551),I=i(31276);class y{constructor(g,w,s){this.selection=g,this.targetPosition=w,this.copy=s,this.targetSelection=null}getEditOperations(g,w){let s=g.getValueInRange(this.selection);if(this.copy||w.addEditOperation(this.selection,null),w.addEditOperation(new D.e(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),s),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new G.Y(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new G.Y(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber<this.selection.endLineNumber){this.targetSelection=new G.Y(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new G.Y(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column-this.selection.endColumn+this.selection.startColumn:this.targetPosition.column-this.selection.endColumn+this.selection.startColumn,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new G.Y(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn)}computeCursorState(g,w){return this.targetSelection}}function E(a){return H.dz?a.altKey:a.ctrlKey}class p extends h.JT{constructor(g){super(),this._editor=g,this._register(this._editor.onMouseDown(w=>this._onEditorMouseDown(w))),this._register(this._editor.onMouseUp(w=>this._onEditorMouseUp(w))),this._register(this._editor.onMouseDrag(w=>this._onEditorMouseDrag(w))),this._register(this._editor.onMouseDrop(w=>this._onEditorMouseDrop(w))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(w=>this.onEditorKeyDown(w))),this._register(this._editor.onKeyUp(w=>this.onEditorKeyUp(w))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._dndDecorationIds=[],this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(g){!this._editor.getOption(31)||this._editor.getOption(18)||(E(g)&&(this._modifierPressed=!0),this._mouseDown&&E(g)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(g){!this._editor.getOption(31)||this._editor.getOption(18)||(E(g)&&(this._modifierPressed=!1),this._mouseDown&&g.keyCode===p.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(g){this._mouseDown=!0}_onEditorMouseUp(g){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(g){let w=g.target;if(this._dragSelection===null){let C=(this._editor.getSelections()||[]).filter(f=>w.position&&f.containsPosition(w.position));if(C.length===1)this._dragSelection=C[0];else return}E(g.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),w.position&&(this._dragSelection.containsPosition(w.position)?this._removeDecoration():this.showAt(w.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(g){if(g.target&&(this._hitContent(g.target)||this._hitMargin(g.target))&&g.target.position){let w=new P.L(g.target.position.lineNumber,g.target.position.column);if(this._dragSelection===null){let s=null;if(g.event.shiftKey){let C=this._editor.getSelection();if(C){const{selectionStartLineNumber:f,selectionStartColumn:v}=C;s=[new G.Y(f,v,w.lineNumber,w.column)]}}else s=(this._editor.getSelections()||[]).map(C=>C.containsPosition(w)?new G.Y(w.lineNumber,w.column,w.lineNumber,w.column):C);this._editor.setSelections(s||[],"mouse",3)}else(!this._dragSelection.containsPosition(w)||(E(g.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(w)||this._dragSelection.getStartPosition().equals(w)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(p.ID,new y(this._dragSelection,w,E(g.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(g){let w=[{range:new D.e(g.lineNumber,g.column,g.lineNumber,g.column),options:p._DECORATION_OPTIONS}];this._dndDecorationIds=this._editor.deltaDecorations(this._dndDecorationIds,w),this._editor.revealPosition(g,1)}_removeDecoration(){this._dndDecorationIds=this._editor.deltaDecorations(this._dndDecorationIds,[])}_hitContent(g){return g.type===6||g.type===7}_hitMargin(g){return g.type===2||g.type===3||g.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}p.ID="editor.contrib.dragAndDrop",p.TRIGGER_KEY_VALUE=H.dz?6:5,p._DECORATION_OPTIONS=I.qx.register({description:"dnd-target",className:"dnd-target"}),(0,O._K)(p.ID,p)},16903:function(xt,Te,i){"use strict";i.d(Te,{C3:function(){return g}});var h=i(43506),H=i(96283),O=i(79881),P=i(88226),D=i(78421),G=i(17373),I=i(27347),y=i(73831);class E{remove(){this.parent&&this.parent.children.delete(this.id)}static findId(s,C){let f;typeof s=="string"?f=`${C.id}/${s}`:(f=`${C.id}/${s.name}`,C.children.get(f)!==void 0&&(f=`${C.id}/${s.name}_${s.range.startLineNumber}_${s.range.startColumn}`));let v=f;for(let r=0;C.children.get(v)!==void 0;r++)v=`${f}_${r}`;return v}static empty(s){return s.children.size===0}}class p extends E{constructor(s,C,f){super(),this.id=s,this.parent=C,this.symbol=f,this.children=new Map}}class a extends E{constructor(s,C,f,v){super(),this.id=s,this.parent=C,this.label=f,this.order=v,this.children=new Map}}class g extends E{constructor(s){super(),this.uri=s,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}static create(s,C){let f=this._keys.for(s,!0),v=g._requests.get(f);if(!v){let r=new H.A;v={promiseCnt:0,source:r,promise:g._create(s,r.token),model:void 0},g._requests.set(f,v);const l=Date.now();v.promise.then(()=>{this._requestDurations.update(s,Date.now()-l)})}return v.model?Promise.resolve(v.model):(v.promiseCnt+=1,C.onCancellationRequested(()=>{--v.promiseCnt===0&&(v.source.cancel(),g._requests.delete(f))}),new Promise((r,l)=>{v.promise.then(m=>{v.model=m,r(m)},m=>{g._requests.delete(f),l(m)})}))}static _create(s,C){const f=new H.A(C),v=new g(s.uri),r=I.vJ.ordered(s),l=r.map((c,b)=>{var L;let T=E.findId(`provider_${b}`,v),M=new a(T,v,(L=c.displayName)!==null&&L!==void 0?L:"Unknown Outline Provider",b);return Promise.resolve(c.provideDocumentSymbols(s,f.token)).then(z=>{for(const oe of z||[])g._makeOutlineElement(oe,M);return M},z=>((0,O.Cp)(z),M)).then(z=>{E.empty(z)?z.remove():v._groups.set(T,z)})}),m=I.vJ.onDidChange(()=>{const c=I.vJ.ordered(s);(0,h.fS)(c,r)||f.cancel()});return Promise.all(l).then(()=>f.token.isCancellationRequested&&!C.isCancellationRequested?g._create(s,C):v._compact()).finally(()=>{m.dispose()})}static _makeOutlineElement(s,C){let f=E.findId(s,C),v=new p(f,C,s);if(s.children)for(const r of s.children)g._makeOutlineElement(r,v);C.children.set(v.id,v)}_compact(){let s=0;for(const[C,f]of this._groups)f.children.size===0?this._groups.delete(C):s+=1;if(s!==1)this.children=this._groups;else{let C=P.$.first(this._groups.values());for(let[,f]of C.children)f.parent=this,this.children.set(f.id,f)}return this}getTopLevelSymbols(){const s=[];for(const C of this.children.values())C instanceof p?s.push(C.symbol):s.push(...P.$.map(C.children.values(),f=>f.symbol));return s.sort((C,f)=>G.e.compareRangesUsingStarts(C.range,f.range))}asListOfDocumentSymbols(){const s=this.getTopLevelSymbols(),C=[];return g._flattenDocumentSymbols(C,s,""),C.sort((f,v)=>G.e.compareRangesUsingStarts(f.range,v.range))}static _flattenDocumentSymbols(s,C,f){for(const v of C)s.push({kind:v.kind,tags:v.tags,name:v.name,detail:v.detail,containerName:v.containerName||f,range:v.range,selectionRange:v.selectionRange,children:void 0}),v.children&&g._flattenDocumentSymbols(s,v.children,v.name)}}g._requestDurations=new y.Y(I.vJ,350),g._requests=new D.z6(9,.75),g._keys=new class{constructor(){this._counter=1,this._data=new WeakMap}for(w,s){return`${w.id}/${s?w.getVersionId():""}/${this._hash(I.vJ.all(w))}`}_hash(w){let s="";for(const C of w){let f=this._data.get(C);typeof f=="undefined"&&(f=this._counter++,this._data.set(C,f)),s+=f}return s}}},52775:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{CommonFindController:function(){return ln},FindController:function(){return $n},MatchFindAction:function(){return pn},NextMatchFindAction:function(){return Yn},NextSelectionMatchFindAction:function(){return On},PreviousMatchFindAction:function(){return Vn},PreviousSelectionMatchFindAction:function(){return ts},SelectionMatchFindAction:function(){return An},StartFindAction:function(){return Gn},StartFindReplaceAction:function(){return Un},StartFindWithSelectionAction:function(){return ss},getSelectionSearchString:function(){return Jn}});var h=i(50431),H=i(69323),O=i(82983),P=i(4514),D=i(68987),G=i(43506),I=i(78529),y=i(72146),E=i(17373),p=i(17551),a=i(91070),g=i(51682),w=i(31276),s=i(44350),C=i(49055);class f{constructor(F){this._editor=F,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.deltaDecorations(this._allDecorations(),[]),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const F=this._findScopeDecorationIds.map(pe=>this._editor.getModel().getDecorationRange(pe)).filter(pe=>!!pe);if(F.length)return F}return null}getStartPosition(){return this._startPosition}setStartPosition(F){this._startPosition=F,this.setCurrentFindMatch(null)}_getDecorationIndex(F){const pe=this._decorations.indexOf(F);return pe>=0?pe+1:1}getCurrentMatchesPosition(F){let pe=this._editor.getModel().getDecorationsInRange(F);for(const Ne of pe){const je=Ne.options;if(je===f._FIND_MATCH_DECORATION||je===f._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(Ne.id)}return 0}setCurrentFindMatch(F){let pe=null,Ne=0;if(F)for(let je=0,Je=this._decorations.length;je<Je;je++){let St=this._editor.getModel().getDecorationRange(this._decorations[je]);if(F.equalsRange(St)){pe=this._decorations[je],Ne=je+1;break}}return(this._highlightedDecorationId!==null||pe!==null)&&this._editor.changeDecorations(je=>{if(this._highlightedDecorationId!==null&&(je.changeDecorationOptions(this._highlightedDecorationId,f._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),pe!==null&&(this._highlightedDecorationId=pe,je.changeDecorationOptions(this._highlightedDecorationId,f._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(je.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),pe!==null){let Je=this._editor.getModel().getDecorationRange(pe);if(Je.startLineNumber!==Je.endLineNumber&&Je.endColumn===1){let St=Je.endLineNumber-1,Rt=this._editor.getModel().getLineMaxColumn(St);Je=new E.e(Je.startLineNumber,Je.startColumn,St,Rt)}this._rangeHighlightDecorationId=je.addDecoration(Je,f._RANGE_HIGHLIGHT_DECORATION)}}),Ne}set(F,pe){this._editor.changeDecorations(Ne=>{let je=f._FIND_MATCH_DECORATION,Je=[];if(F.length>1e3){je=f._FIND_MATCH_NO_OVERVIEW_DECORATION;const Rt=this._editor.getModel().getLineCount(),fi=this._editor.getLayoutInfo().height/Rt,ii=Math.max(2,Math.ceil(3/fi));let Ct=F[0].range.startLineNumber,k=F[0].range.endLineNumber;for(let Ce=1,Be=F.length;Ce<Be;Ce++){const ot=F[Ce].range;k+ii>=ot.startLineNumber?ot.endLineNumber>k&&(k=ot.endLineNumber):(Je.push({range:new E.e(Ct,1,k,1),options:f._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),Ct=ot.startLineNumber,k=ot.endLineNumber)}Je.push({range:new E.e(Ct,1,k,1),options:f._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}let St=new Array(F.length);for(let Rt=0,ti=F.length;Rt<ti;Rt++)St[Rt]={range:F[Rt].range,options:je};this._decorations=Ne.deltaDecorations(this._decorations,St),this._overviewRulerApproximateDecorations=Ne.deltaDecorations(this._overviewRulerApproximateDecorations,Je),this._rangeHighlightDecorationId&&(Ne.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(Rt=>Ne.removeDecoration(Rt)),this._findScopeDecorationIds=[]),pe!=null&&pe.length&&(this._findScopeDecorationIds=pe.map(Rt=>Ne.addDecoration(Rt,f._FIND_SCOPE_DECORATION)))})}matchBeforePosition(F){if(this._decorations.length===0)return null;for(let pe=this._decorations.length-1;pe>=0;pe--){let Ne=this._decorations[pe],je=this._editor.getModel().getDecorationRange(Ne);if(!(!je||je.endLineNumber>F.lineNumber)){if(je.endLineNumber<F.lineNumber)return je;if(!(je.endColumn>F.column))return je}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(F){if(this._decorations.length===0)return null;for(let pe=0,Ne=this._decorations.length;pe<Ne;pe++){let je=this._decorations[pe],Je=this._editor.getModel().getDecorationRange(je);if(!(!Je||Je.startLineNumber<F.lineNumber)){if(Je.startLineNumber>F.lineNumber)return Je;if(!(Je.startColumn<F.column))return Je}}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let F=[];return F=F.concat(this._decorations),F=F.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length&&F.push(...this._findScopeDecorationIds),this._rangeHighlightDecorationId&&F.push(this._rangeHighlightDecorationId),F}}f._CURRENT_FIND_MATCH_DECORATION=w.qx.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",showIfCollapsed:!0,overviewRuler:{color:(0,C.EN)(s.Fm),position:g.sh.Center},minimap:{color:(0,C.EN)(s.KT),position:g.F5.Inline}}),f._FIND_MATCH_DECORATION=w.qx.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",showIfCollapsed:!0,overviewRuler:{color:(0,C.EN)(s.Fm),position:g.sh.Center},minimap:{color:(0,C.EN)(s.KT),position:g.F5.Inline}}),f._FIND_MATCH_NO_OVERVIEW_DECORATION=w.qx.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),f._FIND_MATCH_ONLY_OVERVIEW_DECORATION=w.qx.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:(0,C.EN)(s.Fm),position:g.sh.Center}}),f._RANGE_HIGHLIGHT_DECORATION=w.qx.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),f._FIND_SCOPE_DECORATION=w.qx.register({description:"find-scope",className:"findScope",isWholeLine:!0});class v{constructor(F,pe,Ne){this._editorSelection=F,this._ranges=pe,this._replaceStrings=Ne,this._trackedEditorSelectionId=null}getEditOperations(F,pe){if(this._ranges.length>0){let Ne=[];for(let St=0;St<this._ranges.length;St++)Ne.push({range:this._ranges[St],text:this._replaceStrings[St]});Ne.sort((St,Rt)=>E.e.compareRangesUsingStarts(St.range,Rt.range));let je=[],Je=Ne[0];for(let St=1;St<Ne.length;St++)Je.range.endLineNumber===Ne[St].range.startLineNumber&&Je.range.endColumn===Ne[St].range.startColumn?(Je.range=Je.range.plusRange(Ne[St].range),Je.text=Je.text+Ne[St].text):(je.push(Je),Je=Ne[St]);je.push(Je);for(const St of je)pe.addEditOperation(St.range,St.text)}this._trackedEditorSelectionId=pe.trackSelection(this._editorSelection)}computeCursorState(F,pe){return pe.getTrackedSelection(this._trackedEditorSelectionId)}}function r(Lt,F){if(Lt&&Lt[0]!==""){const pe=l(Lt,F,"-"),Ne=l(Lt,F,"_");return pe&&!Ne?m(Lt,F,"-"):!pe&&Ne?m(Lt,F,"_"):Lt[0].toUpperCase()===Lt[0]?F.toUpperCase():Lt[0].toLowerCase()===Lt[0]?F.toLowerCase():O.Kw(Lt[0][0])&&F.length>0?F[0].toUpperCase()+F.substr(1):Lt[0][0].toUpperCase()!==Lt[0][0]&&F.length>0?F[0].toLowerCase()+F.substr(1):F}else return F}function l(Lt,F,pe){return Lt[0].indexOf(pe)!==-1&&F.indexOf(pe)!==-1&&Lt[0].split(pe).length===F.split(pe).length}function m(Lt,F,pe){const Ne=F.split(pe),je=Lt[0].split(pe);let Je="";return Ne.forEach((St,Rt)=>{Je+=r([je[Rt]],St)+pe}),Je.slice(0,-1)}class c{constructor(F){this.staticValue=F,this.kind=0}}class b{constructor(F){this.pieces=F,this.kind=1}}class L{constructor(F){!F||F.length===0?this._state=new c(""):F.length===1&&F[0].staticValue!==null?this._state=new c(F[0].staticValue):this._state=new b(F)}static fromStaticValue(F){return new L([T.staticValue(F)])}get hasReplacementPatterns(){return this._state.kind===1}buildReplaceString(F,pe){if(this._state.kind===0)return pe?r(F,this._state.staticValue):this._state.staticValue;let Ne="";for(let je=0,Je=this._state.pieces.length;je<Je;je++){let St=this._state.pieces[je];if(St.staticValue!==null){Ne+=St.staticValue;continue}let Rt=L._substitute(St.matchIndex,F);if(St.caseOps!==null&&St.caseOps.length>0){let ti=[],fi=St.caseOps.length,ii=0;for(let Ct=0,k=Rt.length;Ct<k;Ct++){if(ii>=fi){ti.push(Rt.slice(Ct));break}switch(St.caseOps[ii]){case"U":ti.push(Rt[Ct].toUpperCase());break;case"u":ti.push(Rt[Ct].toUpperCase()),ii++;break;case"L":ti.push(Rt[Ct].toLowerCase());break;case"l":ti.push(Rt[Ct].toLowerCase()),ii++;break;default:ti.push(Rt[Ct])}}Rt=ti.join("")}Ne+=Rt}return Ne}static _substitute(F,pe){if(pe===null)return"";if(F===0)return pe[0];let Ne="";for(;F>0;){if(F<pe.length)return(pe[F]||"")+Ne;Ne=String(F%10)+Ne,F=Math.floor(F/10)}return"$"+Ne}}class T{constructor(F,pe,Ne){this.staticValue=F,this.matchIndex=pe,!Ne||Ne.length===0?this.caseOps=null:this.caseOps=Ne.slice(0)}static staticValue(F){return new T(F,-1,null)}static caseOps(F,pe){return new T(null,F,pe)}}class M{constructor(F){this._source=F,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=""}emitUnchanged(F){this._emitStatic(this._source.substring(this._lastCharIndex,F)),this._lastCharIndex=F}emitStatic(F,pe){this._emitStatic(F),this._lastCharIndex=pe}_emitStatic(F){F.length!==0&&(this._currentStaticPiece+=F)}emitMatchIndex(F,pe,Ne){this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=T.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=T.caseOps(F,Ne),this._lastCharIndex=pe}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=T.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new L(this._result)}}function z(Lt){if(!Lt||Lt.length===0)return new L(null);let F=[],pe=new M(Lt);for(let Ne=0,je=Lt.length;Ne<je;Ne++){let Je=Lt.charCodeAt(Ne);if(Je===92){if(Ne++,Ne>=je)break;let St=Lt.charCodeAt(Ne);switch(St){case 92:pe.emitUnchanged(Ne-1),pe.emitStatic("\\",Ne+1);break;case 110:pe.emitUnchanged(Ne-1),pe.emitStatic(`
`,Ne+1);break;case 116:pe.emitUnchanged(Ne-1),pe.emitStatic(" ",Ne+1);break;case 117:case 85:case 108:case 76:pe.emitUnchanged(Ne-1),pe.emitStatic("",Ne+1),F.push(String.fromCharCode(St));break}continue}if(Je===36){if(Ne++,Ne>=je)break;let St=Lt.charCodeAt(Ne);if(St===36){pe.emitUnchanged(Ne-1),pe.emitStatic("$",Ne+1);continue}if(St===48||St===38){pe.emitUnchanged(Ne-1),pe.emitMatchIndex(0,Ne+1,F),F.length=0;continue}if(49<=St&&St<=57){let Rt=St-48;if(Ne+1<je){let ti=Lt.charCodeAt(Ne+1);if(48<=ti&&ti<=57){Ne++,Rt=Rt*10+(ti-48),pe.emitUnchanged(Ne-2),pe.emitMatchIndex(Rt,Ne+1,F),F.length=0;continue}}pe.emitUnchanged(Ne-1),pe.emitMatchIndex(Rt,Ne+1,F),F.length=0;continue}}}return pe.finalize()}var oe=i(90689);const se=new oe.uy("findWidgetVisible",!1),re=new oe.uy("findInputFocussed",!1),De=new oe.uy("replaceInputFocussed",!1),J={primary:545,mac:{primary:2593}},Z={primary:565,mac:{primary:2613}},Q={primary:560,mac:{primary:2608}},le={primary:554,mac:{primary:2602}},xe={primary:558,mac:{primary:2606}},j={StartFindAction:"actions.find",StartFindWithSelection:"actions.findWithSelection",NextMatchFindAction:"editor.action.nextMatchFindAction",PreviousMatchFindAction:"editor.action.previousMatchFindAction",NextSelectionMatchFindAction:"editor.action.nextSelectionMatchFindAction",PreviousSelectionMatchFindAction:"editor.action.previousSelectionMatchFindAction",StartFindReplaceAction:"editor.action.startFindReplaceAction",CloseFindWidgetCommand:"closeFindWidget",ToggleCaseSensitiveCommand:"toggleFindCaseSensitive",ToggleWholeWordCommand:"toggleFindWholeWord",ToggleRegexCommand:"toggleFindRegex",ToggleSearchScopeCommand:"toggleFindInSelection",TogglePreserveCaseCommand:"togglePreserveCase",ReplaceOneAction:"editor.action.replaceOne",ReplaceAllAction:"editor.action.replaceAll",SelectAllMatchesAction:"editor.action.selectAllMatches"},R=19999,V=240;class K{constructor(F,pe){this._toDispose=new H.SL,this._editor=F,this._state=pe,this._isDisposed=!1,this._startSearchingTimer=new h._F,this._decorations=new f(F),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new h.pY(()=>this.research(!1),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(Ne=>{(Ne.reason===3||Ne.reason===5||Ne.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(Ne=>{this._ignoreModelContentChanged||(Ne.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(Ne=>this._onStateChanged(Ne))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,(0,H.B9)(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(F){this._isDisposed||this._editor.hasModel()&&(F.searchString||F.isReplaceRevealed||F.isRegex||F.wholeWord||F.matchCase||F.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{F.searchScope?this.research(F.moveCursor,this._state.searchScope):this.research(F.moveCursor)},V)):F.searchScope?this.research(F.moveCursor,this._state.searchScope):this.research(F.moveCursor))}static _getSearchRange(F,pe){return pe||F.getFullModelRange()}research(F,pe){let Ne=null;typeof pe!="undefined"?pe!==null&&(Array.isArray(pe)?Ne=pe:Ne=[pe]):Ne=this._decorations.getFindScopes(),Ne!==null&&(Ne=Ne.map(Rt=>{if(Rt.startLineNumber!==Rt.endLineNumber){let ti=Rt.endLineNumber;return Rt.endColumn===1&&(ti=ti-1),new E.e(Rt.startLineNumber,1,ti,this._editor.getModel().getLineMaxColumn(ti))}return Rt}));let je=this._findMatches(Ne,!1,R);this._decorations.set(je,Ne);const Je=this._editor.getSelection();let St=this._decorations.getCurrentMatchesPosition(Je);if(St===0&&je.length>0){const Rt=(0,G.lG)(je.map(ti=>ti.range),ti=>E.e.compareRangesUsingStarts(ti,Je)>=0);St=Rt>0?Rt-1+1:St}this._state.changeMatchInfo(St,this._decorations.getCount(),void 0),F&&this._editor.getOption(35).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){let F=this._decorations.getFindScope();return F&&this._editor.revealRangeInCenterIfOutsideViewport(F,0),!0}return!1}_setCurrentFindMatch(F){let pe=this._decorations.setCurrentFindMatch(F);this._state.changeMatchInfo(pe,this._decorations.getCount(),F),this._editor.setSelection(F),this._editor.revealRangeInCenterIfOutsideViewport(F,0)}_prevSearchPosition(F){let pe=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),{lineNumber:Ne,column:je}=F,Je=this._editor.getModel();return pe||je===1?(Ne===1?Ne=Je.getLineCount():Ne--,je=Je.getLineMaxColumn(Ne)):je--,new y.L(Ne,je)}_moveToPrevMatch(F,pe=!1){if(!this._state.canNavigateBack()){const ii=this._decorations.matchAfterPosition(F);ii&&this._setCurrentFindMatch(ii);return}if(this._decorations.getCount()<R){let ii=this._decorations.matchBeforePosition(F);ii&&ii.isEmpty()&&ii.getStartPosition().equals(F)&&(F=this._prevSearchPosition(F),ii=this._decorations.matchBeforePosition(F)),ii&&this._setCurrentFindMatch(ii);return}if(this._cannotFind())return;let Ne=this._decorations.getFindScope(),je=K._getSearchRange(this._editor.getModel(),Ne);je.getEndPosition().isBefore(F)&&(F=je.getEndPosition()),F.isBefore(je.getStartPosition())&&(F=je.getEndPosition());let{lineNumber:Je,column:St}=F,Rt=this._editor.getModel(),ti=new y.L(Je,St),fi=Rt.findPreviousMatch(this._state.searchString,ti,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(115):null,!1);if(fi&&fi.range.isEmpty()&&fi.range.getStartPosition().equals(ti)&&(ti=this._prevSearchPosition(ti),fi=Rt.findPreviousMatch(this._state.searchString,ti,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(115):null,!1)),!!fi){if(!pe&&!je.containsRange(fi.range))return this._moveToPrevMatch(fi.range.getStartPosition(),!0);this._setCurrentFindMatch(fi.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(F){let pe=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),{lineNumber:Ne,column:je}=F,Je=this._editor.getModel();return pe||je===Je.getLineMaxColumn(Ne)?(Ne===Je.getLineCount()?Ne=1:Ne++,je=1):je++,new y.L(Ne,je)}_moveToNextMatch(F){if(!this._state.canNavigateForward()){const Ne=this._decorations.matchBeforePosition(F);Ne&&this._setCurrentFindMatch(Ne);return}if(this._decorations.getCount()<R){let Ne=this._decorations.matchAfterPosition(F);Ne&&Ne.isEmpty()&&Ne.getStartPosition().equals(F)&&(F=this._nextSearchPosition(F),Ne=this._decorations.matchAfterPosition(F)),Ne&&this._setCurrentFindMatch(Ne);return}let pe=this._getNextMatch(F,!1,!0);pe&&this._setCurrentFindMatch(pe.range)}_getNextMatch(F,pe,Ne,je=!1){if(this._cannotFind())return null;let Je=this._decorations.getFindScope(),St=K._getSearchRange(this._editor.getModel(),Je);St.getEndPosition().isBefore(F)&&(F=St.getStartPosition()),F.isBefore(St.getStartPosition())&&(F=St.getStartPosition());let{lineNumber:Rt,column:ti}=F,fi=this._editor.getModel(),ii=new y.L(Rt,ti),Ct=fi.findNextMatch(this._state.searchString,ii,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(115):null,pe);return Ne&&Ct&&Ct.range.isEmpty()&&Ct.range.getStartPosition().equals(ii)&&(ii=this._nextSearchPosition(ii),Ct=fi.findNextMatch(this._state.searchString,ii,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(115):null,pe)),Ct?!je&&!St.containsRange(Ct.range)?this._getNextMatch(Ct.range.getEndPosition(),pe,Ne,!0):Ct:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_getReplacePattern(){return this._state.isRegex?z(this._state.replaceString):L.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;let F=this._getReplacePattern(),pe=this._editor.getSelection(),Ne=this._getNextMatch(pe.getStartPosition(),!0,!1);if(Ne)if(pe.equalsRange(Ne.range)){let je=F.buildReplaceString(Ne.matches,this._state.preserveCase),Je=new I.T4(pe,je);this._executeEditorCommand("replace",Je),this._decorations.setStartPosition(new y.L(pe.startLineNumber,pe.startColumn+je.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(Ne.range)}_findMatches(F,pe,Ne){const je=(F||[null]).map(Je=>K._getSearchRange(this._editor.getModel(),Je));return this._editor.getModel().findMatches(this._state.searchString,je,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(115):null,pe,Ne)}replaceAll(){if(!this._hasMatches())return;const F=this._decorations.getFindScopes();F===null&&this._state.matchesCount>=R?this._largeReplaceAll():this._regularReplaceAll(F),this.research(!1)}_largeReplaceAll(){const pe=new a.bc(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(115):null).parseSearchRequest();if(!pe)return;let Ne=pe.regex;if(!Ne.multiline){let Ct="mu";Ne.ignoreCase&&(Ct+="i"),Ne.global&&(Ct+="g"),Ne=new RegExp(Ne.source,Ct)}const je=this._editor.getModel(),Je=je.getValue(1),St=je.getFullModelRange(),Rt=this._getReplacePattern();let ti;const fi=this._state.preserveCase;Rt.hasReplacementPatterns||fi?ti=Je.replace(Ne,function(){return Rt.buildReplaceString(arguments,fi)}):ti=Je.replace(Ne,Rt.buildReplaceString(null,fi));let ii=new I.hP(St,ti,this._editor.getSelection());this._executeEditorCommand("replaceAll",ii)}_regularReplaceAll(F){const pe=this._getReplacePattern();let Ne=this._findMatches(F,pe.hasReplacementPatterns||this._state.preserveCase,1073741824),je=[];for(let St=0,Rt=Ne.length;St<Rt;St++)je[St]=pe.buildReplaceString(Ne[St].matches,this._state.preserveCase);let Je=new v(this._editor.getSelection(),Ne.map(St=>St.range),je);this._executeEditorCommand("replaceAll",Je)}selectAllMatches(){if(!this._hasMatches())return;let F=this._decorations.getFindScopes(),Ne=this._findMatches(F,!1,1073741824).map(Je=>new p.Y(Je.range.startLineNumber,Je.range.startColumn,Je.range.endLineNumber,Je.range.endColumn)),je=this._editor.getSelection();for(let Je=0,St=Ne.length;Je<St;Je++)if(Ne[Je].equalsRange(je)){Ne=[je].concat(Ne.slice(0,Je)).concat(Ne.slice(Je+1));break}this._editor.setSelections(Ne)}_executeEditorCommand(F,pe){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(F,pe),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}}var ie=i(69454),te=i(62758),ge=i(52615),ye=i(51737),ve=i(4348);const Fe={inputActiveOptionBorder:ye.Il.fromHex("#007ACC00"),inputActiveOptionForeground:ye.Il.fromHex("#FFFFFF"),inputActiveOptionBackground:ye.Il.fromHex("#0E639C50")};class we extends te.${constructor(F){super(),this._onChange=this._register(new ve.Q5),this.onChange=this._onChange.event,this._onKeyDown=this._register(new ve.Q5),this.onKeyDown=this._onKeyDown.event,this._opts=Object.assign(Object.assign({},Fe),F),this._checked=this._opts.isChecked;const pe=["monaco-custom-checkbox"];this._opts.icon&&pe.push(...ge.dT.asClassNameArray(this._opts.icon)),this._opts.actionClassName&&pe.push(...this._opts.actionClassName.split(" ")),this._checked&&pe.push("checked"),this.domNode=document.createElement("div"),this.domNode.title=this._opts.title,this.domNode.classList.add(...pe),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,Ne=>{this.checked=!this._checked,this._onChange.fire(!1),Ne.preventDefault()}),this.ignoreGesture(this.domNode),this.onkeydown(this.domNode,Ne=>{if(Ne.keyCode===10||Ne.keyCode===3){this.checked=!this._checked,this._onChange.fire(!0),Ne.preventDefault();return}this._onKeyDown.fire(Ne)})}get enabled(){return this.domNode.getAttribute("aria-disabled")!=="true"}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(F){this._checked=F,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 22}style(F){F.inputActiveOptionBorder&&(this._opts.inputActiveOptionBorder=F.inputActiveOptionBorder),F.inputActiveOptionForeground&&(this._opts.inputActiveOptionForeground=F.inputActiveOptionForeground),F.inputActiveOptionBackground&&(this._opts.inputActiveOptionBackground=F.inputActiveOptionBackground),this.applyStyles()}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder?this._opts.inputActiveOptionBorder.toString():"transparent",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground?this._opts.inputActiveOptionForeground.toString():"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground?this._opts.inputActiveOptionBackground.toString():"transparent")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}var ue=i(13268);const ce=ue.N("caseDescription","Match Case"),Ve=ue.N("wordsDescription","Match Whole Word"),We=ue.N("regexDescription","Use Regular Expression");class ae extends we{constructor(F){super({icon:ge.lA.caseSensitive,title:ce+F.appendTitle,isChecked:F.isChecked,inputActiveOptionBorder:F.inputActiveOptionBorder,inputActiveOptionForeground:F.inputActiveOptionForeground,inputActiveOptionBackground:F.inputActiveOptionBackground})}}class fe extends we{constructor(F){super({icon:ge.lA.wholeWord,title:Ve+F.appendTitle,isChecked:F.isChecked,inputActiveOptionBorder:F.inputActiveOptionBorder,inputActiveOptionForeground:F.inputActiveOptionForeground,inputActiveOptionBackground:F.inputActiveOptionBackground})}}class ne extends we{constructor(F){super({icon:ge.lA.regex,title:We+F.appendTitle,isChecked:F.isChecked,inputActiveOptionBorder:F.inputActiveOptionBorder,inputActiveOptionForeground:F.inputActiveOptionForeground,inputActiveOptionBackground:F.inputActiveOptionBackground})}}class W extends te.${constructor(F,pe,Ne,je){super(),this._hideSoon=this._register(new h.pY(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=F,this._state=pe,this._keybindingService=Ne,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const Je=je.getColorTheme().getColor(s.PR),St=je.getColorTheme().getColor(s.Pv),Rt=je.getColorTheme().getColor(s.XE);this.caseSensitive=this._register(new ae({appendTitle:this._keybindingLabelFor(j.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,inputActiveOptionBorder:Je,inputActiveOptionForeground:St,inputActiveOptionBackground:Rt})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new fe({appendTitle:this._keybindingLabelFor(j.ToggleWholeWordCommand),isChecked:this._state.wholeWord,inputActiveOptionBorder:Je,inputActiveOptionForeground:St,inputActiveOptionBackground:Rt})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new ne({appendTitle:this._keybindingLabelFor(j.ToggleRegexCommand),isChecked:this._state.isRegex,inputActiveOptionBorder:Je,inputActiveOptionForeground:St,inputActiveOptionBackground:Rt})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(ti=>{let fi=!1;ti.isRegex&&(this.regex.checked=this._state.isRegex,fi=!0),ti.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,fi=!0),ti.matchCase&&(this.caseSensitive.checked=this._state.matchCase,fi=!0),!this._state.isRevealed&&fi&&this._revealTemporarily()})),this._register(ie.j_(this._domNode,ti=>this._onMouseOut())),this._register(ie.nm(this._domNode,"mouseover",ti=>this._onMouseOver())),this._applyTheme(je.getColorTheme()),this._register(je.onDidColorThemeChange(this._applyTheme.bind(this)))}_keybindingLabelFor(F){let pe=this._keybindingService.lookupKeybinding(F);return pe?` (${pe.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return W.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseOut(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}_applyTheme(F){let pe={inputActiveOptionBorder:F.getColor(s.PR),inputActiveOptionForeground:F.getColor(s.Pv),inputActiveOptionBackground:F.getColor(s.XE)};this.caseSensitive.style(pe),this.wholeWords.style(pe),this.regex.style(pe)}}W.ID="editor.contrib.findOptionsWidget",(0,C.Ic)((Lt,F)=>{const pe=Lt.getColor(s.D0);pe&&F.addRule(`.monaco-editor .findOptionsWidget { background-color: ${pe}; }`);const Ne=Lt.getColor(s.Hf);Ne&&F.addRule(`.monaco-editor .findOptionsWidget { color: ${Ne}; }`);const je=Lt.getColor(s.rh);je&&F.addRule(`.monaco-editor .findOptionsWidget { box-shadow: 0 0 8px 2px ${je}; }`);const Je=Lt.getColor(s.lR);Je&&F.addRule(`.monaco-editor .findOptionsWidget { border: 2px solid ${Je}; }`)});function $(Lt,F){return Lt===1?!0:Lt===2?!1:F}class ee extends H.JT{constructor(){super(),this._onFindReplaceStateChange=this._register(new ve.Q5),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0}get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return $(this._isRegexOverride,this._isRegex)}get wholeWord(){return $(this._wholeWordOverride,this._wholeWord)}get matchCase(){return $(this._matchCaseOverride,this._matchCase)}get preserveCase(){return $(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}changeMatchInfo(F,pe,Ne){let je={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1},Je=!1;pe===0&&(F=0),F>pe&&(F=pe),this._matchesPosition!==F&&(this._matchesPosition=F,je.matchesPosition=!0,Je=!0),this._matchesCount!==pe&&(this._matchesCount=pe,je.matchesCount=!0,Je=!0),typeof Ne!="undefined"&&(E.e.equalsRange(this._currentMatch,Ne)||(this._currentMatch=Ne,je.currentMatch=!0,Je=!0)),Je&&this._onFindReplaceStateChange.fire(je)}change(F,pe,Ne=!0){var je;let Je={moveCursor:pe,updateHistory:Ne,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1},St=!1;const Rt=this.isRegex,ti=this.wholeWord,fi=this.matchCase,ii=this.preserveCase;typeof F.searchString!="undefined"&&this._searchString!==F.searchString&&(this._searchString=F.searchString,Je.searchString=!0,St=!0),typeof F.replaceString!="undefined"&&this._replaceString!==F.replaceString&&(this._replaceString=F.replaceString,Je.replaceString=!0,St=!0),typeof F.isRevealed!="undefined"&&this._isRevealed!==F.isRevealed&&(this._isRevealed=F.isRevealed,Je.isRevealed=!0,St=!0),typeof F.isReplaceRevealed!="undefined"&&this._isReplaceRevealed!==F.isReplaceRevealed&&(this._isReplaceRevealed=F.isReplaceRevealed,Je.isReplaceRevealed=!0,St=!0),typeof F.isRegex!="undefined"&&(this._isRegex=F.isRegex),typeof F.wholeWord!="undefined"&&(this._wholeWord=F.wholeWord),typeof F.matchCase!="undefined"&&(this._matchCase=F.matchCase),typeof F.preserveCase!="undefined"&&(this._preserveCase=F.preserveCase),typeof F.searchScope!="undefined"&&(!((je=F.searchScope)===null||je===void 0)&&je.every(Ct=>{var k;return(k=this._searchScope)===null||k===void 0?void 0:k.some(Ce=>!E.e.equalsRange(Ce,Ct))})||(this._searchScope=F.searchScope,Je.searchScope=!0,St=!0)),typeof F.loop!="undefined"&&this._loop!==F.loop&&(this._loop=F.loop,Je.loop=!0,St=!0),this._isRegexOverride=typeof F.isRegexOverride!="undefined"?F.isRegexOverride:0,this._wholeWordOverride=typeof F.wholeWordOverride!="undefined"?F.wholeWordOverride:0,this._matchCaseOverride=typeof F.matchCaseOverride!="undefined"?F.matchCaseOverride:0,this._preserveCaseOverride=typeof F.preserveCaseOverride!="undefined"?F.preserveCaseOverride:0,Rt!==this.isRegex&&(St=!0,Je.isRegex=!0),ti!==this.wholeWord&&(St=!0,Je.wholeWord=!0),fi!==this.matchCase&&(St=!0,Je.matchCase=!0),ii!==this.preserveCase&&(St=!0,Je.preserveCase=!0),St&&this._onFindReplaceStateChange.fire(Je)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=R}}var he=i(58941),Pe=i(39665),Ye=i(79881),it=i(23345),rt=i(50700);const vt=ue.N("defaultLabel","input");class Ft extends te.${constructor(F,pe,Ne,je){super(),this._showOptionButtons=Ne,this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this._onDidOptionChange=this._register(new ve.Q5),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new ve.Q5),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new ve.Q5),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new ve.Q5),this._onKeyUp=this._register(new ve.Q5),this._onCaseSensitiveKeyDown=this._register(new ve.Q5),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new ve.Q5),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.contextViewProvider=pe,this.placeholder=je.placeholder||"",this.validation=je.validation,this.label=je.label||vt,this.inputActiveOptionBorder=je.inputActiveOptionBorder,this.inputActiveOptionForeground=je.inputActiveOptionForeground,this.inputActiveOptionBackground=je.inputActiveOptionBackground,this.inputBackground=je.inputBackground,this.inputForeground=je.inputForeground,this.inputBorder=je.inputBorder,this.inputValidationInfoBorder=je.inputValidationInfoBorder,this.inputValidationInfoBackground=je.inputValidationInfoBackground,this.inputValidationInfoForeground=je.inputValidationInfoForeground,this.inputValidationWarningBorder=je.inputValidationWarningBorder,this.inputValidationWarningBackground=je.inputValidationWarningBackground,this.inputValidationWarningForeground=je.inputValidationWarningForeground,this.inputValidationErrorBorder=je.inputValidationErrorBorder,this.inputValidationErrorBackground=je.inputValidationErrorBackground,this.inputValidationErrorForeground=je.inputValidationErrorForeground;const Je=je.appendCaseSensitiveLabel||"",St=je.appendWholeWordsLabel||"",Rt=je.appendRegexLabel||"",ti=je.history||[],fi=!!je.flexibleHeight,ii=!!je.flexibleWidth,Ct=je.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new rt.p(this.domNode,this.contextViewProvider,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:ti,showHistoryHint:je.showHistoryHint,flexibleHeight:fi,flexibleWidth:ii,flexibleMaxHeight:Ct})),this.regex=this._register(new ne({appendTitle:Rt,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.regex.onChange(Be=>{this._onDidOptionChange.fire(Be),!Be&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.regex.onKeyDown(Be=>{this._onRegexKeyDown.fire(Be)})),this.wholeWords=this._register(new fe({appendTitle:St,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.wholeWords.onChange(Be=>{this._onDidOptionChange.fire(Be),!Be&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this.caseSensitive=this._register(new ae({appendTitle:Je,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.caseSensitive.onChange(Be=>{this._onDidOptionChange.fire(Be),!Be&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.caseSensitive.onKeyDown(Be=>{this._onCaseSensitiveKeyDown.fire(Be)})),this._showOptionButtons&&(this.inputBox.paddingRight=this.caseSensitive.width()+this.wholeWords.width()+this.regex.width());let k=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,Be=>{if(Be.equals(15)||Be.equals(17)||Be.equals(9)){let ot=k.indexOf(document.activeElement);if(ot>=0){let wt=-1;Be.equals(17)?wt=(ot+1)%k.length:Be.equals(15)&&(ot===0?wt=k.length-1:wt=ot-1),Be.equals(9)?(k[ot].blur(),this.inputBox.focus()):wt>=0&&k[wt].focus(),ie.zB.stop(Be,!0)}}});let Ce=document.createElement("div");Ce.className="controls",Ce.style.display=this._showOptionButtons?"block":"none",Ce.appendChild(this.caseSensitive.domNode),Ce.appendChild(this.wholeWords.domNode),Ce.appendChild(this.regex.domNode),this.domNode.appendChild(Ce),F&&F.appendChild(this.domNode),this._register(ie.nm(this.inputBox.inputElement,"compositionstart",Be=>{this.imeSessionInProgress=!0})),this._register(ie.nm(this.inputBox.inputElement,"compositionend",Be=>{this.imeSessionInProgress=!1,this._onInput.fire()})),this.onkeydown(this.inputBox.inputElement,Be=>this._onKeyDown.fire(Be)),this.onkeyup(this.inputBox.inputElement,Be=>this._onKeyUp.fire(Be)),this.oninput(this.inputBox.inputElement,Be=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,Be=>this._onMouseDown.fire(Be))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.regex.enable(),this.wholeWords.enable(),this.caseSensitive.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.regex.disable(),this.wholeWords.disable(),this.caseSensitive.disable()}setFocusInputOnOptionClick(F){this.fixFocusOnOptionClickEnabled=F}setEnabled(F){F?this.enable():this.disable()}getValue(){return this.inputBox.value}setValue(F){this.inputBox.value!==F&&(this.inputBox.value=F)}style(F){this.inputActiveOptionBorder=F.inputActiveOptionBorder,this.inputActiveOptionForeground=F.inputActiveOptionForeground,this.inputActiveOptionBackground=F.inputActiveOptionBackground,this.inputBackground=F.inputBackground,this.inputForeground=F.inputForeground,this.inputBorder=F.inputBorder,this.inputValidationInfoBackground=F.inputValidationInfoBackground,this.inputValidationInfoForeground=F.inputValidationInfoForeground,this.inputValidationInfoBorder=F.inputValidationInfoBorder,this.inputValidationWarningBackground=F.inputValidationWarningBackground,this.inputValidationWarningForeground=F.inputValidationWarningForeground,this.inputValidationWarningBorder=F.inputValidationWarningBorder,this.inputValidationErrorBackground=F.inputValidationErrorBackground,this.inputValidationErrorForeground=F.inputValidationErrorForeground,this.inputValidationErrorBorder=F.inputValidationErrorBorder,this.applyStyles()}applyStyles(){if(this.domNode){const F={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground};this.regex.style(F),this.wholeWords.style(F),this.caseSensitive.style(F);const pe={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(pe)}}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){return this.caseSensitive.checked}setCaseSensitive(F){this.caseSensitive.checked=F}getWholeWords(){return this.wholeWords.checked}setWholeWords(F){this.wholeWords.checked=F}getRegex(){return this.regex.checked}setRegex(F){this.regex.checked=F,this.validate()}focusOnCaseSensitive(){this.caseSensitive.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}clearMessage(){this.inputBox.hideMessage()}}const Ht=ue.N("defaultLabel","input"),ze=ue.N("label.preserveCaseCheckbox","Preserve Case");class Xe extends we{constructor(F){super({icon:ge.lA.preserveCase,title:ze+F.appendTitle,isChecked:F.isChecked,inputActiveOptionBorder:F.inputActiveOptionBorder,inputActiveOptionForeground:F.inputActiveOptionForeground,inputActiveOptionBackground:F.inputActiveOptionBackground})}}class Ze extends te.${constructor(F,pe,Ne,je){super(),this._showOptionButtons=Ne,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new ve.Q5),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new ve.Q5),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new ve.Q5),this._onInput=this._register(new ve.Q5),this._onKeyUp=this._register(new ve.Q5),this._onPreserveCaseKeyDown=this._register(new ve.Q5),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=pe,this.placeholder=je.placeholder||"",this.validation=je.validation,this.label=je.label||Ht,this.inputActiveOptionBorder=je.inputActiveOptionBorder,this.inputActiveOptionForeground=je.inputActiveOptionForeground,this.inputActiveOptionBackground=je.inputActiveOptionBackground,this.inputBackground=je.inputBackground,this.inputForeground=je.inputForeground,this.inputBorder=je.inputBorder,this.inputValidationInfoBorder=je.inputValidationInfoBorder,this.inputValidationInfoBackground=je.inputValidationInfoBackground,this.inputValidationInfoForeground=je.inputValidationInfoForeground,this.inputValidationWarningBorder=je.inputValidationWarningBorder,this.inputValidationWarningBackground=je.inputValidationWarningBackground,this.inputValidationWarningForeground=je.inputValidationWarningForeground,this.inputValidationErrorBorder=je.inputValidationErrorBorder,this.inputValidationErrorBackground=je.inputValidationErrorBackground,this.inputValidationErrorForeground=je.inputValidationErrorForeground;const Je=je.appendPreserveCaseLabel||"",St=je.history||[],Rt=!!je.flexibleHeight,ti=!!je.flexibleWidth,fi=je.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new rt.p(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:St,showHistoryHint:je.showHistoryHint,flexibleHeight:Rt,flexibleWidth:ti,flexibleMaxHeight:fi})),this.preserveCase=this._register(new Xe({appendTitle:Je,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.preserveCase.onChange(k=>{this._onDidOptionChange.fire(k),!k&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(k=>{this._onPreserveCaseKeyDown.fire(k)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;let ii=[this.preserveCase.domNode];this.onkeydown(this.domNode,k=>{if(k.equals(15)||k.equals(17)||k.equals(9)){let Ce=ii.indexOf(document.activeElement);if(Ce>=0){let Be=-1;k.equals(17)?Be=(Ce+1)%ii.length:k.equals(15)&&(Ce===0?Be=ii.length-1:Be=Ce-1),k.equals(9)?(ii[Ce].blur(),this.inputBox.focus()):Be>=0&&ii[Be].focus(),ie.zB.stop(k,!0)}}});let Ct=document.createElement("div");Ct.className="controls",Ct.style.display=this._showOptionButtons?"block":"none",Ct.appendChild(this.preserveCase.domNode),this.domNode.appendChild(Ct),F&&F.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,k=>this._onKeyDown.fire(k)),this.onkeyup(this.inputBox.inputElement,k=>this._onKeyUp.fire(k)),this.oninput(this.inputBox.inputElement,k=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,k=>this._onMouseDown.fire(k))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(F){F?this.enable():this.disable()}style(F){this.inputActiveOptionBorder=F.inputActiveOptionBorder,this.inputActiveOptionForeground=F.inputActiveOptionForeground,this.inputActiveOptionBackground=F.inputActiveOptionBackground,this.inputBackground=F.inputBackground,this.inputForeground=F.inputForeground,this.inputBorder=F.inputBorder,this.inputValidationInfoBackground=F.inputValidationInfoBackground,this.inputValidationInfoForeground=F.inputValidationInfoForeground,this.inputValidationInfoBorder=F.inputValidationInfoBorder,this.inputValidationWarningBackground=F.inputValidationWarningBackground,this.inputValidationWarningForeground=F.inputValidationWarningForeground,this.inputValidationWarningBorder=F.inputValidationWarningBorder,this.inputValidationErrorBackground=F.inputValidationErrorBackground,this.inputValidationErrorForeground=F.inputValidationErrorForeground,this.inputValidationErrorBorder=F.inputValidationErrorBorder,this.applyStyles()}applyStyles(){if(this.domNode){const F={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground};this.preserveCase.style(F);const pe={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(pe)}}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(F){this.preserveCase.checked=F}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox&&this.inputBox.validate()}set width(F){this.inputBox.paddingRight=this.cachedOptionsWidth,this.inputBox.width=F,this.domNode.style.width=F+"px"}dispose(){super.dispose()}}var Ae=i(86414),He=i(15817),Et=function(Lt,F,pe,Ne){var je=arguments.length,Je=je<3?F:Ne===null?Ne=Object.getOwnPropertyDescriptor(F,pe):Ne,St;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Je=Reflect.decorate(Lt,F,pe,Ne);else for(var Rt=Lt.length-1;Rt>=0;Rt--)(St=Lt[Rt])&&(Je=(je<3?St(Je):je>3?St(F,pe,Je):St(F,pe))||Je);return je>3&&Je&&Object.defineProperty(F,pe,Je),Je},Wt=function(Lt,F){return function(pe,Ne){F(pe,Ne,Lt)}};const oi="historyNavigationWidget",ni="historyNavigationForwardsEnabled",hi="historyNavigationBackwardsEnabled";function Di(Lt,F,pe){new oe.uy(pe,F).bindTo(Lt)}function Ti(Lt,F){return Lt.createScoped(F.target)}function Ni(Lt,F){return Lt.getContext(document.activeElement).getValue(F)}function ai(Lt,F){const pe=Ti(Lt,F);Di(pe,F,oi);const Ne=new oe.uy(ni,!0).bindTo(pe),je=new oe.uy(hi,!0).bindTo(pe);return{scopedContextKeyService:pe,historyNavigationForwardsEnablement:Ne,historyNavigationBackwardsEnablement:je}}let Pt=class extends Ft{constructor(F,pe,Ne,je,Je=!1){super(F,pe,Je,Ne),this._register(ai(je,{target:this.inputBox.element,historyNavigator:this.inputBox}).scopedContextKeyService)}};Pt=Et([Wt(3,oe.i6)],Pt);let Gt=class extends Ze{constructor(F,pe,Ne,je,Je=!1){super(F,pe,Je,Ne),this._register(ai(je,{target:this.inputBox.element,historyNavigator:this.inputBox}).scopedContextKeyService)}};Gt=Et([Wt(3,oe.i6)],Gt),Ae.W.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:oe.Ao.and(oe.Ao.has(oi),oe.Ao.equals(hi,!0),He._y.Visible.isEqualTo(!1)),primary:16,secondary:[528],handler:Lt=>{const F=Ni(Lt.get(oe.i6),oi);F&&F.historyNavigator.showPreviousValue()}}),Ae.W.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:oe.Ao.and(oe.Ao.has(oi),oe.Ao.equals(ni,!0),He._y.Visible.isEqualTo(!1)),primary:18,secondary:[530],handler:Lt=>{const F=Ni(Lt.get(oe.i6),oi);F&&F.historyNavigator.showNextValue()}});function st(Lt){var F,pe;return((F=Lt.lookupKeybinding("history.showPrevious"))===null||F===void 0?void 0:F.getElectronAccelerator())==="Up"&&((pe=Lt.lookupKeybinding("history.showNext"))===null||pe===void 0?void 0:pe.getElectronAccelerator())==="Down"}var gt=i(55773),ht=function(Lt,F,pe,Ne){function je(Je){return Je instanceof pe?Je:new pe(function(St){St(Je)})}return new(pe||(pe=Promise))(function(Je,St){function Rt(ii){try{fi(Ne.next(ii))}catch(Ct){St(Ct)}}function ti(ii){try{fi(Ne.throw(ii))}catch(Ct){St(Ct)}}function fi(ii){ii.done?Je(ii.value):je(ii.value).then(Rt,ti)}fi((Ne=Ne.apply(Lt,F||[])).next())})};const Qe=(0,gt.q5)("find-selection",ge.lA.selection,ue.N("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),$e=(0,gt.q5)("find-collapsed",ge.lA.chevronRight,ue.N("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),Ie=(0,gt.q5)("find-expanded",ge.lA.chevronDown,ue.N("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),Oe=(0,gt.q5)("find-replace",ge.lA.replace,ue.N("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),Ke=(0,gt.q5)("find-replace-all",ge.lA.replaceAll,ue.N("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),ct=(0,gt.q5)("find-previous-match",ge.lA.arrowUp,ue.N("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),Nt=(0,gt.q5)("find-next-match",ge.lA.arrowDown,ue.N("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),$t=ue.N("label.find","Find"),Xt=ue.N("placeholder.find","Find"),Ci=ue.N("label.previousMatchButton","Previous Match"),Zt=ue.N("label.nextMatchButton","Next Match"),mi=ue.N("label.toggleSelectionFind","Find in Selection"),mt=ue.N("label.closeButton","Close"),ut=ue.N("label.replace","Replace"),qe=ue.N("placeholder.replace","Replace"),de=ue.N("label.replaceButton","Replace"),Se=ue.N("label.replaceAllButton","Replace All"),Y=ue.N("label.toggleReplaceButton","Toggle Replace"),_e=ue.N("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",R),ke=ue.N("label.matchesLocation","{0} of {1}"),lt=ue.N("label.noResults","No results"),nt=419,Dt=275-54;let Vt=69;const Mt=33,Jt="ctrlEnterReplaceAll.windows.donotask",jt=it.dz?256:2048;class ui{constructor(F){this.afterLineNumber=F,this.heightInPx=Mt,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function vi(Lt,F,pe){const Ne=!!F.match(/\n/);if(pe&&Ne&&pe.selectionStart>0){Lt.stopPropagation();return}}function Si(Lt,F,pe){const Ne=!!F.match(/\n/);if(pe&&Ne&&pe.selectionEnd<pe.value.length){Lt.stopPropagation();return}}class Oi extends te.${constructor(F,pe,Ne,je,Je,St,Rt,ti,fi){super(),this._cachedHeight=null,this._revealTimeouts=[],this._codeEditor=F,this._controller=pe,this._state=Ne,this._contextViewProvider=je,this._keybindingService=Je,this._contextKeyService=St,this._storageService=ti,this._notificationService=fi,this._ctrlEnterReplaceAllWarningPrompted=!!ti.getBoolean(Jt,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new h.vp(500),this._register((0,H.OF)(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(ii=>this._onStateChanged(ii))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(ii=>{if(ii.hasChanged(80)&&(this._codeEditor.getOption(80)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),ii.hasChanged(129)&&this._tryUpdateWidgetWidth(),ii.hasChanged(2)&&this.updateAccessibilitySupport(),ii.hasChanged(35)){const Ct=this._codeEditor.getOption(35).addExtraSpaceOnTop;Ct&&!this._viewZone&&(this._viewZone=new ui(0),this._showViewZone()),!Ct&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(()=>ht(this,void 0,void 0,function*(){if(this._isVisible){let ii=yield this._controller.getGlobalBufferTerm();ii&&ii!==this._state.searchString&&(this._state.change({searchString:ii},!1),this._findInput.select())}}))),this._findInputFocused=re.bindTo(St),this._findFocusTracker=this._register(ie.go(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=De.bindTo(St),this._replaceFocusTracker=this._register(ie.go(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(35).addExtraSpaceOnTop&&(this._viewZone=new ui(0)),this._applyTheme(Rt.getColorTheme()),this._register(Rt.onDidColorThemeChange(this._applyTheme.bind(this))),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(ii=>{if(ii.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return Oi.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(F){if(F.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(F.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),F.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),F.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(80)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=ie.w(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(F.isRevealed||F.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),F.isRegex&&this._findInput.setRegex(this._state.isRegex),F.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),F.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),F.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),F.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),F.searchString||F.matchesCount||F.matchesPosition){let pe=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",pe),this._updateMatchesCount(),this._updateButtons()}(F.searchString||F.currentMatch)&&this._layoutViewZone(),F.updateHistory&&this._delayedUpdateHistory(),F.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,Ye.dL)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=Vt+"px",this._state.matchesCount>=R?this._matchesCount.title=_e:this._matchesCount.title="",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild);let F;if(this._state.matchesCount>0){let pe=String(this._state.matchesCount);this._state.matchesCount>=R&&(pe+="+");let Ne=String(this._state.matchesPosition);Ne==="0"&&(Ne="?"),F=O.WU(ke,Ne,pe)}else F=lt;this._matchesCount.appendChild(document.createTextNode(F)),(0,he.Z9)(this._getAriaLabel(F,this._state.currentMatch,this._state.searchString)),Vt=Math.max(Vt,this._matchesCount.clientWidth)}_getAriaLabel(F,pe,Ne){if(F===lt)return Ne===""?ue.N("ariaSearchNoResultEmpty","{0} found",F):ue.N("ariaSearchNoResult","{0} found for '{1}'",F,Ne);if(pe){const je=ue.N("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",F,Ne,pe.startLineNumber+":"+pe.startColumn),Je=this._codeEditor.getModel();return Je&&pe.startLineNumber<=Je.getLineCount()&&pe.startLineNumber>=1?`${Je.getLineContent(pe.startLineNumber)}, ${je}`:je}return ue.N("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",F,Ne)}_updateToggleSelectionFindButton(){let F=this._codeEditor.getSelection(),pe=F?F.startLineNumber!==F.endLineNumber||F.startColumn!==F.endColumn:!1,Ne=this._toggleSelectionFind.checked;this._isVisible&&(Ne||pe)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);let F=this._state.searchString.length>0,pe=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&F&&pe&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&F&&pe&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&F),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&F),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);let Ne=!this._codeEditor.getOption(80);this._toggleReplaceBtn.setEnabled(this._isVisible&&Ne)}_reveal(){if(this._revealTimeouts.forEach(F=>{clearTimeout(F)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const F=this._codeEditor.getSelection();switch(this._codeEditor.getOption(35).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":const Ne=!!F&&F.startLineNumber!==F.endLineNumber;this._toggleSelectionFind.checked=Ne;break;default:break}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let pe=!0;if(this._codeEditor.getOption(35).seedSearchStringFromSelection&&F){const Ne=this._codeEditor.getDomNode();if(Ne){const je=ie.i(Ne),Je=this._codeEditor.getScrolledVisiblePosition(F.getStartPosition()),St=je.left+(Je?Je.left:0),Rt=Je?Je.top:0;if(this._viewZone&&Rt<this._viewZone.heightInPx){F.endLineNumber>F.startLineNumber&&(pe=!1);const ti=ie.xQ(this._domNode).left;St>ti&&(pe=!1);const fi=this._codeEditor.getScrolledVisiblePosition(F.getEndPosition());je.left+(fi?fi.left:0)>ti&&(pe=!1)}}}this._showViewZone(pe)}}_hide(F){this._revealTimeouts.forEach(pe=>{clearTimeout(pe)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),F&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(F){if(!this._codeEditor.getOption(35).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const Ne=this._viewZone;this._viewZoneId!==void 0||!Ne||this._codeEditor.changeViewZones(je=>{Ne.heightInPx=this._getHeight(),this._viewZoneId=je.addZone(Ne),this._codeEditor.setScrollTop(F||this._codeEditor.getScrollTop()+Ne.heightInPx)})}_showViewZone(F=!0){if(!this._isVisible||!this._codeEditor.getOption(35).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new ui(0));const Ne=this._viewZone;this._codeEditor.changeViewZones(je=>{if(this._viewZoneId!==void 0){const Je=this._getHeight();if(Je===Ne.heightInPx)return;let St=Je-Ne.heightInPx;Ne.heightInPx=Je,je.layoutZone(this._viewZoneId),F&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+St);return}else{let Je=this._getHeight();if(Je-=this._codeEditor.getOption(74).top,Je<=0)return;Ne.heightInPx=Je,this._viewZoneId=je.addZone(Ne),F&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+Je)}})}_removeViewZone(){this._codeEditor.changeViewZones(F=>{this._viewZoneId!==void 0&&(F.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_applyTheme(F){let pe={inputActiveOptionBorder:F.getColor(s.PR),inputActiveOptionBackground:F.getColor(s.XE),inputActiveOptionForeground:F.getColor(s.Pv),inputBackground:F.getColor(s.sE),inputForeground:F.getColor(s.zJ),inputBorder:F.getColor(s.dt),inputValidationInfoBackground:F.getColor(s._l),inputValidationInfoForeground:F.getColor(s.YI),inputValidationInfoBorder:F.getColor(s.EP),inputValidationWarningBackground:F.getColor(s.RV),inputValidationWarningForeground:F.getColor(s.SU),inputValidationWarningBorder:F.getColor(s.C3),inputValidationErrorBackground:F.getColor(s.p),inputValidationErrorForeground:F.getColor(s._t),inputValidationErrorBorder:F.getColor(s.OZ)};this._findInput.style(pe),this._replaceInput.style(pe),this._toggleSelectionFind.style(pe)}_tryUpdateWidgetWidth(){if(!this._isVisible||!ie.Uw(this._domNode))return;const F=this._codeEditor.getLayoutInfo();if(F.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const Ne=F.width,je=F.minimap.minimapWidth;let Je=!1,St=!1,Rt=!1;if(this._resized&&ie.w(this._domNode)>nt){this._domNode.style.maxWidth=`${Ne-28-je-15}px`,this._replaceInput.width=ie.w(this._findInput.domNode);return}if(nt+28+je>=Ne&&(St=!0),nt+28+je-Vt>=Ne&&(Rt=!0),nt+28+je-Vt>=Ne+50&&(Je=!0),this._domNode.classList.toggle("collapsed-find-widget",Je),this._domNode.classList.toggle("narrow-find-widget",Rt),this._domNode.classList.toggle("reduced-find-widget",St),!Rt&&!Je&&(this._domNode.style.maxWidth=`${Ne-28-je-15}px`),this._resized){this._findInput.inputBox.layout();let ti=this._findInput.inputBox.element.clientWidth;ti>0&&(this._replaceInput.width=ti)}else this._isReplaceVisible&&(this._replaceInput.width=ie.w(this._findInput.domNode))}_getHeight(){let F=0;return F+=4,F+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(F+=4,F+=this._replaceInput.inputBox.height+2),F+=4,F}_tryUpdateHeight(){const F=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===F?!1:(this._cachedHeight=F,this._domNode.style.height=`${F}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){let F=this._codeEditor.getSelections();F.map(pe=>{pe.endColumn===1&&pe.endLineNumber>pe.startLineNumber&&(pe=pe.setEndPosition(pe.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(pe.endLineNumber-1)));const Ne=this._state.currentMatch;return pe.startLineNumber!==pe.endLineNumber&&!E.e.equalsRange(pe,Ne)?pe:null}).filter(pe=>!!pe),F.length&&this._state.change({searchScope:F},!0)}}_onFindInputMouseDown(F){F.middleButton&&F.stopPropagation()}_onFindInputKeyDown(F){if(F.equals(jt|3))if(this._keybindingService.dispatchEvent(F,F.target)){F.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(`
`),F.preventDefault();return}if(F.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),F.preventDefault();return}if(F.equals(2066)){this._codeEditor.focus(),F.preventDefault();return}if(F.equals(16))return vi(F,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(F.equals(18))return Si(F,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(F){if(F.equals(jt|3))if(this._keybindingService.dispatchEvent(F,F.target)){F.preventDefault();return}else{it.ED&&it.tY&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(ue.N("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(Jt,!0,0,0)),this._replaceInput.inputBox.insertAtCursor(`
`),F.preventDefault();return}if(F.equals(2)){this._findInput.focusOnCaseSensitive(),F.preventDefault();return}if(F.equals(1026)){this._findInput.focus(),F.preventDefault();return}if(F.equals(2066)){this._codeEditor.focus(),F.preventDefault();return}if(F.equals(16))return vi(F,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(F.equals(18))return Si(F,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(F){return 0}_keybindingLabelFor(F){let pe=this._keybindingService.lookupKeybinding(F);return pe?` (${pe.getLabel()})`:""}_buildDomNode(){this._findInput=this._register(new Pt(null,this._contextViewProvider,{width:Dt,label:$t,placeholder:Xt,appendCaseSensitiveLabel:this._keybindingLabelFor(j.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(j.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(j.ToggleRegexCommand),validation:ti=>{if(ti.length===0||!this._findInput.getRegex())return null;try{return new RegExp(ti,"gu"),null}catch(fi){return{content:fi.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>st(this._keybindingService)},this._contextKeyService,!0)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(ti=>this._onFindInputKeyDown(ti))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(ti=>{ti.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),ti.preventDefault())})),this._register(this._findInput.onRegexKeyDown(ti=>{ti.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),ti.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(ti=>{this._tryUpdateHeight()&&this._showViewZone()})),it.IJ&&this._register(this._findInput.onMouseDown(ti=>this._onFindInputMouseDown(ti))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new Ri({label:Ci+this._keybindingLabelFor(j.PreviousMatchFindAction),icon:ct,onTrigger:()=>{this._codeEditor.getAction(j.PreviousMatchFindAction).run().then(void 0,Ye.dL)}})),this._nextBtn=this._register(new Ri({label:Zt+this._keybindingLabelFor(j.NextMatchFindAction),icon:Nt,onTrigger:()=>{this._codeEditor.getAction(j.NextMatchFindAction).run().then(void 0,Ye.dL)}}));let Ne=document.createElement("div");Ne.className="find-part",Ne.appendChild(this._findInput.domNode);const je=document.createElement("div");je.className="find-actions",Ne.appendChild(je),je.appendChild(this._matchesCount),je.appendChild(this._prevBtn.domNode),je.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new we({icon:Qe,title:mi+this._keybindingLabelFor(j.ToggleSearchScopeCommand),isChecked:!1})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let ti=this._codeEditor.getSelections();ti.map(fi=>(fi.endColumn===1&&fi.endLineNumber>fi.startLineNumber&&(fi=fi.setEndPosition(fi.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(fi.endLineNumber-1))),fi.isEmpty()?null:fi)).filter(fi=>!!fi),ti.length&&this._state.change({searchScope:ti},!0)}}else this._state.change({searchScope:null},!0)})),je.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new Ri({label:mt+this._keybindingLabelFor(j.CloseFindWidgetCommand),icon:gt.s_,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:ti=>{ti.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),ti.preventDefault())}})),je.appendChild(this._closeBtn.domNode),this._replaceInput=this._register(new Gt(null,void 0,{label:ut,placeholder:qe,appendPreserveCaseLabel:this._keybindingLabelFor(j.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>st(this._keybindingService)},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(ti=>this._onReplaceInputKeyDown(ti))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(ti=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(ti=>{ti.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),ti.preventDefault())})),this._replaceBtn=this._register(new Ri({label:de+this._keybindingLabelFor(j.ReplaceOneAction),icon:Oe,onTrigger:()=>{this._controller.replace()},onKeyDown:ti=>{ti.equals(1026)&&(this._closeBtn.focus(),ti.preventDefault())}})),this._replaceAllBtn=this._register(new Ri({label:Se+this._keybindingLabelFor(j.ReplaceAllAction),icon:Ke,onTrigger:()=>{this._controller.replaceAll()}}));let Je=document.createElement("div");Je.className="replace-part",Je.appendChild(this._replaceInput.domNode);const St=document.createElement("div");St.className="replace-actions",Je.appendChild(St),St.appendChild(this._replaceBtn.domNode),St.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new Ri({label:Y,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=ie.w(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.style.width=`${nt}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(Ne),this._domNode.appendChild(Je),this._resizeSash=new Pe.g(this._domNode,this,{orientation:0,size:2}),this._resized=!1;let Rt=nt;this._register(this._resizeSash.onDidStart(()=>{Rt=ie.w(this._domNode)})),this._register(this._resizeSash.onDidChange(ti=>{this._resized=!0;let fi=Rt+ti.startX-ti.currentX;if(fi<nt)return;const ii=parseFloat(ie.Dx(this._domNode).maxWidth)||0;fi>ii||(this._domNode.style.width=`${fi}px`,this._isReplaceVisible&&(this._replaceInput.width=ie.w(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const ti=ie.w(this._domNode);if(ti<nt)return;let fi=nt;if(!this._resized||ti===nt){const ii=this._codeEditor.getLayoutInfo();fi=ii.width-28-ii.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${fi}px`,this._isReplaceVisible&&(this._replaceInput.width=ie.w(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const F=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(F!==2)}}Oi.ID="editor.contrib.findWidget";class Ri extends te.${constructor(F){super(),this._opts=F;let pe="button";this._opts.className&&(pe=pe+" "+this._opts.className),this._opts.icon&&(pe=pe+" "+C.kS.asClassName(this._opts.icon)),this._domNode=document.createElement("div"),this._domNode.title=this._opts.label,this._domNode.tabIndex=0,this._domNode.className=pe,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this.onclick(this._domNode,Ne=>{this._opts.onTrigger(),Ne.preventDefault()}),this.onkeydown(this._domNode,Ne=>{if(Ne.equals(10)||Ne.equals(3)){this._opts.onTrigger(),Ne.preventDefault();return}this._opts.onKeyDown&&this._opts.onKeyDown(Ne)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(F){this._domNode.classList.toggle("disabled",!F),this._domNode.setAttribute("aria-disabled",String(!F)),this._domNode.tabIndex=F?0:-1}setExpanded(F){this._domNode.setAttribute("aria-expanded",String(!!F)),F?(this._domNode.classList.remove(...C.kS.asClassNameArray($e)),this._domNode.classList.add(...C.kS.asClassNameArray(Ie))):(this._domNode.classList.remove(...C.kS.asClassNameArray(Ie)),this._domNode.classList.add(...C.kS.asClassNameArray($e)))}}(0,C.Ic)((Lt,F)=>{const pe=(Be,ot)=>{ot&&F.addRule(`.monaco-editor ${Be} { background-color: ${ot}; }`)};pe(".findMatch",Lt.getColor(s.MU)),pe(".currentFindMatch",Lt.getColor(s.ny)),pe(".findScope",Lt.getColor(s.jU));const Ne=Lt.getColor(s.D0);pe(".find-widget",Ne);const je=Lt.getColor(s.rh);je&&F.addRule(`.monaco-editor .find-widget { box-shadow: 0 0 8px 2px ${je}; }`);const Je=Lt.getColor(s.Ei);Je&&F.addRule(`.monaco-editor .findMatch { border: 1px ${Lt.type==="hc"?"dotted":"solid"} ${Je}; box-sizing: border-box; }`);const St=Lt.getColor(s.pn);St&&F.addRule(`.monaco-editor .currentFindMatch { border: 2px solid ${St}; padding: 1px; box-sizing: border-box; }`);const Rt=Lt.getColor(s.gk);Rt&&F.addRule(`.monaco-editor .findScope { border: 1px ${Lt.type==="hc"?"dashed":"solid"} ${Rt}; }`);const ti=Lt.getColor(s.lR);ti&&F.addRule(`.monaco-editor .find-widget { border: 1px solid ${ti}; }`);const fi=Lt.getColor(s.Hf);fi&&F.addRule(`.monaco-editor .find-widget { color: ${fi}; }`);const ii=Lt.getColor(s.Id);ii&&F.addRule(`.monaco-editor .find-widget.no-results .matchesCount { color: ${ii}; }`);const Ct=Lt.getColor(s.Ng);if(Ct)F.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${Ct}; }`);else{const Be=Lt.getColor(s.D1);Be&&F.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${Be}; }`)}const k=Lt.getColor(s.lU);k&&F.addRule(`
.monaco-editor .find-widget .button:not(.disabled):hover,
.monaco-editor .find-widget .codicon-find-selection:hover {
background-color: ${k} !important;
}
`);const Ce=Lt.getColor(s.R8);Ce&&F.addRule(`.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: ${Ce}; }`)});var zi=i(96236),hn=i(54622),bn=i(4999),qi=i(5898),Rn=i(79504),yn=i(19490),nn=function(Lt,F,pe,Ne){var je=arguments.length,Je=je<3?F:Ne===null?Ne=Object.getOwnPropertyDescriptor(F,pe):Ne,St;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Je=Reflect.decorate(Lt,F,pe,Ne);else for(var Rt=Lt.length-1;Rt>=0;Rt--)(St=Lt[Rt])&&(Je=(je<3?St(Je):je>3?St(F,pe,Je):St(F,pe))||Je);return je>3&&Je&&Object.defineProperty(F,pe,Je),Je},kn=function(Lt,F){return function(pe,Ne){F(pe,Ne,Lt)}},Dn=function(Lt,F,pe,Ne){function je(Je){return Je instanceof pe?Je:new pe(function(St){St(Je)})}return new(pe||(pe=Promise))(function(Je,St){function Rt(ii){try{fi(Ne.next(ii))}catch(Ct){St(Ct)}}function ti(ii){try{fi(Ne.throw(ii))}catch(Ct){St(Ct)}}function fi(ii){ii.done?Je(ii.value):je(ii.value).then(Rt,ti)}fi((Ne=Ne.apply(Lt,F||[])).next())})};const En=524288;function Jn(Lt,F="single",pe=!1){if(!Lt.hasModel())return null;const Ne=Lt.getSelection();if(F==="single"&&Ne.startLineNumber===Ne.endLineNumber||F==="multiple"){if(Ne.isEmpty()){const je=Lt.getConfiguredWordAtPosition(Ne.getStartPosition());if(je&&pe===!1)return je.word}else if(Lt.getModel().getValueLengthInRange(Ne)<En)return Lt.getModel().getValueInRange(Ne)}return null}let ln=class vl extends H.JT{constructor(F,pe,Ne,je){super(),this._editor=F,this._findWidgetVisible=se.bindTo(pe),this._contextKeyService=pe,this._storageService=Ne,this._clipboardService=je,this._updateHistoryDelayer=new h.vp(500),this._state=this._register(new ee),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(Je=>this._onStateChanged(Je))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{let Je=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),Je&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(35).loop})}))}get editor(){return this._editor}static get(F){return F.getContribution(vl.ID)}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(F){this.saveQueryState(F),F.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),F.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(F){F.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,0),F.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,0),F.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,0),F.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,0)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!re.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let F=this._editor.getSelections();F.map(pe=>(pe.endColumn===1&&pe.endLineNumber>pe.startLineNumber&&(pe=pe.setEndPosition(pe.endLineNumber-1,this._editor.getModel().getLineMaxColumn(pe.endLineNumber-1))),pe.isEmpty()?null:pe)).filter(pe=>!!pe),F.length&&this._state.change({searchScope:F},!0)}}setSearchString(F){this._state.isRegex&&(F=O.ec(F)),this._state.change({searchString:F},!1)}highlightFindOptions(F=!1){}_start(F){return Dn(this,void 0,void 0,function*(){if(this.disposeModel(),!this._editor.hasModel())return;let pe={isRevealed:!0};if(F.seedSearchStringFromSelection==="single"){let Ne=Jn(this._editor,F.seedSearchStringFromSelection,F.seedSearchStringFromNonEmptySelection);Ne&&(this._state.isRegex?pe.searchString=O.ec(Ne):pe.searchString=Ne)}else if(F.seedSearchStringFromSelection==="multiple"&&!F.updateSearchScope){let Ne=Jn(this._editor,F.seedSearchStringFromSelection);Ne&&(pe.searchString=Ne)}if(!pe.searchString&&F.seedSearchStringFromGlobalClipboard){let Ne=yield this.getGlobalBufferTerm();if(!this._editor.hasModel())return;Ne&&(pe.searchString=Ne)}if(F.forceRevealReplace?pe.isReplaceRevealed=!0:this._findWidgetVisible.get()||(pe.isReplaceRevealed=!1),F.updateSearchScope){let Ne=this._editor.getSelections();Ne.some(je=>!je.isEmpty())&&(pe.searchScope=Ne)}pe.loop=F.loop,this._state.change(pe,!1),this._model||(this._model=new K(this._editor,this._state))})}start(F){return this._start(F)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){return this._model?(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}getGlobalBufferTerm(){return Dn(this,void 0,void 0,function*(){return this._editor.getOption(35).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""})}setGlobalBufferTerm(F){this._editor.getOption(35).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(F)}};ln.ID="editor.contrib.findController",ln=nn([kn(1,oe.i6),kn(2,yn.Uy),kn(3,hn.p)],ln);let $n=class extends ln{constructor(F,pe,Ne,je,Je,St,Rt,ti){super(F,Ne,Rt,ti),this._contextViewService=pe,this._keybindingService=je,this._themeService=Je,this._notificationService=St,this._widget=null,this._findOptionsWidget=null}_start(F){const pe=Object.create(null,{_start:{get:()=>super._start}});return Dn(this,void 0,void 0,function*(){this._widget||this._createFindWidget();const Ne=this._editor.getSelection();let je=!1;switch(this._editor.getOption(35).autoFindInSelection){case"always":je=!0;break;case"never":je=!1;break;case"multiline":je=!!Ne&&Ne.startLineNumber!==Ne.endLineNumber;break;default:break}F.updateSearchScope=je,yield pe._start.call(this,F),this._widget&&(F.shouldFocus===2?this._widget.focusReplaceInput():F.shouldFocus===1&&this._widget.focusFindInput())})}highlightFindOptions(F=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!F?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new Oi(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new W(this._editor,this._state,this._keybindingService,this._themeService))}};$n=nn([kn(1,bn.u),kn(2,oe.i6),kn(3,qi.d),kn(4,C.XE),kn(5,Rn.lT),kn(6,yn.Uy),kn(7,hn.p)],$n);const Gn=(0,P.rn)(new P.jY({id:j.StartFindAction,label:ue.N("startFindAction","Find"),alias:"Find",precondition:oe.Ao.or(D.u.focus,oe.Ao.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:zi.eH.MenubarEditMenu,group:"3_find",title:ue.N({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));Gn.addImplementation(0,(Lt,F,pe)=>{const Ne=ln.get(F);return Ne?Ne.start({forceRevealReplace:!1,seedSearchStringFromSelection:F.getOption(35).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:F.getOption(35).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:F.getOption(35).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:F.getOption(35).loop}):!1});class ss extends P.R6{constructor(){super({id:j.StartFindWithSelection,label:ue.N("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}run(F,pe){return Dn(this,void 0,void 0,function*(){let Ne=ln.get(pe);Ne&&(yield Ne.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:pe.getOption(35).loop}),Ne.setGlobalBufferTerm(Ne.getState().searchString))})}}class pn extends P.R6{run(F,pe){return Dn(this,void 0,void 0,function*(){let Ne=ln.get(pe);Ne&&!this._run(Ne)&&(yield Ne.start({forceRevealReplace:!1,seedSearchStringFromSelection:Ne.getState().searchString.length===0&&pe.getOption(35).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:pe.getOption(35).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:pe.getOption(35).loop}),this._run(Ne))})}}class Yn extends pn{constructor(){super({id:j.NextMatchFindAction,label:ue.N("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:D.u.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:oe.Ao.and(D.u.focus,re),primary:3,weight:100}]})}_run(F){return F.moveToNextMatch()?(F.editor.pushUndoStop(),!0):!1}}class Vn extends pn{constructor(){super({id:j.PreviousMatchFindAction,label:ue.N("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:D.u.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:oe.Ao.and(D.u.focus,re),primary:1027,weight:100}]})}_run(F){return F.moveToPrevMatch()}}class An extends P.R6{run(F,pe){return Dn(this,void 0,void 0,function*(){let Ne=ln.get(pe);if(!Ne)return;const je=pe.getOption(35).seedSearchStringFromSelection==="selection";let Je=null;pe.getOption(35).seedSearchStringFromSelection!=="never"&&(Je=Jn(pe,"single",je)),Je&&Ne.setSearchString(Je),this._run(Ne)||(yield Ne.start({forceRevealReplace:!1,seedSearchStringFromSelection:pe.getOption(35).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:je,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:pe.getOption(35).loop}),this._run(Ne))})}}class On extends An{constructor(){super({id:j.NextSelectionMatchFindAction,label:ue.N("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:D.u.focus,primary:2109,weight:100}})}_run(F){return F.moveToNextMatch()}}class ts extends An{constructor(){super({id:j.PreviousSelectionMatchFindAction,label:ue.N("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:D.u.focus,primary:3133,weight:100}})}_run(F){return F.moveToPrevMatch()}}const Un=(0,P.rn)(new P.jY({id:j.StartFindReplaceAction,label:ue.N("startReplace","Replace"),alias:"Replace",precondition:oe.Ao.or(D.u.focus,oe.Ao.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:zi.eH.MenubarEditMenu,group:"3_find",title:ue.N({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));Un.addImplementation(0,(Lt,F,pe)=>{if(!F.hasModel()||F.getOption(80))return!1;const Ne=ln.get(F);if(!Ne)return!1;const je=F.getSelection(),Je=Ne.isFindInputFocused(),St=!je.isEmpty()&&je.startLineNumber===je.endLineNumber&&F.getOption(35).seedSearchStringFromSelection!=="never"&&!Je,Rt=Je||St?2:1;return Ne.start({forceRevealReplace:!0,seedSearchStringFromSelection:St?"single":"none",seedSearchStringFromNonEmptySelection:F.getOption(35).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:F.getOption(35).seedSearchStringFromSelection!=="never",shouldFocus:Rt,shouldAnimate:!0,updateSearchScope:!1,loop:F.getOption(35).loop})}),(0,P._K)(ln.ID,$n),(0,P.Qr)(ss),(0,P.Qr)(Yn),(0,P.Qr)(Vn),(0,P.Qr)(On),(0,P.Qr)(ts);const sn=P._l.bindToContribution(ln.get);(0,P.fK)(new sn({id:j.CloseFindWidgetCommand,precondition:se,handler:Lt=>Lt.closeFindWidget(),kbOpts:{weight:105,kbExpr:oe.Ao.and(D.u.focus,oe.Ao.not("isComposing")),primary:9,secondary:[1033]}})),(0,P.fK)(new sn({id:j.ToggleCaseSensitiveCommand,precondition:void 0,handler:Lt=>Lt.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:D.u.focus,primary:J.primary,mac:J.mac,win:J.win,linux:J.linux}})),(0,P.fK)(new sn({id:j.ToggleWholeWordCommand,precondition:void 0,handler:Lt=>Lt.toggleWholeWords(),kbOpts:{weight:105,kbExpr:D.u.focus,primary:Z.primary,mac:Z.mac,win:Z.win,linux:Z.linux}})),(0,P.fK)(new sn({id:j.ToggleRegexCommand,precondition:void 0,handler:Lt=>Lt.toggleRegex(),kbOpts:{weight:105,kbExpr:D.u.focus,primary:Q.primary,mac:Q.mac,win:Q.win,linux:Q.linux}})),(0,P.fK)(new sn({id:j.ToggleSearchScopeCommand,precondition:void 0,handler:Lt=>Lt.toggleSearchScope(),kbOpts:{weight:105,kbExpr:D.u.focus,primary:le.primary,mac:le.mac,win:le.win,linux:le.linux}})),(0,P.fK)(new sn({id:j.TogglePreserveCaseCommand,precondition:void 0,handler:Lt=>Lt.togglePreserveCase(),kbOpts:{weight:105,kbExpr:D.u.focus,primary:xe.primary,mac:xe.mac,win:xe.win,linux:xe.linux}})),(0,P.fK)(new sn({id:j.ReplaceOneAction,precondition:se,handler:Lt=>Lt.replace(),kbOpts:{weight:105,kbExpr:D.u.focus,primary:3094}})),(0,P.fK)(new sn({id:j.ReplaceOneAction,precondition:se,handler:Lt=>Lt.replace(),kbOpts:{weight:105,kbExpr:oe.Ao.and(D.u.focus,De),primary:3}})),(0,P.fK)(new sn({id:j.ReplaceAllAction,precondition:se,handler:Lt=>Lt.replaceAll(),kbOpts:{weight:105,kbExpr:D.u.focus,primary:2563}})),(0,P.fK)(new sn({id:j.ReplaceAllAction,precondition:se,handler:Lt=>Lt.replaceAll(),kbOpts:{weight:105,kbExpr:oe.Ao.and(D.u.focus,De),primary:void 0,mac:{primary:2051}}})),(0,P.fK)(new sn({id:j.SelectAllMatchesAction,precondition:se,handler:Lt=>Lt.selectAllMatches(),kbOpts:{weight:105,kbExpr:D.u.focus,primary:515}}))},78013:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{FoldingController:function(){return vt},editorFoldForeground:function(){return gt},foldBackgroundBackground:function(){return st}});var h=i(50431),H=i(79881),O=i(52411),P=i(69323),D=i(82983),G=i(72999),I=i(39528),y=i(4514),E=i(68987),p=i(27347),a=i(73468),g=i(4348);const w=65535,s=16777215,C=4278190080;class f{constructor(Qe,$e,Ie){if(Qe.length!==$e.length||Qe.length>w)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=Qe,this._endIndexes=$e,this._collapseStates=new Uint32Array(Math.ceil(Qe.length/32)),this._types=Ie,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;let Qe=[],$e=(Ie,Oe)=>{let Ke=Qe[Qe.length-1];return this.getStartLineNumber(Ke)<=Ie&&this.getEndLineNumber(Ke)>=Oe};for(let Ie=0,Oe=this._startIndexes.length;Ie<Oe;Ie++){let Ke=this._startIndexes[Ie],ct=this._endIndexes[Ie];if(Ke>s||ct>s)throw new Error("startLineNumber or endLineNumber must not exceed "+s);for(;Qe.length>0&&!$e(Ke,ct);)Qe.pop();let Nt=Qe.length>0?Qe[Qe.length-1]:-1;Qe.push(Ie),this._startIndexes[Ie]=Ke+((Nt&255)<<24),this._endIndexes[Ie]=ct+((Nt&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(Qe){return this._startIndexes[Qe]&s}getEndLineNumber(Qe){return this._endIndexes[Qe]&s}getType(Qe){return this._types?this._types[Qe]:void 0}hasTypes(){return!!this._types}isCollapsed(Qe){let $e=Qe/32|0,Ie=Qe%32;return(this._collapseStates[$e]&1<<Ie)!==0}setCollapsed(Qe,$e){let Ie=Qe/32|0,Oe=Qe%32,Ke=this._collapseStates[Ie];$e?this._collapseStates[Ie]=Ke|1<<Oe:this._collapseStates[Ie]=Ke&~(1<<Oe)}setCollapsedAllOfType(Qe,$e){let Ie=!1;if(this._types)for(let Oe=0;Oe<this._types.length;Oe++)this._types[Oe]===Qe&&(this.setCollapsed(Oe,$e),Ie=!0);return Ie}toRegion(Qe){return new v(this,Qe)}getParentIndex(Qe){this.ensureParentIndices();let $e=((this._startIndexes[Qe]&C)>>>24)+((this._endIndexes[Qe]&C)>>>16);return $e===w?-1:$e}contains(Qe,$e){return this.getStartLineNumber(Qe)<=$e&&this.getEndLineNumber(Qe)>=$e}findIndex(Qe){let $e=0,Ie=this._startIndexes.length;if(Ie===0)return-1;for(;$e<Ie;){let Oe=Math.floor(($e+Ie)/2);Qe<this.getStartLineNumber(Oe)?Ie=Oe:$e=Oe+1}return $e-1}findRange(Qe){let $e=this.findIndex(Qe);if($e>=0){if(this.getEndLineNumber($e)>=Qe)return $e;for($e=this.getParentIndex($e);$e!==-1;){if(this.contains($e,Qe))return $e;$e=this.getParentIndex($e)}}return-1}toString(){let Qe=[];for(let $e=0;$e<this.length;$e++)Qe[$e]=`[${this.isCollapsed($e)?"+":"-"}] ${this.getStartLineNumber($e)}/${this.getEndLineNumber($e)}`;return Qe.join(", ")}}class v{constructor(Qe,$e){this.ranges=Qe,this.index=$e}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(Qe){return Qe.startLineNumber<=this.startLineNumber&&Qe.endLineNumber>=this.endLineNumber}containsLine(Qe){return this.startLineNumber<=Qe&&Qe<=this.endLineNumber}}class r{constructor(Qe,$e){this._updateEventEmitter=new g.Q5,this.onDidChange=this._updateEventEmitter.event,this._textModel=Qe,this._decorationProvider=$e,this._regions=new f(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[],this._isInitialized=!1}get regions(){return this._regions}get textModel(){return this._textModel}get isInitialized(){return this._isInitialized}toggleCollapseState(Qe){if(!Qe.length)return;Qe=Qe.sort((Ie,Oe)=>Ie.regionIndex-Oe.regionIndex);const $e={};this._decorationProvider.changeDecorations(Ie=>{let Oe=0,Ke=-1,ct=-1;const Nt=$t=>{for(;Oe<$t;){const Xt=this._regions.getEndLineNumber(Oe),Ci=this._regions.isCollapsed(Oe);Xt<=Ke&&Ie.changeDecorationOptions(this._editorDecorationIds[Oe],this._decorationProvider.getDecorationOption(Ci,Xt<=ct)),Ci&&Xt>ct&&(ct=Xt),Oe++}};for(let $t of Qe){let Xt=$t.regionIndex,Ci=this._editorDecorationIds[Xt];if(Ci&&!$e[Ci]){$e[Ci]=!0,Nt(Xt);let Zt=!this._regions.isCollapsed(Xt);this._regions.setCollapsed(Xt,Zt),Ke=Math.max(Ke,this._regions.getEndLineNumber(Xt))}}Nt(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:Qe})}update(Qe,$e=[]){let Ie=[],Oe=(Zt,mi)=>{for(let mt of $e)if(Zt<mt&&mt<=mi)return!0;return!1},Ke=-1,ct=(Zt,mi)=>{const mt=Qe.getStartLineNumber(Zt),ut=Qe.getEndLineNumber(Zt);mi||(mi=Qe.isCollapsed(Zt)),mi&&Oe(mt,ut)&&(mi=!1),Qe.setCollapsed(Zt,mi);const qe=this._textModel.getLineMaxColumn(mt),de={startLineNumber:mt,startColumn:Math.max(qe-1,1),endLineNumber:mt,endColumn:qe};Ie.push({range:de,options:this._decorationProvider.getDecorationOption(mi,ut<=Ke)}),mi&&ut>Ke&&(Ke=ut)},Nt=0,$t=()=>{for(;Nt<this._regions.length;){let Zt=this._regions.isCollapsed(Nt);if(Nt++,Zt)return Nt-1}return-1},Xt=0,Ci=$t();for(;Ci!==-1&&Xt<Qe.length;){let Zt=this._textModel.getDecorationRange(this._editorDecorationIds[Ci]);if(Zt){let mi=Zt.startLineNumber;if(Zt.startColumn===Math.max(Zt.endColumn-1,1)&&this._textModel.getLineMaxColumn(mi)===Zt.endColumn)for(;Xt<Qe.length;){let mt=Qe.getStartLineNumber(Xt);if(mi>=mt)ct(Xt,mi===mt),Xt++;else break}}Ci=$t()}for(;Xt<Qe.length;)ct(Xt,!1),Xt++;this._editorDecorationIds=this._decorationProvider.deltaDecorations(this._editorDecorationIds,Ie),this._regions=Qe,this._isInitialized=!0,this._updateEventEmitter.fire({model:this})}getMemento(){let Qe=[];for(let $e=0;$e<this._regions.length;$e++)if(this._regions.isCollapsed($e)){let Ie=this._textModel.getDecorationRange(this._editorDecorationIds[$e]);if(Ie){let Oe=Ie.startLineNumber,Ke=Ie.endLineNumber+this._regions.getEndLineNumber($e)-this._regions.getStartLineNumber($e);Qe.push({startLineNumber:Oe,endLineNumber:Ke})}}if(Qe.length>0)return Qe}applyMemento(Qe){if(!Array.isArray(Qe))return;let $e=[];for(let Ie of Qe){let Oe=this.getRegionAtLine(Ie.startLineNumber);Oe&&!Oe.isCollapsed&&$e.push(Oe)}this.toggleCollapseState($e)}dispose(){this._decorationProvider.deltaDecorations(this._editorDecorationIds,[])}getAllRegionsAtLine(Qe,$e){let Ie=[];if(this._regions){let Oe=this._regions.findRange(Qe),Ke=1;for(;Oe>=0;){let ct=this._regions.toRegion(Oe);(!$e||$e(ct,Ke))&&Ie.push(ct),Ke++,Oe=ct.parentIndex}}return Ie}getRegionAtLine(Qe){if(this._regions){let $e=this._regions.findRange(Qe);if($e>=0)return this._regions.toRegion($e)}return null}getRegionsInside(Qe,$e){let Ie=[],Oe=Qe?Qe.regionIndex+1:0,Ke=Qe?Qe.endLineNumber:Number.MAX_VALUE;if($e&&$e.length===2){const ct=[];for(let Nt=Oe,$t=this._regions.length;Nt<$t;Nt++){let Xt=this._regions.toRegion(Nt);if(this._regions.getStartLineNumber(Nt)<Ke){for(;ct.length>0&&!Xt.containedBy(ct[ct.length-1]);)ct.pop();ct.push(Xt),$e(Xt,ct.length)&&Ie.push(Xt)}else break}}else for(let ct=Oe,Nt=this._regions.length;ct<Nt;ct++){let $t=this._regions.toRegion(ct);if(this._regions.getStartLineNumber(ct)<Ke)(!$e||$e($t))&&Ie.push($t);else break}return Ie}}function l(ht,Qe,$e){let Ie=[];for(let Oe of $e){let Ke=ht.getRegionAtLine(Oe);if(Ke){const ct=!Ke.isCollapsed;if(Ie.push(Ke),Qe>1){let Nt=ht.getRegionsInside(Ke,($t,Xt)=>$t.isCollapsed!==ct&&Xt<Qe);Ie.push(...Nt)}}}ht.toggleCollapseState(Ie)}function m(ht,Qe,$e=Number.MAX_VALUE,Ie){let Oe=[];if(Ie&&Ie.length>0)for(let Ke of Ie){let ct=ht.getRegionAtLine(Ke);if(ct&&(ct.isCollapsed!==Qe&&Oe.push(ct),$e>1)){let Nt=ht.getRegionsInside(ct,($t,Xt)=>$t.isCollapsed!==Qe&&Xt<$e);Oe.push(...Nt)}}else{let Ke=ht.getRegionsInside(null,(ct,Nt)=>ct.isCollapsed!==Qe&&Nt<$e);Oe.push(...Ke)}ht.toggleCollapseState(Oe)}function c(ht,Qe,$e,Ie){let Oe=[];for(let Ke of Ie){let ct=ht.getAllRegionsAtLine(Ke,(Nt,$t)=>Nt.isCollapsed!==Qe&&$t<=$e);Oe.push(...ct)}ht.toggleCollapseState(Oe)}function b(ht,Qe,$e){let Ie=[];for(let Oe of $e){let Ke=ht.getAllRegionsAtLine(Oe,ct=>ct.isCollapsed!==Qe);Ke.length>0&&Ie.push(Ke[0])}ht.toggleCollapseState(Ie)}function L(ht,Qe,$e,Ie){let Oe=(ct,Nt)=>Nt===Qe&&ct.isCollapsed!==$e&&!Ie.some($t=>ct.containsLine($t)),Ke=ht.getRegionsInside(null,Oe);ht.toggleCollapseState(Ke)}function T(ht,Qe,$e){let Ie=[];for(let ct of $e)Ie.push(ht.getAllRegionsAtLine(ct,void 0)[0]);let Oe=ct=>Ie.every(Nt=>!Nt.containedBy(ct)&&!ct.containedBy(Nt))&&ct.isCollapsed!==Qe,Ke=ht.getRegionsInside(null,Oe);ht.toggleCollapseState(Ke)}function M(ht,Qe,$e){let Ie=ht.textModel,Oe=ht.regions,Ke=[];for(let ct=Oe.length-1;ct>=0;ct--)if($e!==Oe.isCollapsed(ct)){let Nt=Oe.getStartLineNumber(ct);Qe.test(Ie.getLineContent(Nt))&&Ke.push(Oe.toRegion(ct))}ht.toggleCollapseState(Ke)}function z(ht,Qe,$e){let Ie=ht.regions,Oe=[];for(let Ke=Ie.length-1;Ke>=0;Ke--)$e!==Ie.isCollapsed(Ke)&&Qe===Ie.getType(Ke)&&Oe.push(Ie.toRegion(Ke));ht.toggleCollapseState(Oe)}function oe(ht,Qe){let $e=null,Ie=Qe.getRegionAtLine(ht);if(Ie!==null&&($e=Ie.startLineNumber,ht===$e)){let Oe=Ie.parentIndex;Oe!==-1?$e=Qe.regions.getStartLineNumber(Oe):$e=null}return $e}function se(ht,Qe){let $e=Qe.getRegionAtLine(ht);if($e!==null&&$e.startLineNumber===ht){if(ht!==$e.startLineNumber)return $e.startLineNumber;{let Ie=$e.parentIndex,Oe=0;for(Ie!==-1&&(Oe=Qe.regions.getStartLineNumber($e.parentIndex));$e!==null;)if($e.regionIndex>0){if($e=Qe.regions.toRegion($e.regionIndex-1),$e.startLineNumber<=Oe)return null;if($e.parentIndex===Ie)return $e.startLineNumber}else return null}}else if(Qe.regions.length>0)for($e=Qe.regions.toRegion(Qe.regions.length-1);$e!==null;){if($e.startLineNumber<ht)return $e.startLineNumber;$e.regionIndex>0?$e=Qe.regions.toRegion($e.regionIndex-1):$e=null}return null}function re(ht,Qe){let $e=Qe.getRegionAtLine(ht);if($e!==null&&$e.startLineNumber===ht){let Ie=$e.parentIndex,Oe=0;if(Ie!==-1)Oe=Qe.regions.getEndLineNumber($e.parentIndex);else{if(Qe.regions.length===0)return null;Oe=Qe.regions.getEndLineNumber(Qe.regions.length-1)}for(;$e!==null;)if($e.regionIndex<Qe.regions.length){if($e=Qe.regions.toRegion($e.regionIndex+1),$e.startLineNumber>=Oe)return null;if($e.parentIndex===Ie)return $e.startLineNumber}else return null}else if(Qe.regions.length>0)for($e=Qe.regions.toRegion(0);$e!==null;){if($e.startLineNumber>ht)return $e.startLineNumber;$e.regionIndex<Qe.regions.length?$e=Qe.regions.toRegion($e.regionIndex+1):$e=null}return null}var De=i(43506),J=i(17373);class Z{constructor(Qe){this._updateEventEmitter=new g.Q5,this._foldingModel=Qe,this._foldingModelListener=Qe.onDidChange($e=>this.updateHiddenRanges()),this._hiddenRanges=[],Qe.regions.length&&this.updateHiddenRanges()}get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}updateHiddenRanges(){let Qe=!1,$e=[],Ie=0,Oe=0,Ke=Number.MAX_VALUE,ct=-1,Nt=this._foldingModel.regions;for(;Ie<Nt.length;Ie++){if(!Nt.isCollapsed(Ie))continue;let $t=Nt.getStartLineNumber(Ie)+1,Xt=Nt.getEndLineNumber(Ie);Ke<=$t&&Xt<=ct||(!Qe&&Oe<this._hiddenRanges.length&&this._hiddenRanges[Oe].startLineNumber===$t&&this._hiddenRanges[Oe].endLineNumber===Xt?($e.push(this._hiddenRanges[Oe]),Oe++):(Qe=!0,$e.push(new J.e($t,1,Xt,1))),Ke=$t,ct=Xt)}(Qe||Oe<this._hiddenRanges.length)&&this.applyHiddenRanges($e)}applyMemento(Qe){if(!Array.isArray(Qe)||Qe.length===0)return!1;let $e=[];for(let Ie of Qe){if(!Ie.startLineNumber||!Ie.endLineNumber)return!1;$e.push(new J.e(Ie.startLineNumber+1,1,Ie.endLineNumber,1))}return this.applyHiddenRanges($e),!0}getMemento(){return this._hiddenRanges.map(Qe=>({startLineNumber:Qe.startLineNumber-1,endLineNumber:Qe.endLineNumber}))}applyHiddenRanges(Qe){this._hiddenRanges=Qe,this._updateEventEmitter.fire(Qe)}hasRanges(){return this._hiddenRanges.length>0}isHidden(Qe){return le(this._hiddenRanges,Qe)!==null}adjustSelections(Qe){let $e=!1,Ie=this._foldingModel.textModel,Oe=null,Ke=ct=>((!Oe||!Q(ct,Oe))&&(Oe=le(this._hiddenRanges,ct)),Oe?Oe.startLineNumber-1:null);for(let ct=0,Nt=Qe.length;ct<Nt;ct++){let $t=Qe[ct],Xt=Ke($t.startLineNumber);Xt&&($t=$t.setStartPosition(Xt,Ie.getLineMaxColumn(Xt)),$e=!0);let Ci=Ke($t.endLineNumber);Ci&&($t=$t.setEndPosition(Ci,Ie.getLineMaxColumn(Ci)),$e=!0),Qe[ct]=$t}return $e}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function Q(ht,Qe){return ht>=Qe.startLineNumber&&ht<=Qe.endLineNumber}function le(ht,Qe){let $e=(0,De.lG)(ht,Ie=>Qe<Ie.startLineNumber)-1;return $e>=0&&ht[$e].endLineNumber>=Qe?ht[$e]:null}var xe=i(31276);const j=5e3,R="indent";class V{constructor(Qe){this.editorModel=Qe,this.id=R}dispose(){}compute(Qe){let $e=a.zu.getFoldingRules(this.editorModel.getLanguageId()),Ie=$e&&!!$e.offSide,Oe=$e&&$e.markers;return Promise.resolve(ie(this.editorModel,Ie,Oe))}}class K{constructor(Qe){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=Qe}insertFirst(Qe,$e,Ie){if(Qe>s||$e>s)return;let Oe=this._length;this._startIndexes[Oe]=Qe,this._endIndexes[Oe]=$e,this._length++,Ie<1e3&&(this._indentOccurrences[Ie]=(this._indentOccurrences[Ie]||0)+1)}toIndentRanges(Qe){if(this._length<=this._foldingRangesLimit){let $e=new Uint32Array(this._length),Ie=new Uint32Array(this._length);for(let Oe=this._length-1,Ke=0;Oe>=0;Oe--,Ke++)$e[Ke]=this._startIndexes[Oe],Ie[Ke]=this._endIndexes[Oe];return new f($e,Ie)}else{let $e=0,Ie=this._indentOccurrences.length;for(let Nt=0;Nt<this._indentOccurrences.length;Nt++){let $t=this._indentOccurrences[Nt];if($t){if($t+$e>this._foldingRangesLimit){Ie=Nt;break}$e+=$t}}const Oe=Qe.getOptions().tabSize;let Ke=new Uint32Array(this._foldingRangesLimit),ct=new Uint32Array(this._foldingRangesLimit);for(let Nt=this._length-1,$t=0;Nt>=0;Nt--){let Xt=this._startIndexes[Nt],Ci=Qe.getLineContent(Xt),Zt=xe.yO.computeIndentLevel(Ci,Oe);(Zt<Ie||Zt===Ie&&$e++<this._foldingRangesLimit)&&(Ke[$t]=Xt,ct[$t]=this._endIndexes[Nt],$t++)}return new f(Ke,ct)}}}function ie(ht,Qe,$e,Ie=j){const Oe=ht.getOptions().tabSize;let Ke=new K(Ie),ct;$e&&(ct=new RegExp(`(${$e.start.source})|(?:${$e.end.source})`));let Nt=[],$t=ht.getLineCount()+1;Nt.push({indent:-1,endAbove:$t,line:$t});for(let Xt=ht.getLineCount();Xt>0;Xt--){let Ci=ht.getLineContent(Xt),Zt=xe.yO.computeIndentLevel(Ci,Oe),mi=Nt[Nt.length-1];if(Zt===-1){Qe&&(mi.endAbove=Xt);continue}let mt;if(ct&&(mt=Ci.match(ct)))if(mt[1]){let ut=Nt.length-1;for(;ut>0&&Nt[ut].indent!==-2;)ut--;if(ut>0){Nt.length=ut+1,mi=Nt[ut],Ke.insertFirst(Xt,mi.line,Zt),mi.line=Xt,mi.indent=Zt,mi.endAbove=Xt;continue}}else{Nt.push({indent:-2,endAbove:Xt,line:Xt});continue}if(mi.indent>Zt){do Nt.pop(),mi=Nt[Nt.length-1];while(mi.indent>Zt);let ut=mi.endAbove-1;ut-Xt>=1&&Ke.insertFirst(Xt,ut,Zt)}mi.indent===Zt?mi.endAbove=Xt:Nt.push({indent:Zt,endAbove:Xt,line:Xt})}return Ke.toIndentRanges(ht)}const te=5e3,ge={},ye="syntax";class ve{constructor(Qe,$e,Ie,Oe=te){this.editorModel=Qe,this.providers=$e,this.limit=Oe,this.id=ye;for(const Ke of $e)typeof Ke.onDidChange=="function"&&(this.disposables||(this.disposables=new P.SL),this.disposables.add(Ke.onDidChange(Ie)))}compute(Qe){return Fe(this.providers,this.editorModel,Qe).then($e=>$e?ue($e,this.limit):null)}dispose(){var Qe;(Qe=this.disposables)===null||Qe===void 0||Qe.dispose()}}function Fe(ht,Qe,$e){let Ie=null,Oe=ht.map((Ke,ct)=>Promise.resolve(Ke.provideFoldingRanges(Qe,ge,$e)).then(Nt=>{if(!$e.isCancellationRequested&&Array.isArray(Nt)){Array.isArray(Ie)||(Ie=[]);let $t=Qe.getLineCount();for(let Xt of Nt)Xt.start>0&&Xt.end>Xt.start&&Xt.end<=$t&&Ie.push({start:Xt.start,end:Xt.end,rank:ct,kind:Xt.kind})}},H.Cp));return Promise.all(Oe).then(Ke=>Ie)}class we{constructor(Qe){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=Qe}add(Qe,$e,Ie,Oe){if(Qe>s||$e>s)return;let Ke=this._length;this._startIndexes[Ke]=Qe,this._endIndexes[Ke]=$e,this._nestingLevels[Ke]=Oe,this._types[Ke]=Ie,this._length++,Oe<30&&(this._nestingLevelCounts[Oe]=(this._nestingLevelCounts[Oe]||0)+1)}toIndentRanges(){if(this._length<=this._foldingRangesLimit){let Qe=new Uint32Array(this._length),$e=new Uint32Array(this._length);for(let Ie=0;Ie<this._length;Ie++)Qe[Ie]=this._startIndexes[Ie],$e[Ie]=this._endIndexes[Ie];return new f(Qe,$e,this._types)}else{let Qe=0,$e=this._nestingLevelCounts.length;for(let ct=0;ct<this._nestingLevelCounts.length;ct++){let Nt=this._nestingLevelCounts[ct];if(Nt){if(Nt+Qe>this._foldingRangesLimit){$e=ct;break}Qe+=Nt}}let Ie=new Uint32Array(this._foldingRangesLimit),Oe=new Uint32Array(this._foldingRangesLimit),Ke=[];for(let ct=0,Nt=0;ct<this._length;ct++){let $t=this._nestingLevels[ct];($t<$e||$t===$e&&Qe++<this._foldingRangesLimit)&&(Ie[Nt]=this._startIndexes[ct],Oe[Nt]=this._endIndexes[ct],Ke[Nt]=this._types[ct],Nt++)}return new f(Ie,Oe,Ke)}}}function ue(ht,Qe){let $e=ht.sort((ct,Nt)=>{let $t=ct.start-Nt.start;return $t===0&&($t=ct.rank-Nt.rank),$t}),Ie=new we(Qe),Oe,Ke=[];for(let ct of $e)if(!Oe)Oe=ct,Ie.add(ct.start,ct.end,ct.kind&&ct.kind.value,Ke.length);else if(ct.start>Oe.start)if(ct.end<=Oe.end)Ke.push(Oe),Oe=ct,Ie.add(ct.start,ct.end,ct.kind&&ct.kind.value,Ke.length);else{if(ct.start>Oe.end){do Oe=Ke.pop();while(Oe&&ct.start>Oe.end);Oe&&Ke.push(Oe),Oe=ct}Ie.add(ct.start,ct.end,ct.kind&&ct.kind.value,Ke.length)}return Ie.toIndentRanges()}const ce="init";class Ve{constructor(Qe,$e,Ie,Oe){if(this.editorModel=Qe,this.id=ce,$e.length){let Ke=ct=>({range:{startLineNumber:ct.startLineNumber,startColumn:0,endLineNumber:ct.endLineNumber,endColumn:Qe.getLineLength(ct.endLineNumber)},options:{description:"folding-initializing-range-provider",stickiness:1}});this.decorationIds=Qe.deltaDecorations([],$e.map(Ke)),this.timeout=setTimeout(Ie,Oe)}}dispose(){this.decorationIds&&(this.editorModel.deltaDecorations(this.decorationIds,[]),this.decorationIds=void 0),typeof this.timeout=="number"&&(clearTimeout(this.timeout),this.timeout=void 0)}compute(Qe){let $e=[];if(this.decorationIds)for(let Ie of this.decorationIds){let Oe=this.editorModel.getDecorationRange(Ie);Oe&&$e.push({start:Oe.startLineNumber,end:Oe.endLineNumber,rank:1})}return Promise.resolve(ue($e,Number.MAX_VALUE))}}var We=i(13268),ae=i(90689),fe=i(44350),ne=i(49055),W=i(52615),$=i(55773);const ee=(0,$.q5)("folding-expanded",W.lA.chevronDown,(0,We.N)("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),he=(0,$.q5)("folding-collapsed",W.lA.chevronRight,(0,We.N)("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin."));class Pe{constructor(Qe){this.editor=Qe,this.autoHideFoldingControls=!0,this.showFoldingHighlights=!0}getDecorationOption(Qe,$e){return $e?Pe.HIDDEN_RANGE_DECORATION:Qe?this.showFoldingHighlights?Pe.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Pe.COLLAPSED_VISUAL_DECORATION:this.autoHideFoldingControls?Pe.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:Pe.EXPANDED_VISUAL_DECORATION}deltaDecorations(Qe,$e){return this.editor.deltaDecorations(Qe,$e)}changeDecorations(Qe){return this.editor.changeDecorations(Qe)}}Pe.COLLAPSED_VISUAL_DECORATION=xe.qx.register({description:"folding-collapsed-visual-decoration",stickiness:1,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:ne.kS.asClassName(he)}),Pe.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=xe.qx.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:1,afterContentClassName:"inline-folded",className:"folded-background",isWholeLine:!0,firstLineDecorationClassName:ne.kS.asClassName(he)}),Pe.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=xe.qx.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:ne.kS.asClassName(ee)}),Pe.EXPANDED_VISUAL_DECORATION=xe.qx.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ne.kS.asClassName(ee)}),Pe.HIDDEN_RANGE_DECORATION=xe.qx.register({description:"folding-hidden-range-decoration",stickiness:1});var Ye=function(ht,Qe,$e,Ie){var Oe=arguments.length,Ke=Oe<3?Qe:Ie===null?Ie=Object.getOwnPropertyDescriptor(Qe,$e):Ie,ct;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ke=Reflect.decorate(ht,Qe,$e,Ie);else for(var Nt=ht.length-1;Nt>=0;Nt--)(ct=ht[Nt])&&(Ke=(Oe<3?ct(Ke):Oe>3?ct(Qe,$e,Ke):ct(Qe,$e))||Ke);return Oe>3&&Ke&&Object.defineProperty(Qe,$e,Ke),Ke},it=function(ht,Qe){return function($e,Ie){Qe($e,Ie,ht)}};const rt=new ae.uy("foldingEnabled",!1);let vt=class Cl extends P.JT{constructor(Qe,$e){super(),this.contextKeyService=$e,this.localToDispose=this._register(new P.SL),this.editor=Qe;const Ie=this.editor.getOptions();this._isEnabled=Ie.get(37),this._useFoldingProviders=Ie.get(38)!=="indentation",this._unfoldOnClickAfterEndOfLine=Ie.get(41),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=Ie.get(40),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingStateMemento=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new Pe(Qe),this.foldingDecorationProvider.autoHideFoldingControls=Ie.get(98)==="mouseover",this.foldingDecorationProvider.showFoldingHighlights=Ie.get(39),this.foldingEnabled=rt.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(Oe=>{if(Oe.hasChanged(37)&&(this._isEnabled=this.editor.getOptions().get(37),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),Oe.hasChanged(98)||Oe.hasChanged(39)){const Ke=this.editor.getOptions();this.foldingDecorationProvider.autoHideFoldingControls=Ke.get(98)==="mouseover",this.foldingDecorationProvider.showFoldingHighlights=Ke.get(39),this.onModelContentChanged()}Oe.hasChanged(38)&&(this._useFoldingProviders=this.editor.getOptions().get(38)!=="indentation",this.onFoldingStrategyChanged()),Oe.hasChanged(41)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(41)),Oe.hasChanged(40)&&(this._foldingImportsByDefault=this.editor.getOptions().get(40))})),this.onModelChanged()}static get(Qe){return Qe.getContribution(Cl.ID)}saveViewState(){let Qe=this.editor.getModel();if(!Qe||!this._isEnabled||Qe.isTooLargeForTokenization())return{};if(this.foldingModel){let $e=this.foldingModel.isInitialized?this.foldingModel.getMemento():this.hiddenRangeModel.getMemento(),Ie=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:$e,lineCount:Qe.getLineCount(),provider:Ie,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(Qe){let $e=this.editor.getModel();if(!$e||!this._isEnabled||$e.isTooLargeForTokenization()||!this.hiddenRangeModel||!Qe||Qe.lineCount!==$e.getLineCount()||(this._currentModelHasFoldedImports=!!Qe.foldedImports,!Qe.collapsedRegions))return;(Qe.provider===ye||Qe.provider===ce)&&(this.foldingStateMemento=Qe);const Ie=Qe.collapsedRegions;if(this.hiddenRangeModel.applyMemento(Ie)){const Oe=this.getFoldingModel();Oe&&Oe.then(Ke=>{if(Ke){this._restoringViewState=!0;try{Ke.applyMemento(Ie)}finally{this._restoringViewState=!1}}}).then(void 0,H.dL)}}onModelChanged(){this.localToDispose.clear();let Qe=this.editor.getModel();!this._isEnabled||!Qe||Qe.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new r(Qe,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new Z(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange($e=>this.onHiddenRangesChanges($e))),this.updateScheduler=new h.vp(200),this.cursorChangedScheduler=new h.pY(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(p.aC.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(()=>this.onModelContentChanged())),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown($e=>this.onEditorMouseDown($e))),this.localToDispose.add(this.editor.onMouseUp($e=>this.onEditorMouseUp($e))),this.localToDispose.add({dispose:()=>{this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.updateScheduler&&this.updateScheduler.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,this.foldingStateMemento=null,this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null}}),this.onModelContentChanged())}onFoldingStrategyChanged(){this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null,this.onModelContentChanged()}getRangeProvider(Qe){if(this.rangeProvider)return this.rangeProvider;if(this.rangeProvider=new V(Qe),this._useFoldingProviders&&this.foldingModel){let $e=p.aC.ordered(this.foldingModel.textModel);if($e.length===0&&this.foldingStateMemento&&this.foldingStateMemento.collapsedRegions)return this.rangeProvider=new Ve(Qe,this.foldingStateMemento.collapsedRegions,()=>{this.foldingStateMemento=null,this.onFoldingStrategyChanged()},3e4);$e.length>0&&(this.rangeProvider=new ve(Qe,$e,()=>this.onModelContentChanged()))}return this.foldingStateMemento=null,this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onModelContentChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const Qe=this.foldingModel;if(!Qe)return null;const $e=this.getRangeProvider(Qe.textModel);let Ie=this.foldingRegionPromise=(0,h.PG)(Oe=>$e.compute(Oe));return Ie.then(Oe=>{if(Oe&&Ie===this.foldingRegionPromise){let Ke;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const $t=Oe.setCollapsedAllOfType(p.AD.Imports.value,!0);$t&&(Ke=I.ZF.capture(this.editor),this._currentModelHasFoldedImports=$t)}let ct=this.editor.getSelections(),Nt=ct?ct.map($t=>$t.startLineNumber):[];Qe.update(Oe,Nt),Ke&&Ke.restore(this.editor)}return Qe})}).then(void 0,Qe=>((0,H.dL)(Qe),null)))}onHiddenRangesChanges(Qe){if(this.hiddenRangeModel&&Qe.length&&!this._restoringViewState){let $e=this.editor.getSelections();$e&&this.hiddenRangeModel.adjustSelections($e)&&this.editor.setSelections($e)}this.editor.setHiddenAreas(Qe)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const Qe=this.getFoldingModel();Qe&&Qe.then($e=>{if($e){let Ie=this.editor.getSelections();if(Ie&&Ie.length>0){let Oe=[];for(let Ke of Ie){let ct=Ke.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(ct)&&Oe.push(...$e.getAllRegionsAtLine(ct,Nt=>Nt.isCollapsed&&ct>Nt.startLineNumber))}Oe.length&&($e.toggleCollapseState(Oe),this.reveal(Ie[0].getPosition()))}}}).then(void 0,H.dL)}onEditorMouseDown(Qe){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!Qe.target||!Qe.target.range||!Qe.event.leftButton&&!Qe.event.middleButton)return;const $e=Qe.target.range;let Ie=!1;switch(Qe.target.type){case 4:const Oe=Qe.target.detail,Ke=Qe.target.element.offsetLeft;if(Oe.offsetX-Ke<5)return;Ie=!0;break;case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!Qe.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){let Nt=this.editor.getModel();if(Nt&&$e.startColumn===Nt.getLineMaxColumn($e.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:$e.startLineNumber,iconClicked:Ie}}onEditorMouseUp(Qe){const $e=this.getFoldingModel();if(!$e||!this.mouseDownInfo||!Qe.target)return;let Ie=this.mouseDownInfo.lineNumber,Oe=this.mouseDownInfo.iconClicked,Ke=Qe.target.range;if(!(!Ke||Ke.startLineNumber!==Ie)){if(Oe){if(Qe.target.type!==4)return}else{let ct=this.editor.getModel();if(!ct||Ke.startColumn!==ct.getLineMaxColumn(Ie))return}$e.then(ct=>{if(ct){let Nt=ct.getRegionAtLine(Ie);if(Nt&&Nt.startLineNumber===Ie){let $t=Nt.isCollapsed;if(Oe||$t){let Xt=Qe.event.altKey,Ci=[];if(Xt){let Zt=mt=>!mt.containedBy(Nt)&&!Nt.containedBy(mt),mi=ct.getRegionsInside(null,Zt);for(const mt of mi)mt.isCollapsed&&Ci.push(mt);Ci.length===0&&(Ci=mi)}else{let Zt=Qe.event.middleButton||Qe.event.shiftKey;if(Zt)for(const mi of ct.getRegionsInside(Nt))mi.isCollapsed===$t&&Ci.push(mi);($t||!Zt||Ci.length===0)&&Ci.push(Nt)}ct.toggleCollapseState(Ci),this.reveal({lineNumber:Ie,column:1})}}}}).then(void 0,H.dL)}}reveal(Qe){this.editor.revealPositionInCenterIfOutsideViewport(Qe,0)}};vt.ID="editor.contrib.folding",vt=Ye([it(1,ae.i6)],vt);class Ft extends y.R6{runEditorCommand(Qe,$e,Ie){let Oe=vt.get($e);if(!Oe)return;let Ke=Oe.getFoldingModel();if(Ke)return this.reportTelemetry(Qe,$e),Ke.then(ct=>{if(ct){this.invoke(Oe,ct,$e,Ie);const Nt=$e.getSelection();Nt&&Oe.reveal(Nt.getStartPosition())}})}getSelectedLines(Qe){let $e=Qe.getSelections();return $e?$e.map(Ie=>Ie.startLineNumber):[]}getLineNumbers(Qe,$e){return Qe&&Qe.selectionLines?Qe.selectionLines.map(Ie=>Ie+1):this.getSelectedLines($e)}run(Qe,$e){}}function Ht(ht){if(!G.o8(ht)){if(!G.Kn(ht))return!1;const Qe=ht;if(!G.o8(Qe.levels)&&!G.hj(Qe.levels)||!G.o8(Qe.direction)&&!G.HD(Qe.direction)||!G.o8(Qe.selectionLines)&&(!G.kJ(Qe.selectionLines)||!Qe.selectionLines.every(G.hj)))return!1}return!0}class ze extends Ft{constructor(){super({id:"editor.unfold",label:We.N("unfoldAction.label","Unfold"),alias:"Unfold",precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,primary:3161,mac:{primary:2649},weight:100},description:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument:
* 'levels': Number of levels to unfold. If not set, defaults to 1.
* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
* 'selectionLines': The start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.
`,constraint:Ht,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(Qe,$e,Ie,Oe){let Ke=Oe&&Oe.levels||1,ct=this.getLineNumbers(Oe,Ie);Oe&&Oe.direction==="up"?c($e,!1,Ke,ct):m($e,!1,Ke,ct)}}class Xe extends Ft{constructor(){super({id:"editor.unfoldRecursively",label:We.N("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,primary:(0,O.gx)(2089,2137),weight:100}})}invoke(Qe,$e,Ie,Oe){m($e,!1,Number.MAX_VALUE,this.getSelectedLines(Ie))}}class Ze extends Ft{constructor(){super({id:"editor.fold",label:We.N("foldAction.label","Fold"),alias:"Fold",precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,primary:3159,mac:{primary:2647},weight:100},description:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:`Property-value pairs that can be passed through this argument:
* 'levels': Number of levels to fold.
* 'direction': If 'up', folds given number of levels up otherwise folds down.
* 'selectionLines': The start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.
If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
`,constraint:Ht,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(Qe,$e,Ie,Oe){let Ke=this.getLineNumbers(Oe,Ie);const ct=Oe&&Oe.levels,Nt=Oe&&Oe.direction;typeof ct!="number"&&typeof Nt!="string"?b($e,!0,Ke):Nt==="up"?c($e,!0,ct||1,Ke):m($e,!0,ct||1,Ke)}}class Ae extends Ft{constructor(){super({id:"editor.toggleFold",label:We.N("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,primary:(0,O.gx)(2089,2090),weight:100}})}invoke(Qe,$e,Ie){let Oe=this.getSelectedLines(Ie);l($e,1,Oe)}}class He extends Ft{constructor(){super({id:"editor.foldRecursively",label:We.N("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,primary:(0,O.gx)(2089,2135),weight:100}})}invoke(Qe,$e,Ie){let Oe=this.getSelectedLines(Ie);m($e,!0,Number.MAX_VALUE,Oe)}}class Et extends Ft{constructor(){super({id:"editor.foldAllBlockComments",label:We.N("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,primary:(0,O.gx)(2089,2133),weight:100}})}invoke(Qe,$e,Ie){if($e.regions.hasTypes())z($e,p.AD.Comment.value,!0);else{const Oe=Ie.getModel();if(!Oe)return;const Ke=a.zu.getComments(Oe.getLanguageId());if(Ke&&Ke.blockCommentStartToken){let ct=new RegExp("^\\s*"+(0,D.ec)(Ke.blockCommentStartToken));M($e,ct,!0)}}}}class Wt extends Ft{constructor(){super({id:"editor.foldAllMarkerRegions",label:We.N("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,primary:(0,O.gx)(2089,2077),weight:100}})}invoke(Qe,$e,Ie){if($e.regions.hasTypes())z($e,p.AD.Region.value,!0);else{const Oe=Ie.getModel();if(!Oe)return;const Ke=a.zu.getFoldingRules(Oe.getLanguageId());if(Ke&&Ke.markers&&Ke.markers.start){let ct=new RegExp(Ke.markers.start);M($e,ct,!0)}}}}class oi extends Ft{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:We.N("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,primary:(0,O.gx)(2089,2078),weight:100}})}invoke(Qe,$e,Ie){if($e.regions.hasTypes())z($e,p.AD.Region.value,!1);else{const Oe=Ie.getModel();if(!Oe)return;const Ke=a.zu.getFoldingRules(Oe.getLanguageId());if(Ke&&Ke.markers&&Ke.markers.start){let ct=new RegExp(Ke.markers.start);M($e,ct,!1)}}}}class ni extends Ft{constructor(){super({id:"editor.foldAllExcept",label:We.N("foldAllExcept.label","Fold All Regions Except Selected"),alias:"Fold All Regions Except Selected",precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,primary:(0,O.gx)(2089,2131),weight:100}})}invoke(Qe,$e,Ie){let Oe=this.getSelectedLines(Ie);T($e,!0,Oe)}}class hi extends Ft{constructor(){super({id:"editor.unfoldAllExcept",label:We.N("unfoldAllExcept.label","Unfold All Regions Except Selected"),alias:"Unfold All Regions Except Selected",precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,primary:(0,O.gx)(2089,2129),weight:100}})}invoke(Qe,$e,Ie){let Oe=this.getSelectedLines(Ie);T($e,!1,Oe)}}class Di extends Ft{constructor(){super({id:"editor.foldAll",label:We.N("foldAllAction.label","Fold All"),alias:"Fold All",precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,primary:(0,O.gx)(2089,2069),weight:100}})}invoke(Qe,$e,Ie){m($e,!0)}}class Ti extends Ft{constructor(){super({id:"editor.unfoldAll",label:We.N("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,primary:(0,O.gx)(2089,2088),weight:100}})}invoke(Qe,$e,Ie){m($e,!1)}}class Ni extends Ft{getFoldingLevel(){return parseInt(this.id.substr(Ni.ID_PREFIX.length))}invoke(Qe,$e,Ie){L($e,this.getFoldingLevel(),!0,this.getSelectedLines(Ie))}}Ni.ID_PREFIX="editor.foldLevel",Ni.ID=ht=>Ni.ID_PREFIX+ht;class ai extends Ft{constructor(){super({id:"editor.gotoParentFold",label:We.N("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,weight:100}})}invoke(Qe,$e,Ie){let Oe=this.getSelectedLines(Ie);if(Oe.length>0){let Ke=oe(Oe[0],$e);Ke!==null&&Ie.setSelection({startLineNumber:Ke,startColumn:1,endLineNumber:Ke,endColumn:1})}}}class Pt extends Ft{constructor(){super({id:"editor.gotoPreviousFold",label:We.N("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,weight:100}})}invoke(Qe,$e,Ie){let Oe=this.getSelectedLines(Ie);if(Oe.length>0){let Ke=se(Oe[0],$e);Ke!==null&&Ie.setSelection({startLineNumber:Ke,startColumn:1,endLineNumber:Ke,endColumn:1})}}}class Gt extends Ft{constructor(){super({id:"editor.gotoNextFold",label:We.N("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,weight:100}})}invoke(Qe,$e,Ie){let Oe=this.getSelectedLines(Ie);if(Oe.length>0){let Ke=re(Oe[0],$e);Ke!==null&&Ie.setSelection({startLineNumber:Ke,startColumn:1,endLineNumber:Ke,endColumn:1})}}}(0,y._K)(vt.ID,vt),(0,y.Qr)(ze),(0,y.Qr)(Xe),(0,y.Qr)(Ze),(0,y.Qr)(He),(0,y.Qr)(Di),(0,y.Qr)(Ti),(0,y.Qr)(Et),(0,y.Qr)(Wt),(0,y.Qr)(oi),(0,y.Qr)(ni),(0,y.Qr)(hi),(0,y.Qr)(Ae),(0,y.Qr)(ai),(0,y.Qr)(Pt),(0,y.Qr)(Gt);for(let ht=1;ht<=7;ht++)(0,y.QG)(new Ni({id:Ni.ID(ht),label:We.N("foldLevelAction.label","Fold Level {0}",ht),alias:`Fold Level ${ht}`,precondition:rt,kbOpts:{kbExpr:E.u.editorTextFocus,primary:(0,O.gx)(2089,2048|21+ht),weight:100}}));const st=(0,fe.P6)("editor.foldBackground",{light:(0,fe.Zn)(fe.hE,.3),dark:(0,fe.Zn)(fe.hE,.3),hc:null},We.N("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0),gt=(0,fe.P6)("editorGutter.foldingControlForeground",{dark:fe.XZ,light:fe.XZ,hc:fe.XZ},We.N("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));(0,ne.Ic)((ht,Qe)=>{const $e=ht.getColor(st);$e&&Qe.addRule(`.monaco-editor .folded-background { background-color: ${$e}; }`);const Ie=ht.getColor(gt);Ie&&Qe.addRule(`
.monaco-editor .cldr${ne.kS.asCSSSelector(ee)},
.monaco-editor .cldr${ne.kS.asCSSSelector(he)} {
color: ${Ie} !important;
}
`)})},34064:function(xt,Te,i){"use strict";i.r(Te);var h=i(4514),H=i(80724),O=i(13268);class P extends h.R6{constructor(){super({id:"editor.action.fontZoomIn",label:O.N("EditorFontZoomIn.label","Editor Font Zoom In"),alias:"Editor Font Zoom In",precondition:void 0})}run(y,E){H.C.setZoomLevel(H.C.getZoomLevel()+1)}}class D extends h.R6{constructor(){super({id:"editor.action.fontZoomOut",label:O.N("EditorFontZoomOut.label","Editor Font Zoom Out"),alias:"Editor Font Zoom Out",precondition:void 0})}run(y,E){H.C.setZoomLevel(H.C.getZoomLevel()-1)}}class G extends h.R6{constructor(){super({id:"editor.action.fontZoomReset",label:O.N("EditorFontZoomReset.label","Editor Font Zoom Reset"),alias:"Editor Font Zoom Reset",precondition:void 0})}run(y,E){H.C.setZoomLevel(0)}}(0,h.Qr)(P),(0,h.Qr)(D),(0,h.Qr)(G)},85080:function(xt,Te,i){"use strict";i.d(Te,{xC:function(){return M},Zg:function(){return L},x$:function(){return z},Qq:function(){return se},Qs:function(){return Z}});var h=i(58941),H=i(43506),O=i(96283),P=i(79881),D=i(88226),G=i(34502),I=i(72999),y=i(4968),E=i(39528),p=i(62843),a=i(72146),g=i(17373),w=i(17551),s=i(27347),C=i(52645),f=i(16862),v=i(86586),r=i(13268),l=i(35884);class m{constructor(le){this.value=le,this._lower=le.toLowerCase()}static toKey(le){return typeof le=="string"?le.toLowerCase():le._lower}}var c=i(16925),b=function(Q,le,xe,j){function R(V){return V instanceof xe?V:new xe(function(K){K(V)})}return new(xe||(xe=Promise))(function(V,K){function ie(ye){try{ge(j.next(ye))}catch(ve){K(ve)}}function te(ye){try{ge(j.throw(ye))}catch(ve){K(ve)}}function ge(ye){ye.done?V(ye.value):R(ye.value).then(ie,te)}ge((j=j.apply(Q,le||[])).next())})};function L(Q){if(Q=Q.filter(R=>R.range),!Q.length)return;let{range:le}=Q[0];for(let R=1;R<Q.length;R++)le=g.e.plusRange(le,Q[R].range);const{startLineNumber:xe,endLineNumber:j}=le;xe===j?Q.length===1?(0,h.Z9)(r.N("hint11","Made 1 formatting edit on line {0}",xe)):(0,h.Z9)(r.N("hintn1","Made {0} formatting edits on line {1}",Q.length,xe)):Q.length===1?(0,h.Z9)(r.N("hint1n","Made 1 formatting edit between lines {0} and {1}",xe,j)):(0,h.Z9)(r.N("hintnn","Made {0} formatting edits between lines {1} and {2}",Q.length,xe,j))}function T(Q){const le=[],xe=new Set,j=s.Az.ordered(Q);for(const V of j)le.push(V),V.extensionId&&xe.add(m.toKey(V.extensionId));const R=s.vN.ordered(Q);for(const V of R){if(V.extensionId){if(xe.has(m.toKey(V.extensionId)))continue;xe.add(m.toKey(V.extensionId))}le.push({displayName:V.displayName,extensionId:V.extensionId,provideDocumentFormattingEdits(K,ie,te){return V.provideDocumentRangeFormattingEdits(K,K.getFullModelRange(),ie,te)}})}return le}class M{static setFormatterSelector(le){return{dispose:M._selectors.unshift(le)}}static select(le,xe,j){return b(this,void 0,void 0,function*(){if(le.length===0)return;const R=D.$.first(M._selectors);if(R)return yield R(le,xe,j)})}}M._selectors=new G.S;function z(Q,le,xe,j,R,V){return b(this,void 0,void 0,function*(){const K=Q.get(c.TG),ie=(0,p.CL)(le)?le.getModel():le,te=s.vN.ordered(ie),ge=yield M.select(te,ie,j);ge&&(R.report(ge),yield K.invokeFunction(oe,ge,le,xe,V))})}function oe(Q,le,xe,j,R){return b(this,void 0,void 0,function*(){const V=Q.get(C.p);let K,ie;(0,p.CL)(xe)?(K=xe.getModel(),ie=new E.Dl(xe,5,void 0,R)):(K=xe,ie=new E.YQ(xe,R));let te=[],ge=0;for(let ue of(0,H._2)(j).sort(g.e.compareRangesUsingStarts))ge>0&&g.e.areIntersectingOrTouching(te[ge-1],ue)?te[ge-1]=g.e.fromPositions(te[ge-1].getStartPosition(),ue.getEndPosition()):ge=te.push(ue);const ye=ue=>b(this,void 0,void 0,function*(){return(yield le.provideDocumentRangeFormattingEdits(K,ue,K.getFormattingOptions(),ie.token))||[]}),ve=(ue,ce)=>{if(!ue.length||!ce.length)return!1;const Ve=ue.reduce((We,ae)=>g.e.plusRange(We,ae.range),ue[0].range);if(!ce.some(We=>g.e.intersectRanges(Ve,We.range)))return!1;for(let We of ue)for(let ae of ce)if(g.e.intersectRanges(We.range,ae.range))return!0;return!1},Fe=[],we=[];try{for(let ue of te){if(ie.token.isCancellationRequested)return!0;we.push(yield ye(ue))}for(let ue=0;ue<te.length;++ue)for(let ce=ue+1;ce<te.length;++ce){if(ie.token.isCancellationRequested)return!0;if(ve(we[ue],we[ce])){const Ve=g.e.plusRange(te[ue],te[ce]),We=yield ye(Ve);te.splice(ce,1),te.splice(ue,1),te.push(Ve),we.splice(ce,1),we.splice(ue,1),we.push(We),ue=0,ce=0}}for(let ue of we){if(ie.token.isCancellationRequested)return!0;const ce=yield V.computeMoreMinimalEdits(K.uri,ue);ce&&Fe.push(...ce)}}finally{ie.dispose()}if(Fe.length===0)return!1;if((0,p.CL)(xe))v.V.execute(xe,Fe,!0),L(Fe),xe.revealPositionInCenterIfOutsideViewport(xe.getPosition(),1);else{const[{range:ue}]=Fe,ce=new w.Y(ue.startLineNumber,ue.startColumn,ue.endLineNumber,ue.endColumn);K.pushEditOperations([ce],Fe.map(Ve=>({text:Ve.text,range:g.e.lift(Ve.range),forceMoveMarkers:!0})),Ve=>{for(const{range:We}of Ve)if(g.e.areIntersectingOrTouching(We,ce))return[new w.Y(We.startLineNumber,We.startColumn,We.endLineNumber,We.endColumn)];return null})}return!0})}function se(Q,le,xe,j,R){return b(this,void 0,void 0,function*(){const V=Q.get(c.TG),K=(0,p.CL)(le)?le.getModel():le,ie=T(K),te=yield M.select(ie,K,xe);te&&(j.report(te),yield V.invokeFunction(re,te,le,xe,R))})}function re(Q,le,xe,j,R){return b(this,void 0,void 0,function*(){const V=Q.get(C.p);let K,ie;(0,p.CL)(xe)?(K=xe.getModel(),ie=new E.Dl(xe,5,void 0,R)):(K=xe,ie=new E.YQ(xe,R));let te;try{const ge=yield le.provideDocumentFormattingEdits(K,K.getFormattingOptions(),ie.token);if(te=yield V.computeMoreMinimalEdits(K.uri,ge),ie.token.isCancellationRequested)return!0}finally{ie.dispose()}if(!te||te.length===0)return!1;if((0,p.CL)(xe))v.V.execute(xe,te,j!==2),j!==2&&(L(te),xe.revealPositionInCenterIfOutsideViewport(xe.getPosition(),1));else{const[{range:ge}]=te,ye=new w.Y(ge.startLineNumber,ge.startColumn,ge.endLineNumber,ge.endColumn);K.pushEditOperations([ye],te.map(ve=>({text:ve.text,range:g.e.lift(ve.range),forceMoveMarkers:!0})),ve=>{for(const{range:Fe}of ve)if(g.e.areIntersectingOrTouching(Fe,ye))return[new w.Y(Fe.startLineNumber,Fe.startColumn,Fe.endLineNumber,Fe.endColumn)];return null})}return!0})}function De(Q,le,xe,j,R){return b(this,void 0,void 0,function*(){const V=s.vN.ordered(le);for(const K of V){let ie=yield Promise.resolve(K.provideDocumentRangeFormattingEdits(le,xe,j,R)).catch(P.Cp);if((0,H.Of)(ie))return yield Q.computeMoreMinimalEdits(le.uri,ie)}})}function J(Q,le,xe,j){return b(this,void 0,void 0,function*(){const R=T(le);for(const V of R){let K=yield Promise.resolve(V.provideDocumentFormattingEdits(le,xe,j)).catch(P.Cp);if((0,H.Of)(K))return yield Q.computeMoreMinimalEdits(le.uri,K)}})}function Z(Q,le,xe,j,R){const V=s.ln.ordered(le);return V.length===0||V[0].autoFormatTriggerCharacters.indexOf(j)<0?Promise.resolve(void 0):Promise.resolve(V[0].provideOnTypeFormattingEdits(le,xe,j,R,O.T.None)).catch(P.Cp).then(K=>Q.computeMoreMinimalEdits(le.uri,K))}l.P.registerCommand("_executeFormatRangeProvider",function(Q,...le){return b(this,void 0,void 0,function*(){const[xe,j,R]=le;(0,I.p_)(y.o.isUri(xe)),(0,I.p_)(g.e.isIRange(j));const V=Q.get(f.S),K=Q.get(C.p),ie=yield V.createModelReference(xe);try{return De(K,ie.object.textEditorModel,g.e.lift(j),R,O.T.None)}finally{ie.dispose()}})}),l.P.registerCommand("_executeFormatDocumentProvider",function(Q,...le){return b(this,void 0,void 0,function*(){const[xe,j]=le;(0,I.p_)(y.o.isUri(xe));const R=Q.get(f.S),V=Q.get(C.p),K=yield R.createModelReference(xe);try{return J(V,K.object.textEditorModel,j,O.T.None)}finally{K.dispose()}})}),l.P.registerCommand("_executeFormatOnTypeProvider",function(Q,...le){return b(this,void 0,void 0,function*(){const[xe,j,R,V]=le;(0,I.p_)(y.o.isUri(xe)),(0,I.p_)(a.L.isIPosition(j)),(0,I.p_)(typeof R=="string");const K=Q.get(f.S),ie=Q.get(C.p),te=yield K.createModelReference(xe);try{return Z(ie,te.object.textEditorModel,a.L.lift(j),R,V)}finally{te.dispose()}})})},85628:function(xt,Te,i){"use strict";i.r(Te);var h=i(43506),H=i(96283),O=i(79881),P=i(52411),D=i(69323),G=i(4514),I=i(70827),y=i(14788),E=i(17373),p=i(68987),a=i(27347),g=i(52645),w=i(85080),s=i(86586),C=i(13268),f=i(35884),v=i(90689),r=i(16925),l=i(81641),m=function(oe,se,re,De){var J=arguments.length,Z=J<3?se:De===null?De=Object.getOwnPropertyDescriptor(se,re):De,Q;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Z=Reflect.decorate(oe,se,re,De);else for(var le=oe.length-1;le>=0;le--)(Q=oe[le])&&(Z=(J<3?Q(Z):J>3?Q(se,re,Z):Q(se,re))||Z);return J>3&&Z&&Object.defineProperty(se,re,Z),Z},c=function(oe,se){return function(re,De){se(re,De,oe)}},b=function(oe,se,re,De){function J(Z){return Z instanceof re?Z:new re(function(Q){Q(Z)})}return new(re||(re=Promise))(function(Z,Q){function le(R){try{j(De.next(R))}catch(V){Q(V)}}function xe(R){try{j(De.throw(R))}catch(V){Q(V)}}function j(R){R.done?Z(R.value):J(R.value).then(le,xe)}j((De=De.apply(oe,se||[])).next())})};let L=class{constructor(se,re){this._workerService=re,this._callOnDispose=new D.SL,this._callOnModel=new D.SL,this._editor=se,this._callOnDispose.add(se.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(se.onDidChangeModel(()=>this._update())),this._callOnDispose.add(se.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(a.ln.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){if(this._callOnModel.clear(),!this._editor.getOption(48)||!this._editor.hasModel())return;const se=this._editor.getModel(),[re]=a.ln.ordered(se);if(!re||!re.autoFormatTriggerCharacters)return;let De=new y.q;for(let J of re.autoFormatTriggerCharacters)De.add(J.charCodeAt(0));this._callOnModel.add(this._editor.onDidType(J=>{let Z=J.charCodeAt(J.length-1);De.has(Z)&&this._trigger(String.fromCharCode(Z))}))}_trigger(se){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const re=this._editor.getModel(),De=this._editor.getPosition();let J=!1;const Z=this._editor.onDidChangeModelContent(Q=>{if(Q.isFlush){J=!0,Z.dispose();return}for(let le=0,xe=Q.changes.length;le<xe;le++)if(Q.changes[le].range.endLineNumber<=De.lineNumber){J=!0,Z.dispose();return}});(0,w.Qs)(this._workerService,re,De,se,re.getFormattingOptions()).then(Q=>{Z.dispose(),!J&&(0,h.Of)(Q)&&(s.V.execute(this._editor,Q,!0),(0,w.Zg)(Q))},Q=>{throw Z.dispose(),Q})}};L.ID="editor.contrib.autoFormat",L=m([c(1,g.p)],L);let T=class{constructor(se,re){this.editor=se,this._instantiationService=re,this._callOnDispose=new D.SL,this._callOnModel=new D.SL,this._callOnDispose.add(se.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(se.onDidChangeModel(()=>this._update())),this._callOnDispose.add(se.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(a.vN.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(47)&&this.editor.hasModel()&&a.vN.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:se})=>this._trigger(se)))}_trigger(se){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(w.x$,this.editor,se,2,l.E.None,H.T.None).catch(O.dL))}};T.ID="editor.contrib.formatOnPaste",T=m([c(1,r.TG)],T);class M extends G.R6{constructor(){super({id:"editor.action.formatDocument",label:C.N("formatDocument.label","Format Document"),alias:"Format Document",precondition:v.Ao.and(p.u.notInCompositeEditor,p.u.writable,p.u.hasDocumentFormattingProvider),kbOpts:{kbExpr:p.u.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}run(se,re){return b(this,void 0,void 0,function*(){if(re.hasModel()){const De=se.get(r.TG);yield se.get(l.e).showWhile(De.invokeFunction(w.Qq,re,1,l.E.None,H.T.None),250)}})}}class z extends G.R6{constructor(){super({id:"editor.action.formatSelection",label:C.N("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:v.Ao.and(p.u.writable,p.u.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:p.u.editorTextFocus,primary:(0,P.gx)(2089,2084),weight:100},contextMenuOpts:{when:p.u.hasNonEmptySelection,group:"1_modification",order:1.31}})}run(se,re){return b(this,void 0,void 0,function*(){if(!re.hasModel())return;const De=se.get(r.TG),J=re.getModel(),Z=re.getSelections().map(le=>le.isEmpty()?new E.e(le.startLineNumber,1,le.startLineNumber,J.getLineMaxColumn(le.startLineNumber)):le);yield se.get(l.e).showWhile(De.invokeFunction(w.x$,re,Z,1,l.E.None,H.T.None),250)})}}(0,G._K)(L.ID,L),(0,G._K)(T.ID,T),(0,G.Qr)(M),(0,G.Qr)(z),f.P.registerCommand("editor.action.format",oe=>b(void 0,void 0,void 0,function*(){const se=oe.get(I.$).getFocusedCodeEditor();if(!se||!se.hasModel())return;const re=oe.get(f.H);se.getSelection().isEmpty()?yield re.executeCommand("editor.action.formatDocument"):yield re.executeCommand("editor.action.formatSelection")}))},86586:function(xt,Te,i){"use strict";i.d(Te,{V:function(){return O}});var h=i(44124),H=i(17373);class O{static _handleEolEdits(D,G){let I,y=[];for(let E of G)typeof E.eol=="number"&&(I=E.eol),E.range&&typeof E.text=="string"&&y.push(E);return typeof I=="number"&&D.hasModel()&&D.getModel().pushEOL(I),y}static _isFullModelReplaceEdit(D,G){if(!D.hasModel())return!1;const I=D.getModel(),y=I.validateRange(G.range);return I.getFullModelRange().equalsRange(y)}static execute(D,G,I){I&&D.pushUndoStop();const y=O._handleEolEdits(D,G);y.length===1&&O._isFullModelReplaceEdit(D,y[0])?D.executeEdits("formatEditsCommand",y.map(E=>h.h.replace(H.e.lift(E.range),E.text))):D.executeEdits("formatEditsCommand",y.map(E=>h.h.replaceMove(H.e.lift(E.range),E.text))),I&&D.pushUndoStop()}}},79711:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{MarkerController:function(){return ee},NextMarkerAction:function(){return Pe}});var h=i(52615),H=i(69323),O=i(4514),P=i(70827),D=i(72146),G=i(17373),I=i(68987),y=i(43506),E=i(4348),p=i(34502),a=i(82983),g=i(4968),w=i(7335),s=i(16925),C=i(12145),f=function(Ht,ze,Xe,Ze){var Ae=arguments.length,He=Ae<3?ze:Ze===null?Ze=Object.getOwnPropertyDescriptor(ze,Xe):Ze,Et;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")He=Reflect.decorate(Ht,ze,Xe,Ze);else for(var Wt=Ht.length-1;Wt>=0;Wt--)(Et=Ht[Wt])&&(He=(Ae<3?Et(He):Ae>3?Et(ze,Xe,He):Et(ze,Xe))||He);return Ae>3&&He&&Object.defineProperty(ze,Xe,He),He},v=function(Ht,ze){return function(Xe,Ze){ze(Xe,Ze,Ht)}};class r{constructor(ze,Xe,Ze){this.marker=ze,this.index=Xe,this.total=Ze}}let l=class bl{constructor(ze,Xe){this._markerService=Xe,this._onDidChange=new E.Q5,this.onDidChange=this._onDidChange.event,this._dispoables=new H.SL,this._markers=[],this._nextIdx=-1,g.o.isUri(ze)?this._resourceFilter=Ae=>Ae.toString()===ze.toString():ze&&(this._resourceFilter=ze);const Ze=()=>{this._markers=this._markerService.read({resource:g.o.isUri(ze)?ze:void 0,severities:C.ZL.Error|C.ZL.Warning|C.ZL.Info}),typeof ze=="function"&&(this._markers=this._markers.filter(Ae=>this._resourceFilter(Ae.resource))),this._markers.sort(bl._compareMarker)};Ze(),this._dispoables.add(Xe.onMarkerChanged(Ae=>{(!this._resourceFilter||Ae.some(He=>this._resourceFilter(He)))&&(Ze(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(ze){return!this._resourceFilter&&!ze?!0:!this._resourceFilter||!ze?!1:this._resourceFilter(ze)}get selected(){const ze=this._markers[this._nextIdx];return ze&&new r(ze,this._nextIdx+1,this._markers.length)}_initIdx(ze,Xe,Ze){let Ae=!1,He=this._markers.findIndex(Et=>Et.resource.toString()===ze.uri.toString());He<0&&(He=(0,y.ry)(this._markers,{resource:ze.uri},(Et,Wt)=>(0,a.qu)(Et.resource.toString(),Wt.resource.toString())),He<0&&(He=~He));for(let Et=He;Et<this._markers.length;Et++){let Wt=G.e.lift(this._markers[Et]);if(Wt.isEmpty()){const oi=ze.getWordAtPosition(Wt.getStartPosition());oi&&(Wt=new G.e(Wt.startLineNumber,oi.startColumn,Wt.startLineNumber,oi.endColumn))}if(Xe&&(Wt.containsPosition(Xe)||Xe.isBeforeOrEqual(Wt.getStartPosition()))){this._nextIdx=Et,Ae=!0;break}if(this._markers[Et].resource.toString()!==ze.uri.toString())break}Ae||(this._nextIdx=Ze?0:this._markers.length-1),this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(ze,Xe,Ze){if(this._markers.length===0)return!1;let Ae=this._nextIdx;return this._nextIdx===-1?this._initIdx(Xe,Ze,ze):ze?this._nextIdx=(this._nextIdx+1)%this._markers.length:ze||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),Ae!==this._nextIdx}find(ze,Xe){let Ze=this._markers.findIndex(Ae=>Ae.resource.toString()===ze.toString());if(!(Ze<0)){for(;Ze<this._markers.length;Ze++)if(G.e.containsPosition(this._markers[Ze],Xe))return new r(this._markers[Ze],Ze+1,this._markers.length)}}static _compareMarker(ze,Xe){let Ze=(0,a.qu)(ze.resource.toString(),Xe.resource.toString());return Ze===0&&(Ze=C.ZL.compare(ze.severity,Xe.severity)),Ze===0&&(Ze=G.e.compareRangesUsingStarts(ze,Xe)),Ze}};l=f([v(1,C.lT)],l);const m=(0,s.yh)("IMarkerNavigationService");let c=class{constructor(ze){this._markerService=ze,this._provider=new p.S}getMarkerList(ze){for(let Xe of this._provider){const Ze=Xe.getMarkerList(ze);if(Ze)return Ze}return new l(ze,this._markerService)}};c=f([v(0,C.lT)],c),(0,w.z)(m,c,!0);var b=i(13268),L=i(96236),T=i(90689),M=i(55773),z=i(69454),oe=i(1336),se=i(51737),re=i(51983),De=i(9365),J=i(7729),Z=i(68489),Q=i(6629),le=i(271),xe=i(37254),j=i(44350),R=i(49055),V;(function(Ht){function ze(Xe){switch(Xe){case xe.Z.Ignore:return"severity-ignore "+h.lA.info.classNames;case xe.Z.Info:return h.lA.info.classNames;case xe.Z.Warning:return h.lA.warning.classNames;case xe.Z.Error:return h.lA.error.classNames;default:return""}}Ht.className=ze})(V||(V={})),(0,R.Ic)((Ht,ze)=>{const Xe=Ht.getColor(j.Jp);if(Xe){const He=h.lA.error.cssSelector;ze.addRule(`
.monaco-editor .zone-widget ${He},
.markers-panel .marker-icon${He},
.text-search-provider-messages .providerMessage ${He},
.extensions-viewlet > .extensions ${He} {
color: ${Xe};
}
`)}const Ze=Ht.getColor(j.BO);if(Ze){const He=h.lA.warning.cssSelector;ze.addRule(`
.monaco-editor .zone-widget ${He},
.markers-panel .marker-icon${He},
.extensions-viewlet > .extensions ${He},
.extension-editor ${He},
.text-search-provider-messages .providerMessage ${He},
.preferences-editor ${He} {
color: ${Ze};
}
`)}const Ae=Ht.getColor(j.OL);if(Ae){const He=h.lA.info.cssSelector;ze.addRule(`
.monaco-editor .zone-widget ${He},
.markers-panel .marker-icon${He},
.extensions-viewlet > .extensions ${He},
.text-search-provider-messages .providerMessage ${He},
.extension-editor ${He} {
color: ${Ae};
}
`)}});var K=function(Ht,ze,Xe,Ze){var Ae=arguments.length,He=Ae<3?ze:Ze===null?Ze=Object.getOwnPropertyDescriptor(ze,Xe):Ze,Et;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")He=Reflect.decorate(Ht,ze,Xe,Ze);else for(var Wt=Ht.length-1;Wt>=0;Wt--)(Et=Ht[Wt])&&(He=(Ae<3?Et(He):Ae>3?Et(ze,Xe,He):Et(ze,Xe))||He);return Ae>3&&He&&Object.defineProperty(ze,Xe,He),He},ie=function(Ht,ze){return function(Xe,Ze){ze(Xe,Ze,Ht)}};class te{constructor(ze,Xe,Ze,Ae,He){this._openerService=Ae,this._labelService=He,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new H.SL,this._editor=Xe;const Et=document.createElement("div");Et.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),Et.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),Et.appendChild(this._relatedBlock),this._disposables.add(z.mu(this._relatedBlock,"click",Wt=>{Wt.preventDefault();const oi=this._relatedDiagnostics.get(Wt.target);oi&&Ze(oi)})),this._scrollable=new oe.NB(Et,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:3,verticalScrollbarSize:3}),ze.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(Wt=>{Et.style.left=`-${Wt.scrollLeft}px`,Et.style.top=`-${Wt.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){(0,H.B9)(this._disposables)}update(ze){const{source:Xe,message:Ze,relatedInformation:Ae,code:He}=ze;let Et=((Xe==null?void 0:Xe.length)||0)+2;He&&(typeof He=="string"?Et+=He.length:Et+=He.value.length);const Wt=(0,a.uq)(Ze);this._lines=Wt.length,this._longestLineLength=0;for(const Ti of Wt)this._longestLineLength=Math.max(Ti.length+Et,this._longestLineLength);z.PO(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(ze)),this._editor.applyFontInfo(this._messageBlock);let oi=this._messageBlock;for(const Ti of Wt)oi=document.createElement("div"),oi.innerText=Ti,Ti===""&&(oi.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(oi);if(Xe||He){const Ti=document.createElement("span");if(Ti.classList.add("details"),oi.appendChild(Ti),Xe){const Ni=document.createElement("span");Ni.innerText=Xe,Ni.classList.add("source"),Ti.appendChild(Ni)}if(He)if(typeof He=="string"){const Ni=document.createElement("span");Ni.innerText=`(${He})`,Ni.classList.add("code"),Ti.appendChild(Ni)}else{this._codeLink=z.$("a.code-link"),this._codeLink.setAttribute("href",`${He.target.toString()}`),this._codeLink.onclick=ai=>{this._openerService.open(He.target,{allowCommands:!0}),ai.preventDefault(),ai.stopPropagation()};const Ni=z.R3(this._codeLink,z.$("span"));Ni.innerText=He.value,Ti.appendChild(this._codeLink)}}if(z.PO(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),(0,y.Of)(Ae)){const Ti=this._relatedBlock.appendChild(document.createElement("div"));Ti.style.paddingTop=`${Math.floor(this._editor.getOption(58)*.66)}px`,this._lines+=1;for(const Ni of Ae){let ai=document.createElement("div"),Pt=document.createElement("a");Pt.classList.add("filename"),Pt.innerText=`${(0,re.p)(Ni.resource)}(${Ni.startLineNumber}, ${Ni.startColumn}): `,Pt.title=this._labelService.getUriLabel(Ni.resource),this._relatedDiagnostics.set(Pt,Ni);let Gt=document.createElement("span");Gt.innerText=Ni.message,ai.appendChild(Pt),ai.appendChild(Gt),this._lines+=1,Ti.appendChild(ai)}}const ni=this._editor.getOption(43),hi=Math.ceil(ni.typicalFullwidthCharacterWidth*this._longestLineLength*.75),Di=ni.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:hi,scrollHeight:Di})}layout(ze,Xe){this._scrollable.getDomNode().style.height=`${ze}px`,this._scrollable.getDomNode().style.width=`${Xe}px`,this._scrollable.setScrollDimensions({width:Xe,height:ze})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(ze){let Xe="";switch(ze.severity){case C.ZL.Error:Xe=b.N("Error","Error");break;case C.ZL.Warning:Xe=b.N("Warning","Warning");break;case C.ZL.Info:Xe=b.N("Info","Info");break;case C.ZL.Hint:Xe=b.N("Hint","Hint");break}let Ze=b.N("marker aria","{0} at {1}. ",Xe,ze.startLineNumber+":"+ze.startColumn);const Ae=this._editor.getModel();return Ae&&ze.startLineNumber<=Ae.getLineCount()&&ze.startLineNumber>=1&&(Ze=`${Ae.getLineContent(ze.startLineNumber)}, ${Ze}`),Ze}}let ge=class Sl extends J.vk{constructor(ze,Xe,Ze,Ae,He,Et,Wt){super(ze,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},He),this._themeService=Xe,this._openerService=Ze,this._menuService=Ae,this._contextKeyService=Et,this._labelService=Wt,this._callOnDispose=new H.SL,this._onDidSelectRelatedInformation=new E.Q5,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=C.ZL.Warning,this._backgroundColor=se.Il.white,this._applyTheme(Xe.getColorTheme()),this._callOnDispose.add(Xe.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(ze){this._backgroundColor=ze.getColor(fe);let Xe=we,Ze=ue;this._severity===C.ZL.Warning?(Xe=ce,Ze=Ve):this._severity===C.ZL.Info&&(Xe=We,Ze=ae);const Ae=ze.getColor(Xe),He=ze.getColor(Ze);this.style({arrowColor:Ae,frameColor:Ae,headerBackgroundColor:He,primaryHeadingColor:ze.getColor(J.IH),secondaryHeadingColor:ze.getColor(J.R7)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(ze){super._fillHead(ze),this._disposables.add(this._actionbarWidget.actionRunner.onBeforeRun(Ae=>this.editor.focus()));const Xe=[],Ze=this._menuService.createMenu(Sl.TitleMenu,this._contextKeyService);(0,Z.vr)(Ze,void 0,Xe),this._actionbarWidget.push(Xe,{label:!1,icon:!0,index:0}),Ze.dispose()}_fillTitleIcon(ze){this._icon=z.R3(ze,z.$(""))}_fillBody(ze){this._parentContainer=ze,ze.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),ze.appendChild(this._container),this._message=new te(this._container,this.editor,Xe=>this._onDidSelectRelatedInformation.fire(Xe),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(ze,Xe,Ze){this._container.classList.remove("stale"),this._message.update(ze),this._severity=ze.severity,this._applyTheme(this._themeService.getColorTheme());let Ae=G.e.lift(ze);const He=this.editor.getPosition();let Et=He&&Ae.containsPosition(He)?He:Ae.getStartPosition();super.show(Et,this.computeRequiredHeight());const Wt=this.editor.getModel();if(Wt){const oi=Ze>1?b.N("problems","{0} of {1} problems",Xe,Ze):b.N("change","{0} of {1} problem",Xe,Ze);this.setTitle((0,De.EZ)(Wt.uri),oi)}this._icon.className=`codicon ${V.className(C.ZL.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(Et,0),this.editor.focus()}updateMarker(ze){this._container.classList.remove("stale"),this._message.update(ze)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(ze,Xe){super._doLayoutBody(ze,Xe),this._heightInPixel=ze,this._message.layout(ze,Xe),this._container.style.height=`${ze}px`}_onWidth(ze){this._message.layout(this._heightInPixel,ze)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};ge.TitleMenu=new L.eH("gotoErrorTitleMenu"),ge=K([ie(1,R.XE),ie(2,le.v4),ie(3,L.co),ie(4,s.TG),ie(5,T.i6),ie(6,Q.e)],ge);let ye=(0,j.kw)(j.lX,j.b6),ve=(0,j.kw)(j.uo,j.pW),Fe=(0,j.kw)(j.c6,j.T8);const we=(0,j.P6)("editorMarkerNavigationError.background",{dark:ye,light:ye,hc:j.lR},b.N("editorMarkerNavigationError","Editor marker navigation widget error color.")),ue=(0,j.P6)("editorMarkerNavigationError.headerBackground",{dark:(0,j.Zn)(we,.1),light:(0,j.Zn)(we,.1),hc:null},b.N("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),ce=(0,j.P6)("editorMarkerNavigationWarning.background",{dark:ve,light:ve,hc:j.lR},b.N("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),Ve=(0,j.P6)("editorMarkerNavigationWarning.headerBackground",{dark:(0,j.Zn)(ce,.1),light:(0,j.Zn)(ce,.1),hc:"#0C141F"},b.N("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),We=(0,j.P6)("editorMarkerNavigationInfo.background",{dark:Fe,light:Fe,hc:j.lR},b.N("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),ae=(0,j.P6)("editorMarkerNavigationInfo.headerBackground",{dark:(0,j.Zn)(We,.1),light:(0,j.Zn)(We,.1),hc:null},b.N("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),fe=(0,j.P6)("editorMarkerNavigation.background",{dark:j.cv,light:j.cv,hc:j.cv},b.N("editorMarkerNavigationBackground","Editor marker navigation widget background."));(0,R.Ic)((Ht,ze)=>{const Xe=Ht.getColor(j.ur);Xe&&ze.addRule(`.monaco-editor .marker-widget a.code-link span { color: ${Xe}; }`);const Ze=Ht.getColor(j.sg);Ze&&ze.addRule(`.monaco-editor .marker-widget a.code-link span:hover { color: ${Ze}; }`)});var ne=function(Ht,ze,Xe,Ze){var Ae=arguments.length,He=Ae<3?ze:Ze===null?Ze=Object.getOwnPropertyDescriptor(ze,Xe):Ze,Et;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")He=Reflect.decorate(Ht,ze,Xe,Ze);else for(var Wt=Ht.length-1;Wt>=0;Wt--)(Et=Ht[Wt])&&(He=(Ae<3?Et(He):Ae>3?Et(ze,Xe,He):Et(ze,Xe))||He);return Ae>3&&He&&Object.defineProperty(ze,Xe,He),He},W=function(Ht,ze){return function(Xe,Ze){ze(Xe,Ze,Ht)}},$=function(Ht,ze,Xe,Ze){function Ae(He){return He instanceof Xe?He:new Xe(function(Et){Et(He)})}return new(Xe||(Xe=Promise))(function(He,Et){function Wt(hi){try{ni(Ze.next(hi))}catch(Di){Et(Di)}}function oi(hi){try{ni(Ze.throw(hi))}catch(Di){Et(Di)}}function ni(hi){hi.done?He(hi.value):Ae(hi.value).then(Wt,oi)}ni((Ze=Ze.apply(Ht,ze||[])).next())})};let ee=class yr{constructor(ze,Xe,Ze,Ae,He){this._markerNavigationService=Xe,this._contextKeyService=Ze,this._editorService=Ae,this._instantiationService=He,this._sessionDispoables=new H.SL,this._editor=ze,this._widgetVisible=vt.bindTo(this._contextKeyService)}static get(ze){return ze.getContribution(yr.ID)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(ze){if(this._model&&this._model.matches(ze))return this._model;let Xe=!1;return this._model&&(Xe=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(ze),Xe&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(ge,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(Ze=>{var Ae,He,Et;(!(!((Ae=this._model)===null||Ae===void 0)&&Ae.selected)||!G.e.containsPosition((He=this._model)===null||He===void 0?void 0:He.selected.marker,Ze.position))&&((Et=this._model)===null||Et===void 0||Et.resetIndex())})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const Ze=this._model.find(this._editor.getModel().uri,this._widget.position);Ze?this._widget.updateMarker(Ze.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(Ze=>{this._editorService.openCodeEditor({resource:Ze.resource,options:{pinned:!0,revealIfOpened:!0,selection:G.e.lift(Ze).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(ze=!0){this._cleanUp(),ze&&this._editor.focus()}showAtMarker(ze){if(this._editor.hasModel()){const Xe=this._getOrCreateModel(this._editor.getModel().uri);Xe.resetIndex(),Xe.move(!0,this._editor.getModel(),new D.L(ze.startLineNumber,ze.startColumn)),Xe.selected&&this._widget.showAtMarker(Xe.selected.marker,Xe.selected.index,Xe.selected.total)}}nagivate(ze,Xe){return $(this,void 0,void 0,function*(){if(this._editor.hasModel()){const Ze=this._getOrCreateModel(Xe?void 0:this._editor.getModel().uri);if(Ze.move(ze,this._editor.getModel(),this._editor.getPosition()),!Ze.selected)return;if(Ze.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const Ae=yield this._editorService.openCodeEditor({resource:Ze.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:Ze.selected.marker}},this._editor);Ae&&(yr.get(Ae).close(),yr.get(Ae).nagivate(ze,Xe))}else this._widget.showAtMarker(Ze.selected.marker,Ze.selected.index,Ze.selected.total)}})}};ee.ID="editor.contrib.markerController",ee=ne([W(1,m),W(2,T.i6),W(3,P.$),W(4,s.TG)],ee);class he extends O.R6{constructor(ze,Xe,Ze){super(Ze),this._next=ze,this._multiFile=Xe}run(ze,Xe){return $(this,void 0,void 0,function*(){Xe.hasModel()&&ee.get(Xe).nagivate(this._next,this._multiFile)})}}class Pe extends he{constructor(){super(!0,!1,{id:Pe.ID,label:Pe.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:I.u.focus,primary:578,weight:100},menuOpts:{menuId:ge.TitleMenu,title:Pe.LABEL,icon:(0,M.q5)("marker-navigation-next",h.lA.arrowDown,b.N("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}}Pe.ID="editor.action.marker.next",Pe.LABEL=b.N("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");class Ye extends he{constructor(){super(!1,!1,{id:Ye.ID,label:Ye.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:I.u.focus,primary:1602,weight:100},menuOpts:{menuId:ge.TitleMenu,title:Pe.LABEL,icon:(0,M.q5)("marker-navigation-previous",h.lA.arrowUp,b.N("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}}Ye.ID="editor.action.marker.prev",Ye.LABEL=b.N("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");class it extends he{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:b.N("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:I.u.focus,primary:66,weight:100},menuOpts:{menuId:L.eH.MenubarGoMenu,title:b.N({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class rt extends he{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:b.N("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:I.u.focus,primary:1090,weight:100},menuOpts:{menuId:L.eH.MenubarGoMenu,title:b.N({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}(0,O._K)(ee.ID,ee),(0,O.Qr)(Pe),(0,O.Qr)(Ye),(0,O.Qr)(it),(0,O.Qr)(rt);const vt=new T.uy("markersNavigationVisible",!1),Ft=O._l.bindToContribution(ee.get);(0,O.fK)(new Ft({id:"closeMarkersNavigation",precondition:vt,handler:Ht=>Ht.close(),kbOpts:{weight:150,kbExpr:I.u.focus,primary:9,secondary:[1033]}}))},17645:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{DefinitionAction:function(){return ne}});var h=i(87783),H=i(58941),O=i(50431),P=i(52411),D=i(23345),G=i(72999),I=i(4968),y=i(39528),E=i(62843),p=i(4514),a=i(70827),g=i(20712),w=i(72146),s=i(17373),C=i(68987),f=i(27347),v=i(51751),r=i(12158),l=i(4348),m=i(69323),c=i(9365),b=i(13268),L=i(90689),T=i(7335),M=i(16925),z=i(5898),oe=i(86414),se=i(79504),re=function(it,rt,vt,Ft){var Ht=arguments.length,ze=Ht<3?rt:Ft===null?Ft=Object.getOwnPropertyDescriptor(rt,vt):Ft,Xe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(it,rt,vt,Ft);else for(var Ze=it.length-1;Ze>=0;Ze--)(Xe=it[Ze])&&(ze=(Ht<3?Xe(ze):Ht>3?Xe(rt,vt,ze):Xe(rt,vt))||ze);return Ht>3&&ze&&Object.defineProperty(rt,vt,ze),ze},De=function(it,rt){return function(vt,Ft){rt(vt,Ft,it)}};const J=new L.uy("hasSymbols",!1,(0,b.N)("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),Z=(0,M.yh)("ISymbolNavigationService");let Q=class{constructor(rt,vt,Ft,Ht){this._editorService=vt,this._notificationService=Ft,this._keybindingService=Ht,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=J.bindTo(rt)}reset(){var rt,vt;this._ctxHasSymbols.reset(),(rt=this._currentState)===null||rt===void 0||rt.dispose(),(vt=this._currentMessage)===null||vt===void 0||vt.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(rt){const vt=rt.parent.parent;if(vt.references.length<=1){this.reset();return}this._currentModel=vt,this._currentIdx=vt.references.indexOf(rt),this._ctxHasSymbols.set(!0),this._showMessage();const Ft=new le(this._editorService),Ht=Ft.onDidChange(ze=>{if(this._ignoreEditorChange)return;const Xe=this._editorService.getActiveCodeEditor();if(!Xe)return;const Ze=Xe.getModel(),Ae=Xe.getPosition();if(!Ze||!Ae)return;let He=!1,Et=!1;for(const Wt of vt.references)if((0,c.Xy)(Wt.uri,Ze.uri))He=!0,Et=Et||s.e.containsPosition(Wt.range,Ae);else if(He)break;(!He||!Et)&&this.reset()});this._currentState=(0,m.F8)(Ft,Ht)}revealNext(rt){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const vt=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:vt.uri,options:{selection:s.e.collapseToStart(vt.range),selectionRevealType:3}},rt).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var rt;(rt=this._currentMessage)===null||rt===void 0||rt.dispose();const vt=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),Ft=vt?(0,b.N)("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,vt.getLabel()):(0,b.N)("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(Ft)}};Q=re([De(0,L.i6),De(1,a.$),De(2,se.lT),De(3,z.d)],Q),(0,T.z)(Z,Q,!0),(0,p.fK)(new class extends p._l{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:J,kbOpts:{weight:100,primary:70}})}runEditorCommand(it,rt){return it.get(Z).revealNext(rt)}}),oe.W.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:J,primary:9,handler(it){it.get(Z).reset()}});let le=class{constructor(rt){this._listener=new Map,this._disposables=new m.SL,this._onDidChange=new l.Q5,this.onDidChange=this._onDidChange.event,this._disposables.add(rt.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(rt.onCodeEditorAdd(this._onDidAddEditor,this)),rt.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),(0,m.B9)(this._listener.values())}_onDidAddEditor(rt){this._listener.set(rt,(0,m.F8)(rt.onDidChangeCursorPosition(vt=>this._onDidChange.fire({editor:rt})),rt.onDidChangeModelContent(vt=>this._onDidChange.fire({editor:rt}))))}_onDidRemoveEditor(rt){var vt;(vt=this._listener.get(rt))===null||vt===void 0||vt.dispose(),this._listener.delete(rt)}};le=re([De(0,a.$)],le);var xe=i(2658),j=i(7729),R=i(96236),V=i(35884),K=i(81641),ie=i(58425),te=function(it,rt,vt,Ft){function Ht(ze){return ze instanceof vt?ze:new vt(function(Xe){Xe(ze)})}return new(vt||(vt=Promise))(function(ze,Xe){function Ze(Et){try{He(Ft.next(Et))}catch(Wt){Xe(Wt)}}function Ae(Et){try{He(Ft.throw(Et))}catch(Wt){Xe(Wt)}}function He(Et){Et.done?ze(Et.value):Ht(Et.value).then(Ze,Ae)}He((Ft=Ft.apply(it,rt||[])).next())})},ge,ye,ve,Fe,we,ue,ce,Ve;R.BH.appendMenuItem(R.eH.EditorContext,{submenu:R.eH.EditorContextPeek,title:b.N("peek.submenu","Peek"),group:"navigation",order:100});const We=new Set;function ae(it){const rt=new it;return(0,p.QG)(rt),We.add(rt.id),rt}class fe extends p.R6{constructor(rt,vt){super(vt),this._configuration=rt}run(rt,vt){if(!vt.hasModel())return Promise.resolve(void 0);const Ft=rt.get(se.lT),Ht=rt.get(a.$),ze=rt.get(K.e),Xe=rt.get(Z),Ze=vt.getModel(),Ae=vt.getPosition(),He=new y.Dl(vt,5),Et=(0,O.eP)(this._getLocationModel(Ze,Ae,He.token),He.token).then(Wt=>te(this,void 0,void 0,function*(){if(!Wt||He.token.isCancellationRequested)return;(0,H.Z9)(Wt.ariaMessage);let oi;if(Wt.referenceAt(Ze.uri,Ae)){const hi=this._getAlternativeCommand(vt);hi!==this.id&&We.has(hi)&&(oi=vt.getAction(hi))}const ni=Wt.references.length;if(ni===0){if(!this._configuration.muteMessage){const hi=Ze.getWordAtPosition(Ae);xe.O.get(vt).showMessage(this._getNoResultFoundMessage(hi),Ae)}}else if(ni===1&&oi)oi.run();else return this._onResult(Ht,Xe,vt,Wt)}),Wt=>{Ft.error(Wt)}).finally(()=>{He.dispose()});return ze.showWhile(Et,250),Et}_onResult(rt,vt,Ft,Ht){return te(this,void 0,void 0,function*(){const ze=this._getGoToPreference(Ft);if(!(Ft instanceof g.H)&&(this._configuration.openInPeek||ze==="peek"&&Ht.references.length>1))this._openInPeek(Ft,Ht);else{const Xe=Ht.firstReference(),Ze=Ht.references.length>1&&ze==="gotoAndPeek",Ae=yield this._openReference(Ft,rt,Xe,this._configuration.openToSide,!Ze);Ze&&Ae?this._openInPeek(Ae,Ht):Ht.dispose(),ze==="goto"&&vt.put(Xe)}})}_openReference(rt,vt,Ft,Ht,ze){return te(this,void 0,void 0,function*(){let Xe;if((0,f.vx)(Ft)&&(Xe=Ft.targetSelectionRange),Xe||(Xe=Ft.range),!Xe)return;const Ze=yield vt.openCodeEditor({resource:Ft.uri,options:{selection:s.e.collapseToStart(Xe),selectionRevealType:3}},rt,Ht);if(Ze){if(ze){const Ae=Ze.getModel(),He=Ze.deltaDecorations([],[{range:Xe,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{Ze.getModel()===Ae&&Ze.deltaDecorations(He,[])},350)}return Ze}})}_openInPeek(rt,vt){let Ft=v.J.get(rt);Ft&&rt.hasModel()?Ft.toggleWidget(rt.getSelection(),(0,O.PG)(Ht=>Promise.resolve(vt)),this._configuration.openInPeek):vt.dispose()}}class ne extends fe{_getLocationModel(rt,vt,Ft){return te(this,void 0,void 0,function*(){return new r.oQ(yield(0,ie.nD)(rt,vt,Ft),b.N("def.title","Definitions"))})}_getNoResultFoundMessage(rt){return rt&&rt.word?b.N("noResultWord","No definition found for '{0}'",rt.word):b.N("generic.noResults","No definition found")}_getAlternativeCommand(rt){return rt.getOption(50).alternativeDefinitionCommand}_getGoToPreference(rt){return rt.getOption(50).multipleDefinitions}}const W=D.$L&&!h.$W?2118:70;ae((ge=class ya extends ne{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:ya.id,label:b.N("actions.goToDecl.label","Go to Definition"),alias:"Go to Definition",precondition:L.Ao.and(C.u.hasDefinitionProvider,C.u.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:C.u.editorTextFocus,primary:W,weight:100},contextMenuOpts:{group:"navigation",order:1.1}}),V.P.registerCommandAlias("editor.action.goToDeclaration",ya.id)}},ge.id="editor.action.revealDefinition",ge)),ae((ye=class La extends ne{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:La.id,label:b.N("actions.goToDeclToSide.label","Open Definition to the Side"),alias:"Open Definition to the Side",precondition:L.Ao.and(C.u.hasDefinitionProvider,C.u.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:C.u.editorTextFocus,primary:(0,P.gx)(2089,W),weight:100}}),V.P.registerCommandAlias("editor.action.openDeclarationToTheSide",La.id)}},ye.id="editor.action.revealDefinitionAside",ye)),ae((ve=class Da extends ne{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Da.id,label:b.N("actions.previewDecl.label","Peek Definition"),alias:"Peek Definition",precondition:L.Ao.and(C.u.hasDefinitionProvider,j.Jy.notInPeekEditor,C.u.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:C.u.editorTextFocus,primary:582,linux:{primary:3140},weight:100},contextMenuOpts:{menuId:R.eH.EditorContextPeek,group:"peek",order:2}}),V.P.registerCommandAlias("editor.action.previewDeclaration",Da.id)}},ve.id="editor.action.peekDefinition",ve));class $ extends fe{_getLocationModel(rt,vt,Ft){return te(this,void 0,void 0,function*(){return new r.oQ(yield(0,ie.zq)(rt,vt,Ft),b.N("decl.title","Declarations"))})}_getNoResultFoundMessage(rt){return rt&&rt.word?b.N("decl.noResultWord","No declaration found for '{0}'",rt.word):b.N("decl.generic.noResults","No declaration found")}_getAlternativeCommand(rt){return rt.getOption(50).alternativeDeclarationCommand}_getGoToPreference(rt){return rt.getOption(50).multipleDeclarations}}ae((Fe=class wl extends ${constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:wl.id,label:b.N("actions.goToDeclaration.label","Go to Declaration"),alias:"Go to Declaration",precondition:L.Ao.and(C.u.hasDeclarationProvider,C.u.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{group:"navigation",order:1.3}})}_getNoResultFoundMessage(rt){return rt&&rt.word?b.N("decl.noResultWord","No declaration found for '{0}'",rt.word):b.N("decl.generic.noResults","No declaration found")}},Fe.id="editor.action.revealDeclaration",Fe)),ae(class extends ${constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",label:b.N("actions.peekDecl.label","Peek Declaration"),alias:"Peek Declaration",precondition:L.Ao.and(C.u.hasDeclarationProvider,j.Jy.notInPeekEditor,C.u.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:R.eH.EditorContextPeek,group:"peek",order:3}})}});class ee extends fe{_getLocationModel(rt,vt,Ft){return te(this,void 0,void 0,function*(){return new r.oQ(yield(0,ie.L3)(rt,vt,Ft),b.N("typedef.title","Type Definitions"))})}_getNoResultFoundMessage(rt){return rt&&rt.word?b.N("goToTypeDefinition.noResultWord","No type definition found for '{0}'",rt.word):b.N("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(rt){return rt.getOption(50).alternativeTypeDefinitionCommand}_getGoToPreference(rt){return rt.getOption(50).multipleTypeDefinitions}}ae((we=class yl extends ee{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:yl.ID,label:b.N("actions.goToTypeDefinition.label","Go to Type Definition"),alias:"Go to Type Definition",precondition:L.Ao.and(C.u.hasTypeDefinitionProvider,C.u.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:C.u.editorTextFocus,primary:0,weight:100},contextMenuOpts:{group:"navigation",order:1.4}})}},we.ID="editor.action.goToTypeDefinition",we)),ae((ue=class Ll extends ee{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Ll.ID,label:b.N("actions.peekTypeDefinition.label","Peek Type Definition"),alias:"Peek Type Definition",precondition:L.Ao.and(C.u.hasTypeDefinitionProvider,j.Jy.notInPeekEditor,C.u.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:R.eH.EditorContextPeek,group:"peek",order:4}})}},ue.ID="editor.action.peekTypeDefinition",ue));class he extends fe{_getLocationModel(rt,vt,Ft){return te(this,void 0,void 0,function*(){return new r.oQ(yield(0,ie.f4)(rt,vt,Ft),b.N("impl.title","Implementations"))})}_getNoResultFoundMessage(rt){return rt&&rt.word?b.N("goToImplementation.noResultWord","No implementation found for '{0}'",rt.word):b.N("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(rt){return rt.getOption(50).alternativeImplementationCommand}_getGoToPreference(rt){return rt.getOption(50).multipleImplementations}}ae((ce=class Dl extends he{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Dl.ID,label:b.N("actions.goToImplementation.label","Go to Implementations"),alias:"Go to Implementations",precondition:L.Ao.and(C.u.hasImplementationProvider,C.u.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:C.u.editorTextFocus,primary:2118,weight:100},contextMenuOpts:{group:"navigation",order:1.45}})}},ce.ID="editor.action.goToImplementation",ce)),ae((Ve=class El extends he{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:El.ID,label:b.N("actions.peekImplementation.label","Peek Implementations"),alias:"Peek Implementations",precondition:L.Ao.and(C.u.hasImplementationProvider,j.Jy.notInPeekEditor,C.u.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:C.u.editorTextFocus,primary:3142,weight:100},contextMenuOpts:{menuId:R.eH.EditorContextPeek,group:"peek",order:5}})}},Ve.ID="editor.action.peekImplementation",Ve));class Pe extends fe{_getNoResultFoundMessage(rt){return rt?b.N("references.no","No references found for '{0}'",rt.word):b.N("references.noGeneric","No references found")}_getAlternativeCommand(rt){return rt.getOption(50).alternativeReferenceCommand}_getGoToPreference(rt){return rt.getOption(50).multipleReferences}}ae(class extends Pe{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",label:b.N("goToReferences.label","Go to References"),alias:"Go to References",precondition:L.Ao.and(C.u.hasReferenceProvider,j.Jy.notInPeekEditor,C.u.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:C.u.editorTextFocus,primary:1094,weight:100},contextMenuOpts:{group:"navigation",order:1.45}})}_getLocationModel(rt,vt,Ft){return te(this,void 0,void 0,function*(){return new r.oQ(yield(0,ie.aA)(rt,vt,!0,Ft),b.N("ref.title","References"))})}}),ae(class extends Pe{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",label:b.N("references.action.label","Peek References"),alias:"Peek References",precondition:L.Ao.and(C.u.hasReferenceProvider,j.Jy.notInPeekEditor,C.u.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:R.eH.EditorContextPeek,group:"peek",order:6}})}_getLocationModel(rt,vt,Ft){return te(this,void 0,void 0,function*(){return new r.oQ(yield(0,ie.aA)(rt,vt,!1,Ft),b.N("ref.title","References"))})}});class Ye extends fe{constructor(rt,vt,Ft){super(rt,{id:"editor.action.goToLocation",label:b.N("label.generic","Go to Any Symbol"),alias:"Go to Any Symbol",precondition:L.Ao.and(j.Jy.notInPeekEditor,C.u.isInWalkThroughSnippet.toNegated())}),this._references=vt,this._gotoMultipleBehaviour=Ft}_getLocationModel(rt,vt,Ft){return te(this,void 0,void 0,function*(){return new r.oQ(this._references,b.N("generic.title","Locations"))})}_getNoResultFoundMessage(rt){return rt&&b.N("generic.noResult","No results for '{0}'",rt.word)||""}_getGoToPreference(rt){var vt;return(vt=this._gotoMultipleBehaviour)!==null&&vt!==void 0?vt:rt.getOption(50).multipleReferences}_getAlternativeCommand(){return""}}V.P.registerCommand({id:"editor.action.goToLocations",description:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:I.o},{name:"position",description:"The position at which to start",constraint:w.L.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:(it,rt,vt,Ft,Ht,ze,Xe)=>te(void 0,void 0,void 0,function*(){(0,G.p_)(I.o.isUri(rt)),(0,G.p_)(w.L.isIPosition(vt)),(0,G.p_)(Array.isArray(Ft)),(0,G.p_)(typeof Ht=="undefined"||typeof Ht=="string"),(0,G.p_)(typeof Xe=="undefined"||typeof Xe=="boolean");const Ze=it.get(a.$),Ae=yield Ze.openCodeEditor({resource:rt},Ze.getFocusedCodeEditor());if((0,E.CL)(Ae))return Ae.setPosition(vt),Ae.revealPositionInCenterIfOutsideViewport(vt,0),Ae.invokeWithinContext(He=>{const Et=new class extends Ye{_getNoResultFoundMessage(Wt){return ze||super._getNoResultFoundMessage(Wt)}}({muteMessage:!ze,openInPeek:!!Xe,openToSide:!1},Ft,Ht);He.get(M.TG).invokeFunction(Et.run.bind(Et),Ae)})})}),V.P.registerCommand({id:"editor.action.peekLocations",description:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:I.o},{name:"position",description:"The position at which to start",constraint:w.L.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"}]},handler:(it,rt,vt,Ft,Ht)=>te(void 0,void 0,void 0,function*(){it.get(V.H).executeCommand("editor.action.goToLocations",rt,vt,Ft,Ht,void 0,!0)})}),V.P.registerCommand({id:"editor.action.findReferences",handler:(it,rt,vt)=>{(0,G.p_)(I.o.isUri(rt)),(0,G.p_)(w.L.isIPosition(vt));const Ft=it.get(a.$);return Ft.openCodeEditor({resource:rt},Ft.getFocusedCodeEditor()).then(Ht=>{if(!(0,E.CL)(Ht)||!Ht.hasModel())return;const ze=v.J.get(Ht);if(!ze)return;const Xe=(0,O.PG)(Ae=>(0,ie.aA)(Ht.getModel(),w.L.lift(vt),!1,Ae).then(He=>new r.oQ(He,b.N("ref.title","References")))),Ze=new s.e(vt.lineNumber,vt.column,vt.lineNumber,vt.column);return Promise.resolve(ze.toggleWidget(Ze,Xe,!1))})}}),V.P.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations"),R.BH.appendMenuItems([{id:R.eH.MenubarGoMenu,item:{command:{id:"editor.action.revealDefinition",title:b.N({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},group:"4_symbol_nav",order:2}},{id:R.eH.MenubarGoMenu,item:{command:{id:"editor.action.revealDeclaration",title:b.N({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},group:"4_symbol_nav",order:3}},{id:R.eH.MenubarGoMenu,item:{command:{id:"editor.action.goToTypeDefinition",title:b.N({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},group:"4_symbol_nav",order:3}},{id:R.eH.MenubarGoMenu,item:{command:{id:"editor.action.goToImplementation",title:b.N({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},group:"4_symbol_nav",order:4}},{id:R.eH.MenubarGoMenu,item:{command:{id:"editor.action.goToReferences",title:b.N({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},group:"4_symbol_nav",order:5}}])},58425:function(xt,Te,i){"use strict";i.d(Te,{L3:function(){return a},aA:function(){return g},f4:function(){return p},nD:function(){return y},zq:function(){return E}});var h=i(96283),H=i(79881),O=i(4514),P=i(27347),D=i(12158),G=function(s,C,f,v){function r(l){return l instanceof f?l:new f(function(m){m(l)})}return new(f||(f=Promise))(function(l,m){function c(T){try{L(v.next(T))}catch(M){m(M)}}function b(T){try{L(v.throw(T))}catch(M){m(M)}}function L(T){T.done?l(T.value):r(T.value).then(c,b)}L((v=v.apply(s,C||[])).next())})};function I(s,C,f,v){const l=f.ordered(s).map(m=>Promise.resolve(v(m,s,C)).then(void 0,c=>{(0,H.Cp)(c)}));return Promise.all(l).then(m=>{const c=[];for(let b of m)Array.isArray(b)?c.push(...b):b&&c.push(b);return c})}function y(s,C,f){return I(s,C,P.Ct,(v,r,l)=>v.provideDefinition(r,l,f))}function E(s,C,f){return I(s,C,P.RN,(v,r,l)=>v.provideDeclaration(r,l,f))}function p(s,C,f){return I(s,C,P.vI,(v,r,l)=>v.provideImplementation(r,l,f))}function a(s,C,f){return I(s,C,P.tA,(v,r,l)=>v.provideTypeDefinition(r,l,f))}function g(s,C,f,v){return I(s,C,P.FL,(r,l,m)=>G(this,void 0,void 0,function*(){const c=yield r.provideReferences(l,m,{includeDeclaration:!0},v);if(!f||!c||c.length!==2)return c;const b=yield r.provideReferences(l,m,{includeDeclaration:!1},v);return b&&b.length===1?b:c}))}function w(s){return G(this,void 0,void 0,function*(){const C=yield s(),f=new D.oQ(C,""),v=f.references.map(r=>r.link);return f.dispose(),v})}(0,O.sb)("_executeDefinitionProvider",(s,C)=>w(()=>y(s,C,h.T.None))),(0,O.sb)("_executeDeclarationProvider",(s,C)=>w(()=>E(s,C,h.T.None))),(0,O.sb)("_executeImplementationProvider",(s,C)=>w(()=>p(s,C,h.T.None))),(0,O.sb)("_executeTypeDefinitionProvider",(s,C)=>w(()=>a(s,C,h.T.None))),(0,O.sb)("_executeReferenceProvider",(s,C)=>w(()=>g(s,C,!1,h.T.None)))},77234:function(xt,Te,i){"use strict";i.d(Te,{yN:function(){return E}});var h=i(4348),H=i(69323),O=i(23345);function P(p,a){return!!p[a]}class D{constructor(a,g){this.target=a.target,this.hasTriggerModifier=P(a.event,g.triggerModifier),this.hasSideBySideModifier=P(a.event,g.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=a.event.detail<=1}}class G{constructor(a,g){this.keyCodeIsTriggerKey=a.keyCode===g.triggerKey,this.keyCodeIsSideBySideKey=a.keyCode===g.triggerSideBySideKey,this.hasTriggerModifier=P(a,g.triggerModifier)}}class I{constructor(a,g,w,s){this.triggerKey=a,this.triggerModifier=g,this.triggerSideBySideKey=w,this.triggerSideBySideModifier=s}equals(a){return this.triggerKey===a.triggerKey&&this.triggerModifier===a.triggerModifier&&this.triggerSideBySideKey===a.triggerSideBySideKey&&this.triggerSideBySideModifier===a.triggerSideBySideModifier}}function y(p){return p==="altKey"?O.dz?new I(57,"metaKey",6,"altKey"):new I(5,"ctrlKey",6,"altKey"):O.dz?new I(6,"altKey",57,"metaKey"):new I(6,"altKey",5,"ctrlKey")}class E extends H.JT{constructor(a){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new h.Q5),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new h.Q5),this.onExecute=this._onExecute.event,this._onCancel=this._register(new h.Q5),this.onCancel=this._onCancel.event,this._editor=a,this._opts=y(this._editor.getOption(69)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(g=>{if(g.hasChanged(69)){const w=y(this._editor.getOption(69));if(this._opts.equals(w))return;this._opts=w,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(g=>this._onEditorMouseMove(new D(g,this._opts)))),this._register(this._editor.onMouseDown(g=>this._onEditorMouseDown(new D(g,this._opts)))),this._register(this._editor.onMouseUp(g=>this._onEditorMouseUp(new D(g,this._opts)))),this._register(this._editor.onKeyDown(g=>this._onEditorKeyDown(new G(g,this._opts)))),this._register(this._editor.onKeyUp(g=>this._onEditorKeyUp(new G(g,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(g=>this._onDidChangeCursorSelection(g))),this._register(this._editor.onDidChangeModel(g=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(g=>{(g.scrollTopChanged||g.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(a){a.selection&&a.selection.startColumn!==a.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(a){this._lastMouseMoveEvent=a,this._onMouseMoveOrRelevantKeyDown.fire([a,null])}_onEditorMouseDown(a){this._hasTriggerKeyOnMouseDown=a.hasTriggerModifier,this._lineNumberOnMouseDown=a.target.position?a.target.position.lineNumber:0}_onEditorMouseUp(a){const g=a.target.position?a.target.position.lineNumber:0;this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===g&&this._onExecute.fire(a)}_onEditorKeyDown(a){this._lastMouseMoveEvent&&(a.keyCodeIsTriggerKey||a.keyCodeIsSideBySideKey&&a.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,a]):a.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(a){a.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}},85211:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{GotoDefinitionAtPositionEditorContribution:function(){return L}});var h=i(50431),H=i(79881),O=i(94186),P=i(69323),D=i(72999),G=i(39528),I=i(4514),y=i(72146),E=i(17373),p=i(27347),a=i(64992),g=i(16862),w=i(77234),s=i(7729),C=i(13268),f=i(90689),v=i(44350),r=i(49055),l=i(17645),m=i(58425),c=function(T,M,z,oe){var se=arguments.length,re=se<3?M:oe===null?oe=Object.getOwnPropertyDescriptor(M,z):oe,De;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")re=Reflect.decorate(T,M,z,oe);else for(var J=T.length-1;J>=0;J--)(De=T[J])&&(re=(se<3?De(re):se>3?De(M,z,re):De(M,z))||re);return se>3&&re&&Object.defineProperty(M,z,re),re},b=function(T,M){return function(z,oe){M(z,oe,T)}};let L=class er{constructor(M,z,oe){this.textModelResolverService=z,this.modeService=oe,this.toUnhook=new P.SL,this.toUnhookForKeyboard=new P.SL,this.linkDecorations=[],this.currentWordAtPosition=null,this.previousPromise=null,this.editor=M;let se=new w.yN(M);this.toUnhook.add(se),this.toUnhook.add(se.onMouseMoveOrRelevantKeyDown(([re,De])=>{this.startFindDefinitionFromMouse(re,(0,D.f6)(De))})),this.toUnhook.add(se.onExecute(re=>{this.isEnabled(re)&&this.gotoDefinition(re.target.position,re.hasSideBySideModifier).then(()=>{this.removeLinkDecorations()},De=>{this.removeLinkDecorations(),(0,H.dL)(De)})})),this.toUnhook.add(se.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(M){return M.getContribution(er.ID)}startFindDefinitionFromCursor(M){return this.startFindDefinition(M).then(()=>{this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(z=>{z&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))})}startFindDefinitionFromMouse(M,z){if(M.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(M,z)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const oe=M.target.position;this.startFindDefinition(oe)}startFindDefinition(M){var z;this.toUnhookForKeyboard.clear();const oe=M?(z=this.editor.getModel())===null||z===void 0?void 0:z.getWordAtPosition(M):null;if(!oe)return this.currentWordAtPosition=null,this.removeLinkDecorations(),Promise.resolve(0);if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===oe.startColumn&&this.currentWordAtPosition.endColumn===oe.endColumn&&this.currentWordAtPosition.word===oe.word)return Promise.resolve(0);this.currentWordAtPosition=oe;let se=new G.yy(this.editor,15);return this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=(0,h.PG)(re=>this.findDefinition(M,re)),this.previousPromise.then(re=>{if(!re||!re.length||!se.validate(this.editor)){this.removeLinkDecorations();return}if(re.length>1)this.addDecoration(new E.e(M.lineNumber,oe.startColumn,M.lineNumber,oe.endColumn),new O.W5().appendText(C.N("multipleResults","Click to show {0} definitions.",re.length)));else{let De=re[0];if(!De.uri)return;this.textModelResolverService.createModelReference(De.uri).then(J=>{if(!J.object||!J.object.textEditorModel){J.dispose();return}const{object:{textEditorModel:Z}}=J,{startLineNumber:Q}=De.range;if(Q<1||Q>Z.getLineCount()){J.dispose();return}const le=this.getPreviewValue(Z,Q,De);let xe;De.originSelectionRange?xe=E.e.lift(De.originSelectionRange):xe=new E.e(M.lineNumber,oe.startColumn,M.lineNumber,oe.endColumn);const j=this.modeService.getModeIdByFilepathOrFirstLine(Z.uri);this.addDecoration(xe,new O.W5().appendCodeblock(j||"",le)),J.dispose()})}}).then(void 0,H.dL)}getPreviewValue(M,z,oe){let se=oe.targetSelectionRange?oe.range:this.getPreviewRangeBasedOnBrackets(M,z);return se.endLineNumber-se.startLineNumber>=er.MAX_SOURCE_PREVIEW_LINES&&(se=this.getPreviewRangeBasedOnIndentation(M,z)),this.stripIndentationFromPreviewRange(M,z,se)}stripIndentationFromPreviewRange(M,z,oe){let re=M.getLineFirstNonWhitespaceColumn(z);for(let J=z+1;J<oe.endLineNumber;J++){const Z=M.getLineFirstNonWhitespaceColumn(J);re=Math.min(re,Z)}return M.getValueInRange(oe).replace(new RegExp(`^\\s{${re-1}}`,"gm"),"").trim()}getPreviewRangeBasedOnIndentation(M,z){const oe=M.getLineFirstNonWhitespaceColumn(z),se=Math.min(M.getLineCount(),z+er.MAX_SOURCE_PREVIEW_LINES);let re=z+1;for(;re<se;re++){let De=M.getLineFirstNonWhitespaceColumn(re);if(oe===De)break}return new E.e(z,1,re+1,1)}getPreviewRangeBasedOnBrackets(M,z){const oe=Math.min(M.getLineCount(),z+er.MAX_SOURCE_PREVIEW_LINES),se=[];let re=!0,De=M.findNextBracket(new y.L(z,1));for(;De!==null;){if(se.length===0)se.push(De);else{const le=se[se.length-1];if(le.open[0]===De.open[0]&&le.isOpen&&!De.isOpen?se.pop():se.push(De),se.length===0)if(re)re=!1;else return new E.e(z,1,De.range.endLineNumber+1,1)}const J=M.getLineMaxColumn(z);let Z=De.range.endLineNumber,Q=De.range.endColumn;if(J===De.range.endColumn&&(Z++,Q=1),Z>oe)return new E.e(z,1,oe+1,1);De=M.findNextBracket(new y.L(Z,Q))}return new E.e(z,1,oe+1,1)}addDecoration(M,z){const oe={range:M,options:{description:"goto-definition-link",inlineClassName:"goto-definition-link",hoverMessage:z}};this.linkDecorations=this.editor.deltaDecorations(this.linkDecorations,[oe])}removeLinkDecorations(){this.linkDecorations.length>0&&(this.linkDecorations=this.editor.deltaDecorations(this.linkDecorations,[]))}isEnabled(M,z){return this.editor.hasModel()&&M.isNoneOrSingleMouseDown&&M.target.type===6&&(M.hasTriggerModifier||(z?z.keyCodeIsTriggerKey:!1))&&p.Ct.has(this.editor.getModel())}findDefinition(M,z){const oe=this.editor.getModel();return oe?(0,m.nD)(oe,M,z):Promise.resolve(null)}gotoDefinition(M,z){return this.editor.setPosition(M),this.editor.invokeWithinContext(oe=>{const se=!z&&this.editor.getOption(77)&&!this.isInPeekEditor(oe);return new l.DefinitionAction({openToSide:z,openInPeek:se,muteMessage:!0},{alias:"",label:"",id:"",precondition:void 0}).run(oe,this.editor)})}isInPeekEditor(M){const z=M.get(f.i6);return s.Jy.inPeekEditor.getValue(z)}dispose(){this.toUnhook.dispose()}};L.ID="editor.contrib.gotodefinitionatposition",L.MAX_SOURCE_PREVIEW_LINES=8,L=c([b(1,g.S),b(2,a.h)],L),(0,I._K)(L.ID,L),(0,r.Ic)((T,M)=>{const z=T.getColor(v._Y);z&&M.addRule(`.monaco-editor .goto-definition-link { color: ${z} !important; }`)})},51751:function(xt,Te,i){"use strict";i.d(Te,{J:function(){return Ft}});var h=i(50431),H=i(79881),O=i(52411),P=i(69323),D=i(70827),G=i(72146),I=i(17373),y=i(7729),E=i(13268),p=i(35884),a=i(21194),g=i(90689),w=i(16925),s=i(86414),C=i(59168),f=i(79504),v=i(19490),r=i(12158),l=i(69454),m=i(56586),c=i(51737),b=i(4348),L=i(66657),T=i(9365),M=i(20712),z=i(31276),oe=i(73468),se=i(64992),re=i(16862),De=i(24597),J=i(48949),Z=i(78032),Q=i(99599),le=i(51983),xe=i(5898),j=i(6629),R=i(32426),V=i(49055),K=function(ze,Xe,Ze,Ae){var He=arguments.length,Et=He<3?Xe:Ae===null?Ae=Object.getOwnPropertyDescriptor(Xe,Ze):Ae,Wt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Et=Reflect.decorate(ze,Xe,Ze,Ae);else for(var oi=ze.length-1;oi>=0;oi--)(Wt=ze[oi])&&(Et=(He<3?Wt(Et):He>3?Wt(Xe,Ze,Et):Wt(Xe,Ze))||Et);return He>3&&Et&&Object.defineProperty(Xe,Ze,Et),Et},ie=function(ze,Xe){return function(Ze,Ae){Xe(Ze,Ae,ze)}};let te=class{constructor(Xe){this._resolverService=Xe}hasChildren(Xe){return Xe instanceof r.oQ||Xe instanceof r.F2}getChildren(Xe){if(Xe instanceof r.oQ)return Xe.groups;if(Xe instanceof r.F2)return Xe.resolve(this._resolverService).then(Ze=>Ze.children);throw new Error("bad tree")}};te=K([ie(0,re.S)],te);class ge{getHeight(){return 23}getTemplateId(Xe){return Xe instanceof r.F2?we.id:ce.id}}let ye=class{constructor(Xe){this._keybindingService=Xe}getKeyboardNavigationLabel(Xe){var Ze;if(Xe instanceof r.WX){const Ae=(Ze=Xe.parent.getPreview(Xe))===null||Ze===void 0?void 0:Ze.preview(Xe.range);if(Ae)return Ae.value}return(0,T.EZ)(Xe.uri)}};ye=K([ie(0,xe.d)],ye);class ve{getId(Xe){return Xe instanceof r.WX?Xe.id:Xe.uri}}let Fe=class extends P.JT{constructor(Xe,Ze,Ae){super(),this._uriLabel=Ze;const He=document.createElement("div");He.classList.add("reference-file"),this.file=this._register(new Z.g(He,{supportHighlights:!0})),this.badge=new De.Z(l.R3(He,l.$(".count"))),this._register((0,R.WZ)(this.badge,Ae)),Xe.appendChild(He)}set(Xe,Ze){let Ae=(0,T.XX)(Xe.uri);this.file.setLabel((0,le.p)(Xe.uri),this._uriLabel.getUriLabel(Ae,{relative:!0}),{title:this._uriLabel.getUriLabel(Xe.uri),matches:Ze});const He=Xe.children.length;this.badge.setCount(He),He>1?this.badge.setTitleFormat((0,E.N)("referencesCount","{0} references",He)):this.badge.setTitleFormat((0,E.N)("referenceCount","{0} reference",He))}};Fe=K([ie(1,j.e),ie(2,V.XE)],Fe);let we=class Nl{constructor(Xe){this._instantiationService=Xe,this.templateId=Nl.id}renderTemplate(Xe){return this._instantiationService.createInstance(Fe,Xe)}renderElement(Xe,Ze,Ae){Ae.set(Xe.element,(0,Q.mB)(Xe.filterData))}disposeTemplate(Xe){Xe.dispose()}};we.id="FileReferencesRenderer",we=K([ie(0,w.TG)],we);class ue{constructor(Xe){this.label=new J.q(Xe,!1)}set(Xe,Ze){var Ae;const He=(Ae=Xe.parent.getPreview(Xe))===null||Ae===void 0?void 0:Ae.preview(Xe.range);if(!He||!He.value)this.label.set(`${(0,T.EZ)(Xe.uri)}:${Xe.range.startLineNumber+1}:${Xe.range.startColumn+1}`);else{const{value:Et,highlight:Wt}=He;Ze&&!Q.CL.isDefault(Ze)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(Et,(0,Q.mB)(Ze))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(Et,[Wt]))}}}class ce{constructor(){this.templateId=ce.id}renderTemplate(Xe){return new ue(Xe)}renderElement(Xe,Ze,Ae){Ae.set(Xe.element,Xe.filterData)}disposeTemplate(){}}ce.id="OneReferenceRenderer";class Ve{getWidgetAriaLabel(){return(0,E.N)("treeAriaLabel","References")}getAriaLabel(Xe){return Xe.ariaMessage}}var We=i(44350),ae=i(1085),fe=function(ze,Xe,Ze,Ae){var He=arguments.length,Et=He<3?Xe:Ae===null?Ae=Object.getOwnPropertyDescriptor(Xe,Ze):Ae,Wt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Et=Reflect.decorate(ze,Xe,Ze,Ae);else for(var oi=ze.length-1;oi>=0;oi--)(Wt=ze[oi])&&(Et=(He<3?Wt(Et):He>3?Wt(Xe,Ze,Et):Wt(Xe,Ze))||Et);return He>3&&Et&&Object.defineProperty(Xe,Ze,Et),Et},ne=function(ze,Xe){return function(Ze,Ae){Xe(Ze,Ae,ze)}},W=function(ze,Xe,Ze,Ae){function He(Et){return Et instanceof Ze?Et:new Ze(function(Wt){Wt(Et)})}return new(Ze||(Ze=Promise))(function(Et,Wt){function oi(Di){try{hi(Ae.next(Di))}catch(Ti){Wt(Ti)}}function ni(Di){try{hi(Ae.throw(Di))}catch(Ti){Wt(Ti)}}function hi(Di){Di.done?Et(Di.value):He(Di.value).then(oi,ni)}hi((Ae=Ae.apply(ze,Xe||[])).next())})};class ${constructor(Xe,Ze){this._editor=Xe,this._model=Ze,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new P.SL,this._callOnModelChange=new P.SL,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const Xe=this._editor.getModel();if(Xe){for(let Ze of this._model.references)if(Ze.uri.toString()===Xe.uri.toString()){this._addDecorations(Ze.parent);return}}}_addDecorations(Xe){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const Ze=[],Ae=[];for(let Et=0,Wt=Xe.children.length;Et<Wt;Et++){let oi=Xe.children[Et];this._decorationIgnoreSet.has(oi.id)||oi.uri.toString()===this._editor.getModel().uri.toString()&&(Ze.push({range:oi.range,options:$.DecorationOptions}),Ae.push(Et))}const He=this._editor.deltaDecorations([],Ze);for(let Et=0;Et<He.length;Et++)this._decorations.set(He[Et],Xe.children[Ae[Et]])}_onDecorationChanged(){const Xe=[],Ze=this._editor.getModel();if(Ze){for(let[Ae,He]of this._decorations){const Et=Ze.getDecorationRange(Ae);if(!Et)continue;let Wt=!1;if(!I.e.equalsRange(Et,He.range)){if(I.e.spansMultipleLines(Et))Wt=!0;else{const oi=He.range.endColumn-He.range.startColumn,ni=Et.endColumn-Et.startColumn;oi!==ni&&(Wt=!0)}Wt?(this._decorationIgnoreSet.add(He.id),Xe.push(Ae)):He.range=Et}}for(let Ae=0,He=Xe.length;Ae<He;Ae++)this._decorations.delete(Xe[Ae]);this._editor.deltaDecorations(Xe,[])}}removeDecorations(){this._editor.deltaDecorations([...this._decorations.keys()],[]),this._decorations.clear()}}$.DecorationOptions=z.qx.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});class ee{constructor(){this.ratio=.7,this.heightInLines=18}static fromJSON(Xe){let Ze,Ae;try{const He=JSON.parse(Xe);Ze=He.ratio,Ae=He.heightInLines}catch(He){}return{ratio:Ze||.7,heightInLines:Ae||18}}}class he extends C.ls{}let Pe=class extends y.vk{constructor(Xe,Ze,Ae,He,Et,Wt,oi,ni,hi,Di,Ti,Ni){super(Xe,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},Wt),this._defaultTreeKeyboardSupport=Ze,this.layoutData=Ae,this._textModelResolverService=Et,this._instantiationService=Wt,this._peekViewService=oi,this._uriLabel=ni,this._undoRedoService=hi,this._keybindingService=Di,this._modeService=Ti,this._languageConfigurationService=Ni,this._disposeOnNewModel=new P.SL,this._callOnDispose=new P.SL,this._onDidSelectReference=new b.Q5,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new l.Ro(0,0),this._applyTheme(He.getColorTheme()),this._callOnDispose.add(He.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(Xe,this),this.create()}dispose(){this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),(0,P.B9)(this._preview),(0,P.B9)(this._previewNotAvailableMessage),(0,P.B9)(this._tree),(0,P.B9)(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(Xe){const Ze=Xe.getColor(y.SC)||c.Il.transparent;this.style({arrowColor:Ze,frameColor:Ze,headerBackgroundColor:Xe.getColor(y.KY)||c.Il.transparent,primaryHeadingColor:Xe.getColor(y.IH),secondaryHeadingColor:Xe.getColor(y.R7)})}show(Xe){this.editor.revealRangeInCenterIfOutsideViewport(Xe,0),super.show(Xe,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(Xe){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:Xe.ctrlKey||Xe.metaKey||Xe.altKey?"side":"open",source:"title"})}_fillBody(Xe){this.setCssClass("reference-zone-widget"),this._messageContainer=l.R3(Xe,l.$("div.messages")),l.Cp(this._messageContainer),this._splitView=new m.z(Xe,{orientation:1}),this._previewContainer=l.R3(Xe,l.$("div.preview.inline"));let Ze={scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,alwaysConsumeMouseWheel:!1},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}};this._preview=this._instantiationService.createInstance(M.H,this._previewContainer,Ze,this.editor),l.Cp(this._previewContainer),this._previewNotAvailableMessage=new z.yO(E.N("missingPreviewMessage","no preview available"),z.yO.DEFAULT_CREATION_OPTIONS,null,null,this._undoRedoService,this._modeService,this._languageConfigurationService),this._treeContainer=l.R3(Xe,l.$("div.ref-tree.inline"));const Ae={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new Ve,keyboardNavigationLabelProvider:this._instantiationService.createInstance(ye),identityProvider:new ve,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:y.M8}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(l.mu(this._treeContainer,"keydown",Et=>{Et.equals(9)&&(this._keybindingService.dispatchEvent(Et,Et.target),Et.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(he,"ReferencesWidget",this._treeContainer,new ge,[this._instantiationService.createInstance(we),this._instantiationService.createInstance(ce)],this._instantiationService.createInstance(te),Ae),this._splitView.addView({onDidChange:b.ju.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:Et=>{this._preview.layout({height:this._dim.height,width:Et})}},m.M.Distribute),this._splitView.addView({onDidChange:b.ju.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:Et=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${Et}px`,this._tree.layout(this._dim.height,Et)}},m.M.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));let He=(Et,Wt)=>{Et instanceof r.WX&&(Wt==="show"&&this._revealReference(Et,!1),this._onDidSelectReference.fire({element:Et,kind:Wt,source:"tree"}))};this._tree.onDidOpen(Et=>{Et.sideBySide?He(Et.element,"side"):Et.editorOptions.pinned?He(Et.element,"goto"):He(Et.element,"show")}),l.Cp(this._treeContainer)}_onWidth(Xe){this._dim&&this._doLayoutBody(this._dim.height,Xe)}_doLayoutBody(Xe,Ze){super._doLayoutBody(Xe,Ze),this._dim=new l.Ro(Ze,Xe),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(Ze),this._splitView.resizeView(0,Ze*this.layoutData.ratio)}setSelection(Xe){return this._revealReference(Xe,!0).then(()=>{this._model&&(this._tree.setSelection([Xe]),this._tree.setFocus([Xe]))})}setModel(Xe){return this._disposeOnNewModel.clear(),this._model=Xe,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=E.N("noResults","No results"),l.$Z(this._messageContainer),Promise.resolve(void 0)):(l.Cp(this._messageContainer),this._decorationsManager=new $(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(Xe=>this._tree.rerender(Xe))),this._disposeOnNewModel.add(this._preview.onMouseDown(Xe=>{const{event:Ze,target:Ae}=Xe;if(Ze.detail!==2)return;const He=this._getFocusedReference();He&&this._onDidSelectReference.fire({element:{uri:He.uri,range:Ae.range},kind:Ze.ctrlKey||Ze.metaKey||Ze.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),l.$Z(this._treeContainer),l.$Z(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[Xe]=this._tree.getFocus();if(Xe instanceof r.WX)return Xe;if(Xe instanceof r.F2&&Xe.children.length>0)return Xe.children[0]}revealReference(Xe){return W(this,void 0,void 0,function*(){yield this._revealReference(Xe,!1),this._onDidSelectReference.fire({element:Xe,kind:"goto",source:"tree"})})}_revealReference(Xe,Ze){return W(this,void 0,void 0,function*(){if(this._revealedReference===Xe)return;this._revealedReference=Xe,Xe.uri.scheme!==L.lg.inMemory?this.setTitle((0,T.Hx)(Xe.uri),this._uriLabel.getUriLabel((0,T.XX)(Xe.uri))):this.setTitle(E.N("peekView.alternateTitle","References"));const Ae=this._textModelResolverService.createModelReference(Xe.uri);this._tree.getInput()===Xe.parent?this._tree.reveal(Xe):(Ze&&this._tree.reveal(Xe.parent),yield this._tree.expand(Xe.parent),this._tree.reveal(Xe));const He=yield Ae;if(!this._model){He.dispose();return}(0,P.B9)(this._previewModelReference);const Et=He.object;if(Et){const Wt=this._preview.getModel()===Et.textEditorModel?0:1,oi=I.e.lift(Xe.range).collapseToStart();this._previewModelReference=He,this._preview.setModel(Et.textEditorModel),this._preview.setSelection(oi),this._preview.revealRangeInCenter(oi,Wt)}else this._preview.setModel(this._previewNotAvailableMessage),He.dispose()})}};Pe=fe([ne(3,V.XE),ne(4,re.S),ne(5,w.TG),ne(6,y.Fw),ne(7,j.e),ne(8,ae.tJ),ne(9,xe.d),ne(10,se.h),ne(11,oe.c_)],Pe),(0,V.Ic)((ze,Xe)=>{const Ze=ze.getColor(y.F8);Ze&&Xe.addRule(`.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { background-color: ${Ze}; }`);const Ae=ze.getColor(y.WL);Ae&&Xe.addRule(`.monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: ${Ae}; }`);const He=ze.getColor(y.xH);He&&Xe.addRule(`.monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid ${He}; box-sizing: border-box; }`);const Et=ze.getColor(We.xL);Et&&Xe.addRule(`.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { border: 1px dotted ${Et}; box-sizing: border-box; }`);const Wt=ze.getColor(y.M8);Wt&&Xe.addRule(`.monaco-editor .reference-zone-widget .ref-tree { background-color: ${Wt}; }`);const oi=ze.getColor(y.xk);oi&&Xe.addRule(`.monaco-editor .reference-zone-widget .ref-tree { color: ${oi}; }`);const ni=ze.getColor(y.a7);ni&&Xe.addRule(`.monaco-editor .reference-zone-widget .ref-tree .reference-file { color: ${ni}; }`);const hi=ze.getColor(y.Zj);hi&&Xe.addRule(`.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { background-color: ${hi}; }`);const Di=ze.getColor(y.IY);Di&&Xe.addRule(`.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { color: ${Di} !important; }`);const Ti=ze.getColor(y.RX);Ti&&Xe.addRule(`.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input { background-color: ${Ti};}`);const Ni=ze.getColor(y.sH);Ni&&Xe.addRule(`.monaco-editor .reference-zone-widget .preview .monaco-editor .margin { background-color: ${Ni};}`)});var Ye=function(ze,Xe,Ze,Ae){var He=arguments.length,Et=He<3?Xe:Ae===null?Ae=Object.getOwnPropertyDescriptor(Xe,Ze):Ae,Wt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Et=Reflect.decorate(ze,Xe,Ze,Ae);else for(var oi=ze.length-1;oi>=0;oi--)(Wt=ze[oi])&&(Et=(He<3?Wt(Et):He>3?Wt(Xe,Ze,Et):Wt(Xe,Ze))||Et);return He>3&&Et&&Object.defineProperty(Xe,Ze,Et),Et},it=function(ze,Xe){return function(Ze,Ae){Xe(Ze,Ae,ze)}},rt=function(ze,Xe,Ze,Ae){function He(Et){return Et instanceof Ze?Et:new Ze(function(Wt){Wt(Et)})}return new(Ze||(Ze=Promise))(function(Et,Wt){function oi(Di){try{hi(Ae.next(Di))}catch(Ti){Wt(Ti)}}function ni(Di){try{hi(Ae.throw(Di))}catch(Ti){Wt(Ti)}}function hi(Di){Di.done?Et(Di.value):He(Di.value).then(oi,ni)}hi((Ae=Ae.apply(ze,Xe||[])).next())})};const vt=new g.uy("referenceSearchVisible",!1,E.N("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let Ft=class Ea{constructor(Xe,Ze,Ae,He,Et,Wt,oi,ni){this._defaultTreeKeyboardSupport=Xe,this._editor=Ze,this._editorService=He,this._notificationService=Et,this._instantiationService=Wt,this._storageService=oi,this._configurationService=ni,this._disposables=new P.SL,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=vt.bindTo(Ae)}static get(Xe){return Xe.getContribution(Ea.ID)}dispose(){var Xe,Ze;this._referenceSearchVisible.reset(),this._disposables.dispose(),(Xe=this._widget)===null||Xe===void 0||Xe.dispose(),(Ze=this._model)===null||Ze===void 0||Ze.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(Xe,Ze,Ae){let He;if(this._widget&&(He=this._widget.position),this.closeWidget(),He&&Xe.containsPosition(He))return;this._peekMode=Ae,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const Et="peekViewLayout",Wt=ee.fromJSON(this._storageService.get(Et,0,"{}"));this._widget=this._instantiationService.createInstance(Pe,this._editor,this._defaultTreeKeyboardSupport,Wt),this._widget.setTitle(E.N("labelLoading","Loading...")),this._widget.show(Xe),this._disposables.add(this._widget.onDidClose(()=>{Ze.cancel(),this._widget&&(this._storageService.store(Et,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(ni=>{let{element:hi,kind:Di}=ni;if(hi)switch(Di){case"open":(ni.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(hi,!1,!1);break;case"side":this.openReference(hi,!0,!1);break;case"goto":Ae?this._gotoReference(hi):this.openReference(hi,!1,!0);break}}));const oi=++this._requestIdPool;Ze.then(ni=>{var hi;if(oi!==this._requestIdPool||!this._widget){ni.dispose();return}return(hi=this._model)===null||hi===void 0||hi.dispose(),this._model=ni,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(E.N("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));let Di=this._editor.getModel().uri,Ti=new G.L(Xe.startLineNumber,Xe.startColumn),Ni=this._model.nearestReference(Di,Ti);if(Ni)return this._widget.setSelection(Ni).then(()=>{this._widget&&this._editor.getOption(76)==="editor"&&this._widget.focusOnPreviewEditor()})}})},ni=>{this._notificationService.error(ni)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}goToNextOrPreviousReference(Xe){return rt(this,void 0,void 0,function*(){if(!this._editor.hasModel()||!this._model||!this._widget)return;const Ze=this._widget.position;if(!Ze)return;const Ae=this._model.nearestReference(this._editor.getModel().uri,Ze);if(!Ae)return;const He=this._model.nextOrPreviousReference(Ae,Xe),Et=this._editor.hasTextFocus(),Wt=this._widget.isPreviewEditorFocused();yield this._widget.setSelection(He),yield this._gotoReference(He),Et?this._editor.focus():this._widget&&Wt&&this._widget.focusOnPreviewEditor()})}revealReference(Xe){return rt(this,void 0,void 0,function*(){!this._editor.hasModel()||!this._model||!this._widget||(yield this._widget.revealReference(Xe))})}closeWidget(Xe=!0){var Ze,Ae;(Ze=this._widget)===null||Ze===void 0||Ze.dispose(),(Ae=this._model)===null||Ae===void 0||Ae.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,Xe&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(Xe){this._widget&&this._widget.hide(),this._ignoreModelChangeEvent=!0;const Ze=I.e.lift(Xe.range).collapseToStart();return this._editorService.openCodeEditor({resource:Xe.uri,options:{selection:Ze}},this._editor).then(Ae=>{var He;if(this._ignoreModelChangeEvent=!1,!Ae||!this._widget){this.closeWidget();return}if(this._editor===Ae)this._widget.show(Ze),this._widget.focusOnReferenceTree();else{const Et=Ea.get(Ae),Wt=this._model.clone();this.closeWidget(),Ae.focus(),Et.toggleWidget(Ze,(0,h.PG)(oi=>Promise.resolve(Wt)),(He=this._peekMode)!==null&&He!==void 0?He:!1)}},Ae=>{this._ignoreModelChangeEvent=!1,(0,H.dL)(Ae)})}openReference(Xe,Ze,Ae){Ze||this.closeWidget();const{uri:He,range:Et}=Xe;this._editorService.openCodeEditor({resource:He,options:{selection:Et,pinned:Ae}},this._editor,Ze)}};Ft.ID="editor.contrib.referencesController",Ft=Ye([it(2,g.i6),it(3,D.$),it(4,f.lT),it(5,w.TG),it(6,v.Uy),it(7,a.Ui)],Ft);function Ht(ze,Xe){const Ze=(0,y.rc)(ze);if(!Ze)return;let Ae=Ft.get(Ze);Ae&&Xe(Ae)}s.W.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:(0,O.gx)(2089,60),when:g.Ao.or(vt,y.Jy.inPeekEditor),handler(ze){Ht(ze,Xe=>{Xe.changeFocusBetweenPreviewAndReferences()})}}),s.W.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:g.Ao.or(vt,y.Jy.inPeekEditor),handler(ze){Ht(ze,Xe=>{Xe.goToNextOrPreviousReference(!0)})}}),s.W.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:g.Ao.or(vt,y.Jy.inPeekEditor),handler(ze){Ht(ze,Xe=>{Xe.goToNextOrPreviousReference(!1)})}}),p.P.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),p.P.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),p.P.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),p.P.registerCommand("closeReferenceSearch",ze=>Ht(ze,Xe=>Xe.closeWidget())),s.W.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:g.Ao.and(y.Jy.inPeekEditor,g.Ao.not("config.editor.stablePeek"))}),s.W.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:g.Ao.and(vt,g.Ao.not("config.editor.stablePeek"))}),s.W.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:g.Ao.and(vt,C.CQ),handler(ze){var Xe;const Ae=(Xe=ze.get(C.Lw).lastFocusedList)===null||Xe===void 0?void 0:Xe.getFocus();Array.isArray(Ae)&&Ae[0]instanceof r.WX&&Ht(ze,He=>He.revealReference(Ae[0]))}}),s.W.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:g.Ao.and(vt,C.CQ),handler(ze){var Xe;const Ae=(Xe=ze.get(C.Lw).lastFocusedList)===null||Xe===void 0?void 0:Xe.getFocus();Array.isArray(Ae)&&Ae[0]instanceof r.WX&&Ht(ze,He=>He.openReference(Ae[0],!0,!0))}}),p.P.registerCommand("openReference",ze=>{var Xe;const Ae=(Xe=ze.get(C.Lw).lastFocusedList)===null||Xe===void 0?void 0:Xe.getFocus();Array.isArray(Ae)&&Ae[0]instanceof r.WX&&Ht(ze,He=>He.openReference(Ae[0],!1,!0))})},12158:function(xt,Te,i){"use strict";i.d(Te,{F2:function(){return w},WX:function(){return a},oQ:function(){return s}});var h=i(79881),H=i(4348),O=i(85035),P=i(69323),D=i(78421),G=i(9365),I=i(82983),y=i(17373),E=i(13268),p=function(C,f,v,r){function l(m){return m instanceof v?m:new v(function(c){c(m)})}return new(v||(v=Promise))(function(m,c){function b(M){try{T(r.next(M))}catch(z){c(z)}}function L(M){try{T(r.throw(M))}catch(z){c(z)}}function T(M){M.done?m(M.value):l(M.value).then(b,L)}T((r=r.apply(C,f||[])).next())})};class a{constructor(f,v,r,l){this.isProviderFirst=f,this.parent=v,this.link=r,this._rangeCallback=l,this.id=O.a.nextId()}get uri(){return this.link.uri}get range(){var f,v;return(v=(f=this._range)!==null&&f!==void 0?f:this.link.targetSelectionRange)!==null&&v!==void 0?v:this.link.range}set range(f){this._range=f,this._rangeCallback(this)}get ariaMessage(){var f;const v=(f=this.parent.getPreview(this))===null||f===void 0?void 0:f.preview(this.range);return v?(0,E.N)({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"symbol in {0} on line {1} at column {2}, {3}",(0,G.EZ)(this.uri),this.range.startLineNumber,this.range.startColumn,v.value):(0,E.N)("aria.oneReference","symbol in {0} on line {1} at column {2}",(0,G.EZ)(this.uri),this.range.startLineNumber,this.range.startColumn)}}class g{constructor(f){this._modelReference=f}dispose(){this._modelReference.dispose()}preview(f,v=8){const r=this._modelReference.object.textEditorModel;if(!r)return;const{startLineNumber:l,startColumn:m,endLineNumber:c,endColumn:b}=f,L=r.getWordUntilPosition({lineNumber:l,column:m-v}),T=new y.e(l,L.startColumn,l,m),M=new y.e(c,b,c,1073741824),z=r.getValueInRange(T).replace(/^\s+/,""),oe=r.getValueInRange(f),se=r.getValueInRange(M).replace(/\s+$/,"");return{value:z+oe+se,highlight:{start:z.length,end:z.length+oe.length}}}}class w{constructor(f,v){this.parent=f,this.uri=v,this.children=[],this._previews=new D.Y9}dispose(){(0,P.B9)(this._previews.values()),this._previews.clear()}getPreview(f){return this._previews.get(f.uri)}get ariaMessage(){const f=this.children.length;return f===1?(0,E.N)("aria.fileReferences.1","1 symbol in {0}, full path {1}",(0,G.EZ)(this.uri),this.uri.fsPath):(0,E.N)("aria.fileReferences.N","{0} symbols in {1}, full path {2}",f,(0,G.EZ)(this.uri),this.uri.fsPath)}resolve(f){return p(this,void 0,void 0,function*(){if(this._previews.size!==0)return this;for(let v of this.children)if(!this._previews.has(v.uri))try{const r=yield f.createModelReference(v.uri);this._previews.set(v.uri,new g(r))}catch(r){(0,h.dL)(r)}return this})}}class s{constructor(f,v){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new H.Q5,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=f,this._title=v;const[r]=f;f.sort(s._compareReferences);let l;for(let m of f)if((!l||!G.SF.isEqual(l.uri,m.uri,!0))&&(l=new w(this,m.uri),this.groups.push(l)),l.children.length===0||s._compareReferences(m,l.children[l.children.length-1])!==0){const c=new a(r===m,l,m,b=>this._onDidChangeReferenceRange.fire(b));this.references.push(c),l.children.push(c)}}dispose(){(0,P.B9)(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new s(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?(0,E.N)("aria.result.0","No results found"):this.references.length===1?(0,E.N)("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?(0,E.N)("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):(0,E.N)("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(f,v){let{parent:r}=f,l=r.children.indexOf(f),m=r.children.length,c=r.parent.groups.length;return c===1||v&&l+1<m||!v&&l>0?(v?l=(l+1)%m:l=(l+m-1)%m,r.children[l]):(l=r.parent.groups.indexOf(r),v?(l=(l+1)%c,r.parent.groups[l].children[0]):(l=(l+c-1)%c,r.parent.groups[l].children[r.parent.groups[l].children.length-1]))}nearestReference(f,v){const r=this.references.map((l,m)=>({idx:m,prefixLen:I.Mh(l.uri.toString(),f.toString()),offsetDist:Math.abs(l.range.startLineNumber-v.lineNumber)*100+Math.abs(l.range.startColumn-v.column)})).sort((l,m)=>l.prefixLen>m.prefixLen?-1:l.prefixLen<m.prefixLen?1:l.offsetDist<m.offsetDist?-1:l.offsetDist>m.offsetDist?1:0)[0];if(r)return this.references[r.idx]}referenceAt(f,v){for(const r of this.references)if(r.uri.toString()===f.toString()&&y.e.containsPosition(r.range,v))return r}firstReference(){for(const f of this.references)if(f.isProviderFirst)return f;return this.references[0]}static _compareReferences(f,v){return G.SF.compare(f.uri,v.uri)||y.e.compareRangesUsingStarts(f.range,v.range)}}},65028:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{ModesHoverController:function(){return ut}});var h=i(52411),H=i(69323),O=i(4514),P=i(17373),D=i(68987),G=i(64992),I=i(85211),y=i(69454),E=i(1336);const p=y.$;class a extends H.JT{constructor(){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",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 E.s$(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this._scrollbar.getDomNode())}onContentsChanged(){this._scrollbar.scanDomNode()}}class g extends H.JT{constructor(Y,_e,ke){super(),this.actionContainer=y.R3(Y,p("div.action-container")),this.action=y.R3(this.actionContainer,p("a.action")),this.action.setAttribute("href","#"),this.action.setAttribute("role","button"),_e.iconClass&&y.R3(this.action,p(`span.icon.${_e.iconClass}`));const lt=y.R3(this.action,p("span"));lt.textContent=ke?`${_e.label} (${ke})`:_e.label,this._register(y.nm(this.actionContainer,y.tw.MOUSE_DOWN,nt=>{nt.stopPropagation(),nt.preventDefault(),_e.run(this.actionContainer)})),this.setEnabled(!0)}static render(Y,_e,ke){return new g(Y,_e,ke)}setEnabled(Y){Y?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}var w=i(62758),s=i(43506),C=i(72146),f=i(31276),v=i(27347),r=i(96283),l=i(51737),m=i(91146),c=i(99851),b=i(4348);class L{constructor(Y,_e,ke){this.presentationIndex=ke,this._onColorFlushed=new b.Q5,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new b.Q5,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new b.Q5,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=Y,this._color=Y,this._colorPresentations=_e}get color(){return this._color}set color(Y){this._color.equals(Y)||(this._color=Y,this._onDidChangeColor.fire(Y))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(Y){this._colorPresentations=Y,this.presentationIndex>Y.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(Y,_e){for(let ke=0;ke<this.colorPresentations.length;ke++)if(_e.toLowerCase()===this.colorPresentations[ke].label){this.presentationIndex=ke,this._onDidChangePresentation.fire(this.presentation);break}}flushColor(){this._onColorFlushed.fire(this._color)}}var T=i(87783),M=i(2395),z=i(13268),oe=i(44350),se=i(49055);const re=y.$;class De extends H.JT{constructor(Y,_e,ke){super(),this.model=_e,this.domNode=re(".colorpicker-header"),y.R3(Y,this.domNode),this.pickedColorNode=y.R3(this.domNode,re(".picked-color"));const lt=(0,z.N)("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this.pickedColorNode.setAttribute("title",lt);const nt=y.R3(this.domNode,re(".original-color"));nt.style.backgroundColor=l.Il.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=ke.getColorTheme().getColor(oe.yJ)||l.Il.white,this._register((0,se.Ic)((pt,Dt)=>{this.backgroundColor=pt.getColor(oe.yJ)||l.Il.white})),this._register(y.nm(this.pickedColorNode,y.tw.CLICK,()=>this.model.selectNextColorPresentation())),this._register(y.nm(nt,y.tw.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(_e.onDidChangeColor(this.onDidChangeColor,this)),this._register(_e.onDidChangePresentation(this.onDidChangePresentation,this)),this.pickedColorNode.style.backgroundColor=l.Il.Format.CSS.format(_e.color)||"",this.pickedColorNode.classList.toggle("light",_e.color.rgba.a<.5?this.backgroundColor.isLighter():_e.color.isLighter())}onDidChangeColor(Y){this.pickedColorNode.style.backgroundColor=l.Il.Format.CSS.format(Y)||"",this.pickedColorNode.classList.toggle("light",Y.rgba.a<.5?this.backgroundColor.isLighter():Y.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this.pickedColorNode.textContent=this.model.presentation?this.model.presentation.label:"",this.pickedColorNode.prepend(re(".codicon.codicon-color-mode"))}}class J extends H.JT{constructor(Y,_e,ke){super(),this.model=_e,this.pixelRatio=ke,this.domNode=re(".colorpicker-body"),y.R3(Y,this.domNode),this.saturationBox=new Z(this.domNode,this.model,this.pixelRatio),this._register(this.saturationBox),this._register(this.saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this.saturationBox.onColorFlushed(this.flushColor,this)),this.opacityStrip=new le(this.domNode,this.model),this._register(this.opacityStrip),this._register(this.opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this.opacityStrip.onColorFlushed(this.flushColor,this)),this.hueStrip=new xe(this.domNode,this.model),this._register(this.hueStrip),this._register(this.hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this.hueStrip.onColorFlushed(this.flushColor,this))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:Y,v:_e}){const ke=this.model.color.hsva;this.model.color=new l.Il(new l.tx(ke.h,Y,_e,ke.a))}onDidOpacityChange(Y){const _e=this.model.color.hsva;this.model.color=new l.Il(new l.tx(_e.h,_e.s,_e.v,Y))}onDidHueChange(Y){const _e=this.model.color.hsva,ke=(1-Y)*360;this.model.color=new l.Il(new l.tx(ke===360?0:ke,_e.s,_e.v,_e.a))}layout(){this.saturationBox.layout(),this.opacityStrip.layout(),this.hueStrip.layout()}}class Z extends H.JT{constructor(Y,_e,ke){super(),this.model=_e,this.pixelRatio=ke,this._onDidChange=new b.Q5,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new b.Q5,this.onColorFlushed=this._onColorFlushed.event,this.domNode=re(".saturation-wrap"),y.R3(Y,this.domNode),this.canvas=document.createElement("canvas"),this.canvas.className="saturation-box",y.R3(this.domNode,this.canvas),this.selection=re(".saturation-selection"),y.R3(this.domNode,this.selection),this.layout(),this._register(y.Lo(this.domNode,lt=>this.onMouseDown(lt))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}onMouseDown(Y){this.monitor=this._register(new M.Z);const _e=y.i(this.domNode);Y.target!==this.selection&&this.onDidChangePosition(Y.offsetX,Y.offsetY),this.monitor.startMonitoring(Y.target,Y.buttons,M.e,lt=>this.onDidChangePosition(lt.posx-_e.left,lt.posy-_e.top),()=>null);const ke=y.qV(document,()=>{this._onColorFlushed.fire(),ke.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(Y,_e){const ke=Math.max(0,Math.min(1,Y/this.width)),lt=Math.max(0,Math.min(1,1-_e/this.height));this.paintSelection(ke,lt),this._onDidChange.fire({s:ke,v:lt})}layout(){this.width=this.domNode.offsetWidth,this.height=this.domNode.offsetHeight,this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio,this.paint();const Y=this.model.color.hsva;this.paintSelection(Y.s,Y.v)}paint(){const Y=this.model.color.hsva,_e=new l.Il(new l.tx(Y.h,1,1,1)),ke=this.canvas.getContext("2d"),lt=ke.createLinearGradient(0,0,this.canvas.width,0);lt.addColorStop(0,"rgba(255, 255, 255, 1)"),lt.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),lt.addColorStop(1,"rgba(255, 255, 255, 0)");const nt=ke.createLinearGradient(0,0,0,this.canvas.height);nt.addColorStop(0,"rgba(0, 0, 0, 0)"),nt.addColorStop(1,"rgba(0, 0, 0, 1)"),ke.rect(0,0,this.canvas.width,this.canvas.height),ke.fillStyle=l.Il.Format.CSS.format(_e),ke.fill(),ke.fillStyle=lt,ke.fill(),ke.fillStyle=nt,ke.fill()}paintSelection(Y,_e){this.selection.style.left=`${Y*this.width}px`,this.selection.style.top=`${this.height-_e*this.height}px`}onDidChangeColor(){this.monitor&&this.monitor.isMonitoring()||this.paint()}}class Q extends H.JT{constructor(Y,_e){super(),this.model=_e,this._onDidChange=new b.Q5,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new b.Q5,this.onColorFlushed=this._onColorFlushed.event,this.domNode=y.R3(Y,re(".strip")),this.overlay=y.R3(this.domNode,re(".overlay")),this.slider=y.R3(this.domNode,re(".slider")),this.slider.style.top="0px",this._register(y.Lo(this.domNode,ke=>this.onMouseDown(ke))),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const Y=this.getValue(this.model.color);this.updateSliderPosition(Y)}onMouseDown(Y){const _e=this._register(new M.Z),ke=y.i(this.domNode);this.domNode.classList.add("grabbing"),Y.target!==this.slider&&this.onDidChangeTop(Y.offsetY),_e.startMonitoring(Y.target,Y.buttons,M.e,nt=>this.onDidChangeTop(nt.posy-ke.top),()=>null);const lt=y.qV(document,()=>{this._onColorFlushed.fire(),lt.dispose(),_e.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(Y){const _e=Math.max(0,Math.min(1,1-Y/this.height));this.updateSliderPosition(_e),this._onDidChange.fire(_e)}updateSliderPosition(Y){this.slider.style.top=`${(1-Y)*this.height}px`}}class le extends Q{constructor(Y,_e){super(Y,_e),this.domNode.classList.add("opacity-strip"),this._register(_e.onDidChangeColor(this.onDidChangeColor,this)),this.onDidChangeColor(this.model.color)}onDidChangeColor(Y){const{r:_e,g:ke,b:lt}=Y.rgba,nt=new l.Il(new l.VS(_e,ke,lt,1)),pt=new l.Il(new l.VS(_e,ke,lt,0));this.overlay.style.background=`linear-gradient(to bottom, ${nt} 0%, ${pt} 100%)`}getValue(Y){return Y.hsva.a}}class xe extends Q{constructor(Y,_e){super(Y,_e),this.domNode.classList.add("hue-strip")}getValue(Y){return 1-Y.hsva.h/360}}class j extends w.${constructor(Y,_e,ke,lt){super(),this.model=_e,this.pixelRatio=ke,this._register((0,T.fX)(()=>this.layout()));const nt=re(".colorpicker-widget");Y.appendChild(nt);const pt=new De(nt,this.model,lt);this.body=new J(nt,this.model,this.pixelRatio),this._register(pt),this._register(this.body)}layout(){this.body.layout()}}var R=function(Se,Y,_e,ke){var lt=arguments.length,nt=lt<3?Y:ke===null?ke=Object.getOwnPropertyDescriptor(Y,_e):ke,pt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")nt=Reflect.decorate(Se,Y,_e,ke);else for(var Dt=Se.length-1;Dt>=0;Dt--)(pt=Se[Dt])&&(nt=(lt<3?pt(nt):lt>3?pt(Y,_e,nt):pt(Y,_e))||nt);return lt>3&&nt&&Object.defineProperty(Y,_e,nt),nt},V=function(Se,Y){return function(_e,ke){Y(_e,ke,Se)}},K=function(Se,Y,_e,ke){function lt(nt){return nt instanceof _e?nt:new _e(function(pt){pt(nt)})}return new(_e||(_e=Promise))(function(nt,pt){function Dt(Jt){try{Mt(ke.next(Jt))}catch(jt){pt(jt)}}function Vt(Jt){try{Mt(ke.throw(Jt))}catch(jt){pt(jt)}}function Mt(Jt){Jt.done?nt(Jt.value):lt(Jt.value).then(Dt,Vt)}Mt((ke=ke.apply(Se,Y||[])).next())})};class ie{constructor(Y,_e,ke,lt){this.owner=Y,this.range=_e,this.model=ke,this.provider=lt,this.forceShowAtRange=!0}isValidForHoverAnchor(Y){return Y.type===1&&this.range.startColumn<=Y.range.startColumn&&this.range.endColumn>=Y.range.endColumn}}let te=class{constructor(Y,_e,ke){this._editor=Y,this._hover=_e,this._themeService=ke}computeSync(Y,_e){return[]}computeAsync(Y,_e,ke){return K(this,void 0,void 0,function*(){if(!this._editor.hasModel())return[];const lt=c.i.get(this._editor);for(const nt of _e){if(nt.options.description!=="color-detector-color")continue;const pt=lt.getColorData(nt.range.getStartPosition());if(pt)return[yield this._createColorHover(this._editor.getModel(),pt.colorInfo,pt.provider)]}return[]})}_createColorHover(Y,_e,ke){return K(this,void 0,void 0,function*(){const lt=Y.getValueInRange(_e.range),{red:nt,green:pt,blue:Dt,alpha:Vt}=_e.color,Mt=new l.VS(Math.round(nt*255),Math.round(pt*255),Math.round(Dt*255),Vt),Jt=new l.Il(Mt),jt=yield(0,m.R)(Y,_e,ke,r.T.None),ui=new L(Jt,[],0);return ui.colorPresentations=jt||[],ui.guessColorPresentation(Jt,lt),new ie(this,P.e.lift(_e.range),ui,ke)})}renderHoverParts(Y,_e,ke){if(Y.length===0||!this._editor.hasModel())return H.JT.None;const lt=new H.SL,nt=Y[0],pt=this._editor.getModel(),Dt=nt.model,Vt=lt.add(new j(_e,Dt,this._editor.getOption(127),this._themeService));let Mt=new P.e(nt.range.startLineNumber,nt.range.startColumn,nt.range.endLineNumber,nt.range.endColumn);const Jt=()=>{let ui,vi;if(Dt.presentation.textEdit){ui=[Dt.presentation.textEdit],vi=new P.e(Dt.presentation.textEdit.range.startLineNumber,Dt.presentation.textEdit.range.startColumn,Dt.presentation.textEdit.range.endLineNumber,Dt.presentation.textEdit.range.endColumn);const Si=this._editor.getModel()._setTrackedRange(null,vi,3);this._editor.pushUndoStop(),this._editor.executeEdits("colorpicker",ui),vi=this._editor.getModel()._getTrackedRange(Si)||vi}else ui=[{identifier:null,range:Mt,text:Dt.presentation.label,forceMoveMarkers:!1}],vi=Mt.setEndPosition(Mt.endLineNumber,Mt.startColumn+Dt.presentation.label.length),this._editor.pushUndoStop(),this._editor.executeEdits("colorpicker",ui);Dt.presentation.additionalTextEdits&&(ui=[...Dt.presentation.additionalTextEdits],this._editor.executeEdits("colorpicker",ui),this._hover.hide()),this._editor.pushUndoStop(),Mt=vi},jt=ui=>(0,m.R)(pt,{range:Mt,color:{red:ui.rgba.r/255,green:ui.rgba.g/255,blue:ui.rgba.b/255,alpha:ui.rgba.a}},nt.provider,r.T.None).then(vi=>{Dt.colorPresentations=vi||[]});return lt.add(Dt.onColorFlushed(ui=>{jt(ui).then(Jt)})),lt.add(Dt.onDidChangeColor(jt)),this._hover.setColorPicker(Vt),lt}};te=R([V(2,se.XE)],te);var ge=i(50431),ye=i(79881);class ve{constructor(Y,_e,ke,lt,nt){this._computer=Y,this._state=0,this._hoverTime=nt,this._firstWaitScheduler=new ge.pY(()=>this._triggerAsyncComputation(),0),this._secondWaitScheduler=new ge.pY(()=>this._triggerSyncComputation(),0),this._loadingMessageScheduler=new ge.pY(()=>this._showLoadingMessage(),0),this._asyncComputationPromise=null,this._asyncComputationPromiseDone=!1,this._completeCallback=_e,this._errorCallback=ke,this._progressCallback=lt}setHoverTime(Y){this._hoverTime=Y}_firstWaitTime(){return this._hoverTime/2}_secondWaitTime(){return this._hoverTime/2}_loadingMessageTime(){return 3*this._hoverTime}_triggerAsyncComputation(){this._state=2,this._secondWaitScheduler.schedule(this._secondWaitTime()),this._computer.computeAsync?(this._asyncComputationPromiseDone=!1,this._asyncComputationPromise=(0,ge.PG)(Y=>this._computer.computeAsync(Y)),this._asyncComputationPromise.then(Y=>{this._asyncComputationPromiseDone=!0,this._withAsyncResult(Y)},Y=>this._onError(Y))):this._asyncComputationPromiseDone=!0}_triggerSyncComputation(){this._computer.computeSync&&this._computer.onResult(this._computer.computeSync(),!0),this._asyncComputationPromiseDone?(this._state=0,this._onComplete(this._computer.getResult())):(this._state=3,this._onProgress(this._computer.getResult()))}_showLoadingMessage(){this._state===3&&this._onProgress(this._computer.getResultWithLoadingMessage())}_withAsyncResult(Y){Y&&this._computer.onResult(Y,!1),this._state===3&&(this._state=0,this._onComplete(this._computer.getResult()))}_onComplete(Y){this._completeCallback(Y)}_onError(Y){this._errorCallback?this._errorCallback(Y):(0,ye.dL)(Y)}_onProgress(Y){this._progressCallback(Y)}start(Y){if(Y===0)this._state===0&&(this._state=1,this._firstWaitScheduler.schedule(this._firstWaitTime()),this._loadingMessageScheduler.schedule(this._loadingMessageTime()));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break}}cancel(){this._loadingMessageScheduler.cancel(),this._state===1&&this._firstWaitScheduler.cancel(),this._state===2&&(this._secondWaitScheduler.cancel(),this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null)),this._state===3&&this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null),this._state=0}}class Fe{constructor(Y,_e){this.priority=Y,this.range=_e,this.type=1}equals(Y){return Y.type===1&&this.range.equalsRange(Y.range)}canAdoptVisibleHover(Y,_e){return Y.type===1&&_e.lineNumber===this.range.startLineNumber}}class we{constructor(Y,_e,ke){this.priority=Y,this.owner=_e,this.range=ke,this.type=2}equals(Y){return Y.type===2&&this.owner===Y.owner}canAdoptVisibleHover(Y,_e){return Y.type===2&&this.owner===Y.owner}}var ue=i(94186),ce=i(56327);function Ve(Se,Y,_e){const lt=v.xp.ordered(Se).map(nt=>Promise.resolve(nt.provideHover(Se,Y,_e)).then(pt=>pt&&We(pt)?pt:void 0,pt=>{(0,ye.Cp)(pt)}));return Promise.all(lt).then(s.kX)}(0,O.sb)("_executeHoverProvider",(Se,Y)=>Ve(Se,Y,r.T.None));function We(Se){const Y=typeof Se.range!="undefined",_e=typeof Se.contents!="undefined"&&Se.contents&&Se.contents.length>0;return Y&&_e}var ae=i(21194),fe=i(271),ne=function(Se,Y,_e,ke){var lt=arguments.length,nt=lt<3?Y:ke===null?ke=Object.getOwnPropertyDescriptor(Y,_e):ke,pt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")nt=Reflect.decorate(Se,Y,_e,ke);else for(var Dt=Se.length-1;Dt>=0;Dt--)(pt=Se[Dt])&&(nt=(lt<3?pt(nt):lt>3?pt(Y,_e,nt):pt(Y,_e))||nt);return lt>3&&nt&&Object.defineProperty(Y,_e,nt),nt},W=function(Se,Y){return function(_e,ke){Y(_e,ke,Se)}},$=function(Se,Y,_e,ke){function lt(nt){return nt instanceof _e?nt:new _e(function(pt){pt(nt)})}return new(_e||(_e=Promise))(function(nt,pt){function Dt(Jt){try{Mt(ke.next(Jt))}catch(jt){pt(jt)}}function Vt(Jt){try{Mt(ke.throw(Jt))}catch(jt){pt(jt)}}function Mt(Jt){Jt.done?nt(Jt.value):lt(Jt.value).then(Dt,Vt)}Mt((ke=ke.apply(Se,Y||[])).next())})};const ee=y.$;class he{constructor(Y,_e,ke){this.owner=Y,this.range=_e,this.contents=ke}isValidForHoverAnchor(Y){return Y.type===1&&this.range.startColumn<=Y.range.startColumn&&this.range.endColumn>=Y.range.endColumn}}let Pe=class{constructor(Y,_e,ke,lt,nt){this._editor=Y,this._hover=_e,this._modeService=ke,this._openerService=lt,this._configurationService=nt}createLoadingMessage(Y){return new he(this,Y.range,[new ue.W5().appendText(z.N("modesContentHover.loading","Loading..."))])}computeSync(Y,_e){if(!this._editor.hasModel()||Y.type!==1)return[];const ke=this._editor.getModel(),lt=Y.range.startLineNumber,nt=ke.getLineMaxColumn(lt),pt=[];for(const Jt of _e){const jt=Jt.range.startLineNumber===lt?Jt.range.startColumn:1,ui=Jt.range.endLineNumber===lt?Jt.range.endColumn:nt,vi=Jt.options.hoverMessage;if(!vi||(0,ue.CP)(vi))continue;const Si=new P.e(Y.range.startLineNumber,jt,Y.range.startLineNumber,ui);pt.push(new he(this,Si,(0,s._2)(vi)))}const Dt=ke.getLineLength(lt),Vt=ke.getLanguageIdAtPosition(Y.range.startLineNumber,Y.range.startColumn),Mt=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:Vt});return typeof Mt=="number"&&Dt>=Mt&&pt.push(new he(this,Y.range,[{value:z.N("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}])),pt}computeAsync(Y,_e,ke){return $(this,void 0,void 0,function*(){if(!this._editor.hasModel()||Y.type!==1)return Promise.resolve([]);const lt=this._editor.getModel();if(!v.xp.has(lt))return Promise.resolve([]);const nt=yield Ve(lt,new C.L(Y.range.startLineNumber,Y.range.startColumn),ke),pt=[];for(const Dt of nt){if((0,ue.CP)(Dt.contents))continue;const Vt=Dt.range?P.e.lift(Dt.range):Y.range;pt.push(new he(this,Vt,Dt.contents))}return pt})}renderHoverParts(Y,_e,ke){const lt=new H.SL;for(const nt of Y)for(const pt of nt.contents){if((0,ue.CP)(pt))continue;const Dt=ee("div.hover-row.markdown-hover"),Vt=y.R3(Dt,ee("div.hover-contents")),Mt=lt.add(new ce.$({editor:this._editor},this._modeService,this._openerService));lt.add(Mt.onDidRenderAsync(()=>{Vt.className="hover-contents code-hover-contents",this._hover.onContentsChanged()}));const Jt=lt.add(Mt.render(pt));Vt.appendChild(Jt.element),_e.appendChild(Dt)}return lt}};Pe=ne([W(2,G.h),W(3,fe.v4),W(4,ae.Ui)],Pe);var Ye=i(9365),it=i(49178),rt=i(14899),vt=i(61401),Ft=i(46105),Ht=i(79711),ze=i(12145),Xe=i(81641),Ze=function(Se,Y,_e,ke){var lt=arguments.length,nt=lt<3?Y:ke===null?ke=Object.getOwnPropertyDescriptor(Y,_e):ke,pt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")nt=Reflect.decorate(Se,Y,_e,ke);else for(var Dt=Se.length-1;Dt>=0;Dt--)(pt=Se[Dt])&&(nt=(lt<3?pt(nt):lt>3?pt(Y,_e,nt):pt(Y,_e))||nt);return lt>3&&nt&&Object.defineProperty(Y,_e,nt),nt},Ae=function(Se,Y){return function(_e,ke){Y(_e,ke,Se)}};const He=y.$;class Et{constructor(Y,_e,ke){this.owner=Y,this.range=_e,this.marker=ke}isValidForHoverAnchor(Y){return Y.type===1&&this.range.startColumn<=Y.range.startColumn&&this.range.endColumn>=Y.range.endColumn}}const Wt={type:1,filter:{include:Ft.yN.QuickFix}};let oi=class{constructor(Y,_e,ke,lt){this._editor=Y,this._hover=_e,this._markerDecorationsService=ke,this._openerService=lt,this.recentMarkerCodeActionsInfo=void 0}computeSync(Y,_e){if(!this._editor.hasModel()||Y.type!==1)return[];const ke=this._editor.getModel(),lt=Y.range.startLineNumber,nt=ke.getLineMaxColumn(lt),pt=[];for(const Dt of _e){const Vt=Dt.range.startLineNumber===lt?Dt.range.startColumn:1,Mt=Dt.range.endLineNumber===lt?Dt.range.endColumn:nt,Jt=this._markerDecorationsService.getMarker(ke.uri,Dt);if(!Jt)continue;const jt=new P.e(Y.range.startLineNumber,Vt,Y.range.startLineNumber,Mt);pt.push(new Et(this,jt,Jt))}return pt}renderHoverParts(Y,_e,ke){if(!Y.length)return H.JT.None;const lt=new H.SL;Y.forEach(pt=>_e.appendChild(this.renderMarkerHover(pt,lt)));const nt=Y.length===1?Y[0]:Y.sort((pt,Dt)=>ze.ZL.compare(pt.marker.severity,Dt.marker.severity))[0];return this.renderMarkerStatusbar(nt,ke,lt),lt}renderMarkerHover(Y,_e){const ke=He("div.hover-row"),lt=y.R3(ke,He("div.marker.hover-contents")),{source:nt,message:pt,code:Dt,relatedInformation:Vt}=Y.marker;this._editor.applyFontInfo(lt);const Mt=y.R3(lt,He("span"));if(Mt.style.whiteSpace="pre-wrap",Mt.innerText=pt,nt||Dt)if(Dt&&typeof Dt!="string"){const Jt=He("span");if(nt){const Si=y.R3(Jt,He("span"));Si.innerText=nt}const jt=y.R3(Jt,He("a.code-link"));jt.setAttribute("href",Dt.target.toString()),_e.add(y.nm(jt,"click",Si=>{this._openerService.open(Dt.target,{allowCommands:!0}),Si.preventDefault(),Si.stopPropagation()}));const ui=y.R3(jt,He("span"));ui.innerText=Dt.value;const vi=y.R3(lt,Jt);vi.style.opacity="0.6",vi.style.paddingLeft="6px"}else{const Jt=y.R3(lt,He("span"));Jt.style.opacity="0.6",Jt.style.paddingLeft="6px",Jt.innerText=nt&&Dt?`${nt}(${Dt})`:nt||`(${Dt})`}if((0,s.Of)(Vt))for(const{message:Jt,resource:jt,startLineNumber:ui,startColumn:vi}of Vt){const Si=y.R3(lt,He("div"));Si.style.marginTop="8px";const Oi=y.R3(Si,He("a"));Oi.innerText=`${(0,Ye.EZ)(jt)}(${ui}, ${vi}): `,Oi.style.cursor="pointer",_e.add(y.nm(Oi,"click",zi=>{zi.stopPropagation(),zi.preventDefault(),this._openerService&&this._openerService.open(jt,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:ui,startColumn:vi}}}).catch(ye.dL)}));const Ri=y.R3(Si,He("span"));Ri.innerText=Jt,this._editor.applyFontInfo(Ri)}return ke}renderMarkerStatusbar(Y,_e,ke){if((Y.marker.severity===ze.ZL.Error||Y.marker.severity===ze.ZL.Warning||Y.marker.severity===ze.ZL.Info)&&_e.addAction({label:z.N("view problem","View Problem"),commandId:Ht.NextMarkerAction.ID,run:()=>{this._hover.hide(),Ht.MarkerController.get(this._editor).showAtMarker(Y.marker),this._editor.focus()}}),!this._editor.getOption(80)){const lt=_e.append(He("div"));this.recentMarkerCodeActionsInfo&&(ze.H0.makeKey(this.recentMarkerCodeActionsInfo.marker)===ze.H0.makeKey(Y.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(lt.textContent=z.N("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const nt=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?H.JT.None:ke.add((0,ge.Vg)(()=>lt.textContent=z.N("checkingForQuickFixes","Checking for quick fixes..."),200));lt.textContent||(lt.textContent="\xA0");const pt=this.getCodeActions(Y.marker);ke.add((0,H.OF)(()=>pt.cancel())),pt.then(Dt=>{if(nt.dispose(),this.recentMarkerCodeActionsInfo={marker:Y.marker,hasCodeActions:Dt.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){Dt.dispose(),lt.textContent=z.N("noQuickFixes","No quick fixes available");return}lt.style.display="none";let Vt=!1;ke.add((0,H.OF)(()=>{Vt||Dt.dispose()})),_e.addAction({label:z.N("quick fixes","Quick Fix..."),commandId:vt.E7.Id,run:Mt=>{Vt=!0;const Jt=vt.pY.get(this._editor),jt=y.i(Mt);this._hover.hide(),Jt.showCodeActions(Wt,Dt,{x:jt.left+6,y:jt.top+jt.height+6})}})},ye.dL)}}getCodeActions(Y){return(0,ge.PG)(_e=>(0,rt.aI)(this._editor.getModel(),new P.e(Y.startLineNumber,Y.startColumn,Y.endLineNumber,Y.endColumn),Wt,Xe.E.None,_e))}};oi=Ze([Ae(2,it.i),Ae(3,fe.v4)],oi),(0,se.Ic)((Se,Y)=>{const _e=Se.getColor(oe.ur);_e&&Y.addRule(`.monaco-hover .hover-contents a.code-link span { color: ${_e}; }`);const ke=Se.getColor(oe.sg);ke&&Y.addRule(`.monaco-hover .hover-contents a.code-link span:hover { color: ${ke}; }`)});var ni=i(67259),hi=i(52950),Di=i(96236),Ti=i(35884),Ni=i(90689),ai=function(Se,Y,_e,ke){var lt=arguments.length,nt=lt<3?Y:ke===null?ke=Object.getOwnPropertyDescriptor(Y,_e):ke,pt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")nt=Reflect.decorate(Se,Y,_e,ke);else for(var Dt=Se.length-1;Dt>=0;Dt--)(pt=Se[Dt])&&(nt=(lt<3?pt(nt):lt>3?pt(Y,_e,nt):pt(Y,_e))||nt);return lt>3&&nt&&Object.defineProperty(Y,_e,nt),nt},Pt=function(Se,Y){return function(_e,ke){Y(_e,ke,Se)}};class Gt{constructor(Y,_e,ke){this.owner=Y,this.range=_e,this.controller=ke}isValidForHoverAnchor(Y){return Y.type===1&&this.range.startColumn<=Y.range.startColumn&&this.range.endColumn>=Y.range.endColumn}hasMultipleSuggestions(){return this.controller.hasMultipleInlineCompletions()}}let st=class{constructor(Y,_e,ke,lt,nt,pt,Dt,Vt){this._editor=Y,this._hover=_e,this._commandService=ke,this._menuService=lt,this._contextKeyService=nt,this._modeService=pt,this._openerService=Dt,this.accessibilityService=Vt}suggestHoverAnchor(Y){const _e=ni.Kp.get(this._editor);if(!_e)return null;if(Y.target.type===8){const ke=Y.target.detail;if(_e.shouldShowHoverAtViewZone(ke.viewZoneId))return new we(1e3,this,P.e.fromPositions(ke.positionBefore||ke.position,ke.positionBefore||ke.position))}return Y.target.type===7&&Y.target.range&&_e.shouldShowHoverAt(Y.target.range)?new we(1e3,this,Y.target.range):Y.target.type===6&&Y.target.range&&Y.target.detail&&Y.target.detail.mightBeForeignElement&&_e.shouldShowHoverAt(Y.target.range)?new we(1e3,this,Y.target.range):null}computeSync(Y,_e){const ke=ni.Kp.get(this._editor);return ke&&ke.shouldShowHoverAt(Y.range)?[new Gt(this,Y.range,ke)]:[]}renderHoverParts(Y,_e,ke){const lt=new H.SL,nt=Y[0];this.accessibilityService.isScreenReaderOptimized()&&this.renderScreenReaderText(nt,_e,lt);const pt=lt.add(this._menuService.createMenu(Di.eH.InlineCompletionsActions,this._contextKeyService)),Dt=ke.addAction({label:z.N("showNextInlineSuggestion","Next"),commandId:ni.L8.ID,run:()=>this._commandService.executeCommand(ni.L8.ID)}),Vt=ke.addAction({label:z.N("showPreviousInlineSuggestion","Previous"),commandId:ni.a5.ID,run:()=>this._commandService.executeCommand(ni.a5.ID)});ke.addAction({label:z.N("acceptInlineSuggestion","Accept"),commandId:ni.Lv.id,run:()=>this._commandService.executeCommand(ni.Lv.id)});const Mt=[Dt,Vt];for(const Jt of Mt)Jt.setEnabled(!1);nt.hasMultipleSuggestions().then(Jt=>{for(const jt of Mt)jt.setEnabled(Jt)});for(const[Jt,jt]of pt.getActions())for(const ui of jt)ui instanceof Di.U8&&ke.addAction({label:ui.label,commandId:ui.item.id,run:()=>this._commandService.executeCommand(ui.item.id)});return lt}renderScreenReaderText(Y,_e,ke){var lt,nt;const pt=y.$,Dt=pt("div.hover-row.markdown-hover"),Vt=y.R3(Dt,pt("div.hover-contents")),Mt=ke.add(new ce.$({editor:this._editor},this._modeService,this._openerService)),Jt=ui=>{ke.add(Mt.onDidRenderAsync(()=>{Vt.className="hover-contents code-hover-contents",this._hover.onContentsChanged()}));const vi=z.N("inlineSuggestionFollows","Suggestion:"),Si=ke.add(Mt.render(new ue.W5().appendText(vi).appendCodeblock("text",ui)));Vt.replaceChildren(Si.element)},jt=(nt=(lt=Y.controller.activeModel)===null||lt===void 0?void 0:lt.inlineCompletionsModel)===null||nt===void 0?void 0:nt.ghostText;if(jt){const ui=this._editor.getModel().getLineContent(jt.lineNumber);Jt(jt.renderForScreenReader(ui))}_e.appendChild(Dt)}};st=ai([Pt(2,Ti.H),Pt(3,Di.co),Pt(4,Ni.i6),Pt(5,G.h),Pt(6,fe.v4),Pt(7,hi.F)],st);var gt=i(16925),ht=i(5898),Qe=i(15817),$e=function(Se,Y,_e,ke){var lt=arguments.length,nt=lt<3?Y:ke===null?ke=Object.getOwnPropertyDescriptor(Y,_e):ke,pt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")nt=Reflect.decorate(Se,Y,_e,ke);else for(var Dt=Se.length-1;Dt>=0;Dt--)(pt=Se[Dt])&&(nt=(lt<3?pt(nt):lt>3?pt(Y,_e,nt):pt(Y,_e))||nt);return lt>3&&nt&&Object.defineProperty(Y,_e,nt),nt},Ie=function(Se,Y){return function(_e,ke){Y(_e,ke,Se)}},Oe=function(Se,Y,_e,ke){function lt(nt){return nt instanceof _e?nt:new _e(function(pt){pt(nt)})}return new(_e||(_e=Promise))(function(nt,pt){function Dt(Jt){try{Mt(ke.next(Jt))}catch(jt){pt(jt)}}function Vt(Jt){try{Mt(ke.throw(Jt))}catch(jt){pt(jt)}}function Mt(Jt){Jt.done?nt(Jt.value):lt(Jt.value).then(Dt,Vt)}Mt((ke=ke.apply(Se,Y||[])).next())})};const Ke=y.$;let ct=class extends H.JT{constructor(Y){super(),this._keybindingService=Y,this._hasContent=!1,this.hoverElement=Ke("div.hover-row.status-bar"),this.actionsElement=y.R3(this.hoverElement,Ke("div.actions"))}get hasContent(){return this._hasContent}addAction(Y){const _e=this._keybindingService.lookupKeybinding(Y.commandId),ke=_e?_e.getLabel():null;return this._hasContent=!0,this._register(g.render(this.actionsElement,Y,ke))}append(Y){const _e=y.R3(this.actionsElement,Y);return this._hasContent=!0,_e}};ct=$e([Ie(0,ht.d)],ct);class Nt{constructor(Y,_e){this._participants=_e,this._editor=Y,this._result=[],this._anchor=null}setAnchor(Y){this._anchor=Y,this._result=[]}clearResult(){this._result=[]}static _getLineDecorations(Y,_e){if(_e.type!==1)return[];const ke=Y.getModel(),lt=_e.range.startLineNumber,nt=ke.getLineMaxColumn(lt);return Y.getLineDecorations(lt).filter(pt=>{if(pt.options.isWholeLine)return!0;const Dt=pt.range.startLineNumber===lt?pt.range.startColumn:1,Vt=pt.range.endLineNumber===lt?pt.range.endColumn:nt;return!(Dt>_e.range.startColumn||_e.range.endColumn>Vt)})}computeAsync(Y){return Oe(this,void 0,void 0,function*(){const _e=this._anchor;if(!this._editor.hasModel()||!_e)return Promise.resolve([]);const ke=Nt._getLineDecorations(this._editor,_e),lt=yield Promise.all(this._participants.map(nt=>this._computeAsync(nt,ke,_e,Y)));return(0,s.xH)(lt)})}_computeAsync(Y,_e,ke,lt){return Oe(this,void 0,void 0,function*(){return Y.computeAsync?Y.computeAsync(ke,_e,lt):[]})}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const Y=Nt._getLineDecorations(this._editor,this._anchor);let _e=[];for(const ke of this._participants)_e=_e.concat(ke.computeSync(this._anchor,Y));return(0,s.kX)(_e)}onResult(Y,_e){_e?this._result=Y.concat(this._result):this._result=this._result.concat(Y)}getResult(){return this._result.slice(0)}getResultWithLoadingMessage(){if(this._anchor){for(const Y of this._participants)if(Y.createLoadingMessage){const _e=Y.createLoadingMessage(this._anchor);if(_e)return this._result.slice(0).concat([_e])}}return this._result.slice(0)}}let $t=class Na extends w.${constructor(Y,_e,ke,lt,nt){super(),this._hoverVisibleKey=_e,this._keybindingService=lt,this._contextKeyService=nt,this.allowEditorOverflow=!0,this._participants=[ke.createInstance(te,Y,this),ke.createInstance(Pe,Y,this),ke.createInstance(st,Y,this),ke.createInstance(oi,Y,this)],this._editor=Y,this._isVisible=!1,this._stoleFocus=!1,this._renderDisposable=null,this._hover=this._register(new a),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this.onkeydown(this._hover.containerDomNode,pt=>{pt.equals(9)&&this.hide()}),this._register(this._editor.onDidChangeConfiguration(pt=>{pt.hasChanged(43)&&this._updateFont()})),this._editor.onDidLayoutChange(()=>this.layout()),this.layout(),this._editor.addContentWidget(this),this._showAtPosition=null,this._showAtRange=null,this._stoleFocus=!1,this._messages=[],this._lastAnchor=null,this._computer=new Nt(this._editor,this._participants),this._highlightDecorations=[],this._isChangingDecorations=!1,this._shouldFocus=!1,this._colorPicker=null,this._preferAbove=this._editor.getOption(52).above,this._hoverOperation=new ve(this._computer,pt=>this._withResult(pt,!0),null,pt=>this._withResult(pt,!1),this._editor.getOption(52).delay),this._register(y.mu(this.getDomNode(),y.tw.FOCUS,()=>{this._colorPicker&&this.getDomNode().classList.add("colorpicker-hover")})),this._register(y.mu(this.getDomNode(),y.tw.BLUR,()=>{this.getDomNode().classList.remove("colorpicker-hover")})),this._register(Y.onDidChangeConfiguration(()=>{this._hoverOperation.setHoverTime(this._editor.getOption(52).delay),this._preferAbove=this._editor.getOption(52).above})),this._register(v.RW.onDidChange(()=>{this._isVisible&&this._lastAnchor&&this._messages.length>0&&(this._hover.contentsDomNode.textContent="",this._renderMessages(this._lastAnchor,this._messages))}))}dispose(){this._hoverOperation.cancel(),this._editor.removeContentWidget(this),super.dispose()}getId(){return Na.ID}getDomNode(){return this._hover.containerDomNode}_shouldShowAt(Y){const _e=Y.target.type;if(_e===6)return!0;if(_e===7){const ke=this._editor.getOption(43).typicalHalfwidthCharacterWidth/2,lt=Y.target.detail;if(lt&&!lt.isAfterLines&&typeof lt.horizontalDistanceToText=="number"&&lt.horizontalDistanceToText<ke)return!0}return!1}maybeShowAt(Y){var _e;const ke=[];for(const lt of this._participants)if(typeof lt.suggestHoverAnchor=="function"){const nt=lt.suggestHoverAnchor(Y);nt&&ke.push(nt)}if(this._shouldShowAt(Y)&&Y.target.range){const nt=[...((_e=Y.target.element)===null||_e===void 0?void 0:_e.classList.values())||[]].find(pt=>pt.startsWith("ced-colorBox"))&&Y.target.range.endColumn-Y.target.range.startColumn===1?new P.e(Y.target.range.startLineNumber,Y.target.range.startColumn+1,Y.target.range.endLineNumber,Y.target.range.endColumn+1):Y.target.range;ke.push(new Fe(0,nt))}return ke.length===0?!1:(ke.sort((lt,nt)=>nt.priority-lt.priority),this._startShowingAt(ke[0],0,!1),!0)}_showAt(Y,_e,ke){this._showAtPosition=Y,this._showAtRange=_e,this._hoverVisibleKey.set(!0),this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._editor.layoutContentWidget(this),this._editor.render(),this._stoleFocus=ke,ke&&this._hover.containerDomNode.focus()}getPosition(){if(this._isVisible){let Y=this._preferAbove;return!Y&&this._contextKeyService.getContextKeyValue(Qe._y.Visible.key)&&(Y=!0),{position:this._showAtPosition,range:this._showAtRange,preference:Y?[1,2]:[2,1]}}return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(_e=>this._editor.applyFontInfo(_e))}_updateContents(Y){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(Y),this._updateFont(),this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}layout(){const Y=Math.max(this._editor.getLayoutInfo().height/4,250),{fontSize:_e,lineHeight:ke}=this._editor.getOption(43);this._hover.contentsDomNode.style.fontSize=`${_e}px`,this._hover.contentsDomNode.style.lineHeight=`${ke/_e}`,this._hover.contentsDomNode.style.maxHeight=`${Y}px`,this._hover.contentsDomNode.style.maxWidth=`${Math.max(this._editor.getLayoutInfo().width*.66,500)}px`}onModelDecorationsChanged(){this._isChangingDecorations||this._isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._colorPicker||this._hoverOperation.start(0))}startShowingAtRange(Y,_e,ke){this._startShowingAt(new Fe(0,Y),_e,ke)}_startShowingAt(Y,_e,ke){if(!(this._lastAnchor&&this._lastAnchor.equals(Y))){if(this._hoverOperation.cancel(),this._isVisible)if(!this._showAtPosition||!this._lastAnchor||!Y.canAdoptVisibleHover(this._lastAnchor,this._showAtPosition))this.hide();else{const lt=this._messages.filter(nt=>nt.isValidForHoverAnchor(Y));if(lt.length===0)this.hide();else{if(lt.length===this._messages.length)return;this._renderMessages(Y,lt)}}this._lastAnchor=Y,this._computer.setAnchor(Y),this._shouldFocus=ke,this._hoverOperation.start(_e)}}hide(){this._lastAnchor=null,this._hoverOperation.cancel(),this._isVisible&&(setTimeout(()=>{this._isVisible||this._hoverVisibleKey.set(!1)},0),this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._editor.layoutContentWidget(this),this._stoleFocus&&this._editor.focus()),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,[]),this._isChangingDecorations=!1,this._renderDisposable&&(this._renderDisposable.dispose(),this._renderDisposable=null),this._colorPicker=null}isColorPickerVisible(){return!!this._colorPicker}setColorPicker(Y){this._colorPicker=Y}onContentsChanged(){this._hover.onContentsChanged()}_withResult(Y,_e){this._messages=Y,this._lastAnchor&&this._messages.length>0?this._renderMessages(this._lastAnchor,this._messages):_e&&this.hide()}_renderMessages(Y,_e){this._renderDisposable&&(this._renderDisposable.dispose(),this._renderDisposable=null),this._colorPicker=null;let ke=1073741824,lt=_e[0].range,nt=null,pt=document.createDocumentFragment();const Dt=new H.SL,Vt=new Map;for(const Jt of _e)ke=Math.min(ke,Jt.range.startColumn),lt=P.e.plusRange(lt,Jt.range),Jt.forceShowAtRange&&(nt=Jt.range),Vt.has(Jt.owner)||Vt.set(Jt.owner,[]),Vt.get(Jt.owner).push(Jt);const Mt=Dt.add(new ct(this._keybindingService));for(const[Jt,jt]of Vt)Dt.add(Jt.renderHoverParts(jt,pt,Mt));Mt.hasContent&&pt.appendChild(Mt.hoverElement),this._renderDisposable=Dt,pt.hasChildNodes()&&(nt?this._showAt(nt.getStartPosition(),nt,this._shouldFocus):this._showAt(new C.L(Y.range.startLineNumber,ke),lt,this._shouldFocus),this._updateContents(pt)),this._colorPicker&&this._colorPicker.layout(),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,lt?[{range:lt,options:Na._DECORATION_OPTIONS}]:[]),this._isChangingDecorations=!1}};$t.ID="editor.contrib.modesContentHoverWidget",$t._DECORATION_OPTIONS=f.qx.register({description:"content-hover-highlight",className:"hoverHighlight"}),$t=$e([Ie(2,gt.TG),Ie(3,ht.d),Ie(4,Ni.i6)],$t);const Xt=y.$;class Ci{constructor(Y){this._editor=Y,this._lineNumber=-1,this._result=[]}setLineNumber(Y){this._lineNumber=Y,this._result=[]}clearResult(){this._result=[]}computeSync(){const Y=lt=>({value:lt}),_e=this._editor.getLineDecorations(this._lineNumber),ke=[];if(!_e)return ke;for(const lt of _e){if(!lt.options.glyphMarginClassName)continue;const nt=lt.options.glyphMarginHoverMessage;!nt||(0,ue.CP)(nt)||ke.push(...(0,s._2)(nt).map(Y))}return ke}onResult(Y,_e){this._result=this._result.concat(Y)}getResult(){return this._result}getResultWithLoadingMessage(){return this.getResult()}}class Zt extends w.${constructor(Y,_e,ke=fe.SW){super(),this._renderDisposeables=this._register(new H.SL),this._editor=Y,this._isVisible=!1,this._messages=[],this._lastLineNumber=-1,this._hover=this._register(new a),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new ce.$({editor:this._editor},_e,ke)),this._computer=new Ci(this._editor),this._hoverOperation=new ve(this._computer,lt=>this._withResult(lt),void 0,lt=>this._withResult(lt),300),this._register(this._editor.onDidChangeConfiguration(lt=>{lt.hasChanged(43)&&this._updateFont()})),this._editor.addOverlayWidget(this)}dispose(){this._hoverOperation.cancel(),this._editor.removeOverlayWidget(this),super.dispose()}getId(){return Zt.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_showAt(Y){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const _e=this._editor.getLayoutInfo(),ke=this._editor.getTopForLineNumber(Y),lt=this._editor.getScrollTop(),nt=this._editor.getOption(58),pt=this._hover.containerDomNode.clientHeight,Dt=ke-lt-(pt-nt)/2;this._hover.containerDomNode.style.left=`${_e.glyphMarginLeft+_e.glyphMarginWidth}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(Dt),0)}px`}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(_e=>this._editor.applyFontInfo(_e))}_updateContents(Y){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(Y),this._updateFont()}onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._hoverOperation.start(0))}startShowingAt(Y){this._lastLineNumber!==Y&&(this._hoverOperation.cancel(),this.hide(),this._lastLineNumber=Y,this._computer.setLineNumber(Y),this._hoverOperation.start(0))}hide(){this._lastLineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(Y){this._messages=Y,this._messages.length>0?this._renderMessages(this._lastLineNumber,this._messages):this.hide()}_renderMessages(Y,_e){this._renderDisposeables.clear();const ke=document.createDocumentFragment();for(const lt of _e){const nt=Xt("div.hover-row.markdown-hover"),pt=y.R3(nt,Xt("div.hover-contents")),Dt=this._renderDisposeables.add(this._markdownRenderer.render(lt.value));pt.appendChild(Dt.element),ke.appendChild(nt)}this._updateContents(ke),this._showAt(Y)}}Zt.ID="editor.contrib.modesGlyphHoverWidget";var mi=function(Se,Y,_e,ke){var lt=arguments.length,nt=lt<3?Y:ke===null?ke=Object.getOwnPropertyDescriptor(Y,_e):ke,pt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")nt=Reflect.decorate(Se,Y,_e,ke);else for(var Dt=Se.length-1;Dt>=0;Dt--)(pt=Se[Dt])&&(nt=(lt<3?pt(nt):lt>3?pt(Y,_e,nt):pt(Y,_e))||nt);return lt>3&&nt&&Object.defineProperty(Y,_e,nt),nt},mt=function(Se,Y){return function(_e,ke){Y(_e,ke,Se)}};let ut=class Il{constructor(Y,_e,ke,lt,nt){this._editor=Y,this._instantiationService=_e,this._openerService=ke,this._modeService=lt,this._toUnhook=new H.SL,this._isMouseDown=!1,this._hoverClicked=!1,this._contentWidget=null,this._glyphWidget=null,this._hookEvents(),this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration(pt=>{pt.hasChanged(52)&&(this._unhookEvents(),this._hookEvents())}),this._hoverVisibleKey=D.u.hoverVisible.bindTo(nt)}static get(Y){return Y.getContribution(Il.ID)}_hookEvents(){const Y=()=>this._hideWidgets(),_e=this._editor.getOption(52);this._isHoverEnabled=_e.enabled,this._isHoverSticky=_e.sticky,this._isHoverEnabled?(this._toUnhook.add(this._editor.onMouseDown(ke=>this._onEditorMouseDown(ke))),this._toUnhook.add(this._editor.onMouseUp(ke=>this._onEditorMouseUp(ke))),this._toUnhook.add(this._editor.onMouseMove(ke=>this._onEditorMouseMove(ke))),this._toUnhook.add(this._editor.onKeyDown(ke=>this._onKeyDown(ke))),this._toUnhook.add(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged()))):(this._toUnhook.add(this._editor.onMouseMove(ke=>this._onEditorMouseMove(ke))),this._toUnhook.add(this._editor.onKeyDown(ke=>this._onKeyDown(ke)))),this._toUnhook.add(this._editor.onMouseLeave(Y)),this._toUnhook.add(this._editor.onDidChangeModel(Y)),this._toUnhook.add(this._editor.onDidScrollChange(ke=>this._onEditorScrollChanged(ke)))}_unhookEvents(){this._toUnhook.clear()}_onModelDecorationsChanged(){var Y,_e;(Y=this._contentWidget)===null||Y===void 0||Y.onModelDecorationsChanged(),(_e=this._glyphWidget)===null||_e===void 0||_e.onModelDecorationsChanged()}_onEditorScrollChanged(Y){(Y.scrollTopChanged||Y.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(Y){this._isMouseDown=!0;const _e=Y.target.type;if(_e===9&&Y.target.detail===$t.ID){this._hoverClicked=!0;return}_e===12&&Y.target.detail===Zt.ID||(_e!==12&&Y.target.detail!==Zt.ID&&(this._hoverClicked=!1),this._hideWidgets())}_onEditorMouseUp(Y){this._isMouseDown=!1}_onEditorMouseMove(Y){var _e,ke,lt,nt,pt;let Dt=Y.target.type;if(this._isMouseDown&&this._hoverClicked||this._isHoverSticky&&Dt===9&&Y.target.detail===$t.ID||this._isHoverSticky&&!(!((ke=(_e=Y.event.browserEvent.view)===null||_e===void 0?void 0:_e.getSelection())===null||ke===void 0)&&ke.isCollapsed)||!this._isHoverSticky&&Dt===9&&Y.target.detail===$t.ID&&(!((lt=this._contentWidget)===null||lt===void 0)&&lt.isColorPickerVisible())||this._isHoverSticky&&Dt===12&&Y.target.detail===Zt.ID)return;if(!this._isHoverEnabled){this._hideWidgets();return}if(this._getOrCreateContentWidget().maybeShowAt(Y)){(nt=this._glyphWidget)===null||nt===void 0||nt.hide();return}if(Dt===2&&Y.target.position){(pt=this._contentWidget)===null||pt===void 0||pt.hide(),this._glyphWidget||(this._glyphWidget=new Zt(this._editor,this._modeService,this._openerService)),this._glyphWidget.startShowingAt(Y.target.position.lineNumber);return}this._hideWidgets()}_onKeyDown(Y){Y.keyCode!==5&&Y.keyCode!==6&&Y.keyCode!==57&&Y.keyCode!==4&&this._hideWidgets()}_hideWidgets(){var Y,_e,ke;this._isMouseDown&&this._hoverClicked&&(!((Y=this._contentWidget)===null||Y===void 0)&&Y.isColorPickerVisible())||(this._hoverClicked=!1,(_e=this._glyphWidget)===null||_e===void 0||_e.hide(),(ke=this._contentWidget)===null||ke===void 0||ke.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance($t,this._editor,this._hoverVisibleKey)),this._contentWidget}isColorPickerVisible(){var Y;return((Y=this._contentWidget)===null||Y===void 0?void 0:Y.isColorPickerVisible())||!1}showContentHover(Y,_e,ke){this._getOrCreateContentWidget().startShowingAtRange(Y,_e,ke)}dispose(){var Y,_e;this._unhookEvents(),this._toUnhook.dispose(),this._didChangeConfigurationHandler.dispose(),(Y=this._glyphWidget)===null||Y===void 0||Y.dispose(),(_e=this._contentWidget)===null||_e===void 0||_e.dispose()}};ut.ID="editor.contrib.hover",ut=mi([mt(1,gt.TG),mt(2,fe.v4),mt(3,G.h),mt(4,Ni.i6)],ut);class qe extends O.R6{constructor(){super({id:"editor.action.showHover",label:z.N({key:"showHover",comment:["Label for action that will trigger the showing of a hover in the editor.","This allows for users to show the hover without using the mouse."]},"Show Hover"),alias:"Show Hover",precondition:void 0,kbOpts:{kbExpr:D.u.editorTextFocus,primary:(0,h.gx)(2089,2087),weight:100}})}run(Y,_e){if(!_e.hasModel())return;let ke=ut.get(_e);if(!ke)return;const lt=_e.getPosition(),nt=new P.e(lt.lineNumber,lt.column,lt.lineNumber,lt.column),pt=_e.getOption(2)===2;ke.showContentHover(nt,1,pt)}}class de extends O.R6{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:z.N({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0})}run(Y,_e){let ke=ut.get(_e);if(!ke)return;const lt=_e.getPosition();if(!lt)return;const nt=new P.e(lt.lineNumber,lt.column,lt.lineNumber,lt.column);I.GotoDefinitionAtPositionEditorContribution.get(_e).startFindDefinitionFromCursor(lt).then(()=>{ke.showContentHover(nt,1,!0)})}}(0,O._K)(ut.ID,ut),(0,O.Qr)(qe),(0,O.Qr)(de),(0,se.Ic)((Se,Y)=>{const _e=Se.getColor(oe.pt);_e&&Y.addRule(`.monaco-editor .hoverHighlight { background-color: ${_e}; }`);const ke=Se.getColor(oe.yJ);ke&&Y.addRule(`.monaco-editor .monaco-hover { background-color: ${ke}; }`);const lt=Se.getColor(oe.CN);lt&&(Y.addRule(`.monaco-editor .monaco-hover { border: 1px solid ${lt}; }`),Y.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${lt.transparent(.5)}; }`),Y.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${lt.transparent(.5)}; }`),Y.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${lt.transparent(.5)}; }`));const nt=Se.getColor(oe.ur);nt&&Y.addRule(`.monaco-editor .monaco-hover a { color: ${nt}; }`);const pt=Se.getColor(oe.sg);pt&&Y.addRule(`.monaco-editor .monaco-hover a:hover { color: ${pt}; }`);const Dt=Se.getColor(oe.Sb);Dt&&Y.addRule(`.monaco-editor .monaco-hover { color: ${Dt}; }`);const Vt=Se.getColor(oe.Lo);Vt&&Y.addRule(`.monaco-editor .monaco-hover .hover-row .actions { background-color: ${Vt}; }`);const Mt=Se.getColor(oe.Sw);Mt&&Y.addRule(`.monaco-editor .monaco-hover code { background-color: ${Mt}; }`)})},63478:function(xt,Te,i){"use strict";i.r(Te);var h=i(50431),H=i(79881),O=i(39528),P=i(4514),D=i(17373),G=i(17551),I=i(68987),y=i(31276),E=i(52645),p=i(30297),a=i(13268),g=i(49055);class w{constructor(m,c,b){this._editRange=m,this._originalSelection=c,this._text=b}getEditOperations(m,c){c.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(m,c){const L=c.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new G.Y(L.endLineNumber,Math.min(this._originalSelection.positionColumn,L.endColumn),L.endLineNumber,Math.min(this._originalSelection.positionColumn,L.endColumn)):new G.Y(L.endLineNumber,L.endColumn-this._text.length,L.endLineNumber,L.endColumn)}}var s=function(l,m,c,b){var L=arguments.length,T=L<3?m:b===null?b=Object.getOwnPropertyDescriptor(m,c):b,M;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")T=Reflect.decorate(l,m,c,b);else for(var z=l.length-1;z>=0;z--)(M=l[z])&&(T=(L<3?M(T):L>3?M(m,c,T):M(m,c))||T);return L>3&&T&&Object.defineProperty(m,c,T),T},C=function(l,m){return function(c,b){m(c,b,l)}};let f=class Ia{constructor(m,c){this.decorationIds=[],this.editor=m,this.editorWorkerService=c}static get(m){return m.getContribution(Ia.ID)}dispose(){}run(m,c){this.currentRequest&&this.currentRequest.cancel();const b=this.editor.getSelection(),L=this.editor.getModel();if(!L||!b)return;let T=b;if(T.startLineNumber!==T.endLineNumber)return;const M=new O.yy(this.editor,5),z=L.uri;return this.editorWorkerService.canNavigateValueSet(z)?(this.currentRequest=(0,h.PG)(oe=>this.editorWorkerService.navigateValueSet(z,T,c)),this.currentRequest.then(oe=>{if(!oe||!oe.range||!oe.value||!M.validate(this.editor))return;let se=D.e.lift(oe.range),re=oe.range,De=oe.value.length-(T.endColumn-T.startColumn);re={startLineNumber:re.startLineNumber,startColumn:re.startColumn,endLineNumber:re.endLineNumber,endColumn:re.startColumn+oe.value.length},De>1&&(T=new G.Y(T.startLineNumber,T.startColumn,T.endLineNumber,T.endColumn+De-1));const J=new w(se,T,oe.value);this.editor.pushUndoStop(),this.editor.executeCommand(m,J),this.editor.pushUndoStop(),this.decorationIds=this.editor.deltaDecorations(this.decorationIds,[{range:re,options:Ia.DECORATION}]),this.decorationRemover&&this.decorationRemover.cancel(),this.decorationRemover=(0,h.Vs)(350),this.decorationRemover.then(()=>this.decorationIds=this.editor.deltaDecorations(this.decorationIds,[])).catch(H.dL)}).catch(H.dL)):Promise.resolve(void 0)}};f.ID="editor.contrib.inPlaceReplaceController",f.DECORATION=y.qx.register({description:"in-place-replace",className:"valueSetReplacement"}),f=s([C(1,E.p)],f);class v extends P.R6{constructor(){super({id:"editor.action.inPlaceReplace.up",label:a.N("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:I.u.writable,kbOpts:{kbExpr:I.u.editorTextFocus,primary:3154,weight:100}})}run(m,c){const b=f.get(c);return b?b.run(this.id,!0):Promise.resolve(void 0)}}class r extends P.R6{constructor(){super({id:"editor.action.inPlaceReplace.down",label:a.N("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:I.u.writable,kbOpts:{kbExpr:I.u.editorTextFocus,primary:3156,weight:100}})}run(m,c){const b=f.get(c);return b?b.run(this.id,!1):Promise.resolve(void 0)}}(0,P._K)(f.ID,f),(0,P.Qr)(v),(0,P.Qr)(r),(0,g.Ic)((l,m)=>{const c=l.getColor(p.Dl);c&&m.addRule(`.monaco-editor.vs .valueSetReplacement { outline: solid 2px ${c}; }`)})},44765:function(xt,Te,i){"use strict";i.d(Te,{J:function(){return H},Y:function(){return h}});function h(O,P){let D=0;for(let G=0;G<O.length;G++)O.charAt(G)===" "?D+=P:D++;return D}function H(O,P,D){O=O<0?0:O;let G="";if(!D){let I=Math.floor(O/P);O=O%P;for(let y=0;y<I;y++)G+=" "}for(let I=0;I<O;I++)G+=" ";return G}},67259:function(xt,Te,i){"use strict";i.d(Te,{Kp:function(){return Nt},L8:function(){return mi},a5:function(){return mt},Lv:function(){return Zt}});var h=i(69323),H=i(82983),O=i(4514),P=i(46446),D=i(68987);const G="editor.action.inlineSuggest.commit";var I=i(4348),y=i(72146),E=i(27347),p=i(50431),a=i(96283),g=i(79881),w=i(46343),s=i(44124),C=i(17373);class f{constructor(de,Se,Y=0){this.lineNumber=de,this.parts=Se,this.additionalReservedLineCount=Y}renderForScreenReader(de){if(this.parts.length===0)return"";const Se=this.parts[this.parts.length-1],Y=de.substr(0,Se.column-1);return r(Y,this.parts.map(ke=>({range:{startLineNumber:1,endLineNumber:1,startColumn:ke.column,endColumn:ke.column},text:ke.lines.join(`
`)}))).substring(this.parts[0].column-1)}}class v{constructor(de){this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let Se=0;Se<de.length;Se++)de.charAt(Se)===`
`&&this.lineStartOffsetByLineIdx.push(Se+1)}getOffset(de){return this.lineStartOffsetByLineIdx[de.lineNumber-1]+de.column-1}}function r(qe,de){const Se=new v(qe),Y=de.map(_e=>{const ke=C.e.lift(_e.range);return{startOffset:Se.getOffset(ke.getStartPosition()),endOffset:Se.getOffset(ke.getEndPosition()),text:_e.text}});Y.sort((_e,ke)=>ke.startOffset-_e.startOffset);for(const _e of Y)qe=qe.substring(0,_e.startOffset)+_e.text+qe.substring(_e.endOffset);return qe}class l{constructor(de,Se,Y){this.column=de,this.lines=Se,this.preview=Y}}class m extends h.JT{constructor(de){super(),this.editor=de,this._expanded=void 0,this.onDidChangeEmitter=new I.Q5,this.onDidChange=this.onDidChangeEmitter.event,this._register(de.onDidChangeConfiguration(Se=>{Se.hasChanged(105)&&this._expanded===void 0&&this.onDidChangeEmitter.fire()}))}setExpanded(de){this._expanded=!0,this.onDidChangeEmitter.fire()}}var c=i(35884),b=i(23068);function L(qe,de){return qe===de?!0:!qe||!de?!1:qe.range.equalsRange(de.range)&&qe.text===de.text&&qe.command===de.command}function T(qe,de,Se,Y,_e=0){if(qe.range.startLineNumber!==qe.range.endLineNumber)return;const ke=de.getLineContent(qe.range.startLineNumber),lt=H.V8(ke).length;if(qe.range.startColumn-1<=lt){const jt=H.V8(qe.text).length,ui=ke.substring(qe.range.startColumn-1,lt),vi=C.e.fromPositions(qe.range.getStartPosition().delta(0,ui.length),qe.range.getEndPosition()),Si=qe.text.startsWith(ui)?qe.text.substring(ui.length):qe.text.substring(jt);qe={range:vi,text:Si,command:qe.command}}const pt=de.getValueInRange(qe.range),Dt=z(pt,qe.text);if(!Dt)return;const Vt=qe.range.startLineNumber,Mt=new Array;if(Se==="prefix"){const jt=Dt.filter(ui=>ui.originalLength===0);if(jt.length>1||jt.length===1&&jt[0].originalStart!==pt.length)return}const Jt=qe.text.length-_e;for(const jt of Dt){const ui=qe.range.startColumn+jt.originalStart+jt.originalLength;if(Se==="subwordSmart"&&Y&&Y.lineNumber===qe.range.startLineNumber&&ui<Y.column||jt.originalLength>0)return;if(jt.modifiedLength===0)continue;const vi=jt.modifiedStart+jt.modifiedLength,Si=Math.max(jt.modifiedStart,Math.min(vi,Jt)),Oi=qe.text.substring(jt.modifiedStart,Si),Ri=qe.text.substring(Si,Math.max(jt.modifiedStart,vi));if(Oi.length>0){const zi=H.uq(Oi);Mt.push(new l(ui,zi,!1))}if(Ri.length>0){const zi=H.uq(Ri);Mt.push(new l(ui,zi,!0))}}return new f(Vt,Mt,0)}let M;function z(qe,de){if((M==null?void 0:M.originalValue)===qe&&(M==null?void 0:M.newValue)===de)return M==null?void 0:M.changes;{const Se=oe(qe,de);return M={originalValue:qe,newValue:de,changes:Se},Se}}function oe(qe,de){if(qe.length>5e3||de.length>5e3)return;function Se(pt){let Dt=0;for(let Vt=0,Mt=pt.length;Vt<Mt;Vt++){const Jt=pt.charCodeAt(Vt);Jt>Dt&&(Dt=Jt)}return Dt}const Y=Math.max(Se(qe),Se(de));function _e(pt){if(pt<0)throw new Error("unexpected");return Y+pt+1}function ke(pt){let Dt=0,Vt=0;const Mt=new Int32Array(pt.length);for(let Jt=0,jt=pt.length;Jt<jt;Jt++){const ui=Vt*100+Dt;pt[Jt]==="("?(Mt[Jt]=_e(2*ui),Dt++):pt[Jt]===")"?(Mt[Jt]=_e(2*ui+1),Dt===1&&Vt++,Dt=Math.max(Dt-1,0)):Mt[Jt]=pt.charCodeAt(Jt)}return Mt}const lt=ke(qe),nt=ke(de);return new b.Hs({getElements:()=>lt},{getElements:()=>nt}).ComputeDiff(!1).changes}var se=function(qe,de,Se,Y){var _e=arguments.length,ke=_e<3?de:Y===null?Y=Object.getOwnPropertyDescriptor(de,Se):Y,lt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ke=Reflect.decorate(qe,de,Se,Y);else for(var nt=qe.length-1;nt>=0;nt--)(lt=qe[nt])&&(ke=(_e<3?lt(ke):_e>3?lt(de,Se,ke):lt(de,Se))||ke);return _e>3&&ke&&Object.defineProperty(de,Se,ke),ke},re=function(qe,de){return function(Se,Y){de(Se,Y,qe)}},De=function(qe,de,Se,Y){function _e(ke){return ke instanceof Se?ke:new Se(function(lt){lt(ke)})}return new(Se||(Se=Promise))(function(ke,lt){function nt(Vt){try{Dt(Y.next(Vt))}catch(Mt){lt(Mt)}}function pt(Vt){try{Dt(Y.throw(Vt))}catch(Mt){lt(Mt)}}function Dt(Vt){Vt.done?ke(Vt.value):_e(Vt.value).then(nt,pt)}Dt((Y=Y.apply(qe,de||[])).next())})};let J=class extends h.JT{constructor(de,Se,Y){super(),this.editor=de,this.cache=Se,this.commandService=Y,this.onDidChangeEmitter=new I.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.completionSession=this._register(new h.XK),this.active=!1,this.disposed=!1,this._register(Y.onDidExecuteCommand(_e=>{new Set([O.n_.id,O.kz.id,w.CoreEditingCommands.Tab.id,w.CoreEditingCommands.DeleteLeft.id,w.CoreEditingCommands.DeleteRight.id,G,"acceptSelectedSuggestion"]).has(_e.commandId)&&de.hasTextFocus()&&this.handleUserInput()})),this._register(this.editor.onDidType(_e=>{this.handleUserInput()})),this._register(this.editor.onDidChangeCursorPosition(_e=>{this.session&&!this.session.isValid&&this.hide()})),this._register((0,h.OF)(()=>{this.disposed=!0})),this._register(this.editor.onDidBlurEditorWidget(()=>{this.hide()}))}handleUserInput(){this.session&&!this.session.isValid&&this.hide(),setTimeout(()=>{this.disposed||this.startSessionIfTriggered()},0)}get session(){return this.completionSession.value}get ghostText(){var de;return(de=this.session)===null||de===void 0?void 0:de.ghostText}get minReservedLineCount(){return this.session?this.session.minReservedLineCount:0}setExpanded(de){var Se;(Se=this.session)===null||Se===void 0||Se.setExpanded(de)}setActive(de){var Se;this.active=de,de&&((Se=this.session)===null||Se===void 0||Se.scheduleAutomaticUpdate())}startSessionIfTriggered(){this.editor.getOption(54).enabled&&(this.session&&this.session.isValid||this.trigger(E.bw.Automatic))}trigger(de){if(this.completionSession.value){de===E.bw.Explicit&&this.completionSession.value.ensureUpdateWithExplicitContext();return}this.completionSession.value=new Z(this.editor,this.editor.getPosition(),()=>this.active,this.commandService,this.cache,de),this.completionSession.value.takeOwnership(this.completionSession.value.onDidChange(()=>{this.onDidChangeEmitter.fire()}))}hide(){this.completionSession.clear(),this.onDidChangeEmitter.fire()}commitCurrentSuggestion(){var de;(de=this.session)===null||de===void 0||de.commitCurrentCompletion()}showNext(){var de;(de=this.session)===null||de===void 0||de.showNextInlineCompletion()}showPrevious(){var de;(de=this.session)===null||de===void 0||de.showPreviousInlineCompletion()}hasMultipleInlineCompletions(){var de;return De(this,void 0,void 0,function*(){const Se=yield(de=this.session)===null||de===void 0?void 0:de.hasMultipleInlineCompletions();return Se!==void 0?Se:!1})}};J=se([re(2,c.H)],J);class Z extends m{constructor(de,Se,Y,_e,ke,lt){super(de),this.triggerPosition=Se,this.shouldUpdate=Y,this.commandService=_e,this.cache=ke,this.initialTriggerKind=lt,this.minReservedLineCount=0,this.updateOperation=this._register(new h.XK),this.updateSoon=this._register(new p.pY(()=>{let pt=this.initialTriggerKind;return this.initialTriggerKind=E.bw.Automatic,this.update(pt)},50)),this.currentlySelectedCompletionId=void 0;let nt;this._register(this.onDidChange(()=>{const pt=this.currentCompletion;if(pt&&pt.sourceInlineCompletion!==nt){nt=pt.sourceInlineCompletion;const Dt=pt.sourceProvider;Dt.handleItemDidShow&&Dt.handleItemDidShow(pt.sourceInlineCompletions,nt)}})),this._register((0,h.OF)(()=>{this.cache.clear()})),this._register(this.editor.onDidChangeCursorPosition(pt=>{this.cache.value&&this.onDidChangeEmitter.fire()})),this._register(this.editor.onDidChangeModelContent(pt=>{this.scheduleAutomaticUpdate()})),this._register(E.zu.onDidChange(()=>{this.updateSoon.schedule()})),this.scheduleAutomaticUpdate()}fixAndGetIndexOfCurrentSelection(){if(!this.currentlySelectedCompletionId||!this.cache.value||this.cache.value.completions.length===0)return 0;const de=this.cache.value.completions.findIndex(Se=>Se.semanticId===this.currentlySelectedCompletionId);return de===-1?(this.currentlySelectedCompletionId=void 0,0):de}get currentCachedCompletion(){if(this.cache.value)return this.cache.value.completions[this.fixAndGetIndexOfCurrentSelection()]}showNextInlineCompletion(){var de;return De(this,void 0,void 0,function*(){yield this.ensureUpdateWithExplicitContext();const Se=((de=this.cache.value)===null||de===void 0?void 0:de.completions)||[];if(Se.length>0){const Y=(this.fixAndGetIndexOfCurrentSelection()+1)%Se.length;this.currentlySelectedCompletionId=Se[Y].semanticId}else this.currentlySelectedCompletionId=void 0;this.onDidChangeEmitter.fire()})}showPreviousInlineCompletion(){var de;return De(this,void 0,void 0,function*(){yield this.ensureUpdateWithExplicitContext();const Se=((de=this.cache.value)===null||de===void 0?void 0:de.completions)||[];if(Se.length>0){const Y=(this.fixAndGetIndexOfCurrentSelection()+Se.length-1)%Se.length;this.currentlySelectedCompletionId=Se[Y].semanticId}else this.currentlySelectedCompletionId=void 0;this.onDidChangeEmitter.fire()})}ensureUpdateWithExplicitContext(){var de;return De(this,void 0,void 0,function*(){this.updateOperation.value?this.updateOperation.value.triggerKind===E.bw.Explicit?yield this.updateOperation.value.promise:yield this.update(E.bw.Explicit):((de=this.cache.value)===null||de===void 0?void 0:de.triggerKind)!==E.bw.Explicit&&(yield this.update(E.bw.Explicit))})}hasMultipleInlineCompletions(){var de;return De(this,void 0,void 0,function*(){return yield this.ensureUpdateWithExplicitContext(),(((de=this.cache.value)===null||de===void 0?void 0:de.completions.length)||0)>1})}get ghostText(){const de=this.currentCompletion,Se=this.editor.getOptions().get(54).mode;return de?T(de,this.editor.getModel(),Se,this.editor.getPosition()):void 0}get currentCompletion(){const de=this.currentCachedCompletion;if(de)return de.toLiveInlineCompletion()}get isValid(){return this.editor.getPosition().lineNumber===this.triggerPosition.lineNumber}scheduleAutomaticUpdate(){this.updateOperation.clear(),this.updateSoon.schedule()}update(de){return De(this,void 0,void 0,function*(){if(!this.shouldUpdate())return;const Se=this.editor.getPosition(),Y=(0,p.PG)(ke=>De(this,void 0,void 0,function*(){let lt;try{lt=yield R(Se,this.editor.getModel(),{triggerKind:de,selectedSuggestionInfo:void 0},ke)}catch(nt){(0,g.dL)(nt);return}ke.isCancellationRequested||(this.cache.setValue(this.editor,lt,de),this.onDidChangeEmitter.fire())})),_e=new Q(Y,de);this.updateOperation.value=_e,yield Y,this.updateOperation.value===_e&&this.updateOperation.clear()})}takeOwnership(de){this._register(de)}commitCurrentCompletion(){if(!this.ghostText)return;const de=this.currentCompletion;de&&this.commit(de)}commit(de){const Se=this.cache.clearAndLeak();this.editor.executeEdits("inlineSuggestion.accept",[s.h.replaceMove(de.range,de.text)]),de.command?this.commandService.executeCommand(de.command.id,...de.command.arguments||[]).finally(()=>{Se==null||Se.dispose()}).then(void 0,g.Cp):Se==null||Se.dispose(),this.onDidChangeEmitter.fire()}}class Q{constructor(de,Se){this.promise=de,this.triggerKind=Se}dispose(){this.promise.cancel()}}class le extends h.JT{constructor(de,Se,Y,_e){super(),this.triggerKind=_e;const ke=de.deltaDecorations([],Se.items.map(lt=>({range:lt.range,options:{description:"inline-completion-tracking-range"}})));this._register((0,h.OF)(()=>{de.deltaDecorations(ke,[])})),this.completions=Se.items.map((lt,nt)=>new xe(lt,ke[nt])),this._register(de.onDidChangeModelContent(()=>{let lt=!1;const nt=de.getModel();for(const pt of this.completions){const Dt=nt.getDecorationRange(pt.decorationId);if(!Dt){(0,g.dL)(new Error("Decoration has no range"));continue}pt.synchronizedRange.equalsRange(Dt)||(lt=!0,pt.synchronizedRange=Dt)}lt&&Y()})),this._register(Se)}}class xe{constructor(de,Se){this.inlineCompletion=de,this.decorationId=Se,this.semanticId=JSON.stringify({text:this.inlineCompletion.text,startLine:this.inlineCompletion.range.startLineNumber,startColumn:this.inlineCompletion.range.startColumn,command:this.inlineCompletion.command}),this.synchronizedRange=de.range}toLiveInlineCompletion(){return{text:this.inlineCompletion.text,range:this.synchronizedRange,command:this.inlineCompletion.command,sourceProvider:this.inlineCompletion.sourceProvider,sourceInlineCompletions:this.inlineCompletion.sourceInlineCompletions,sourceInlineCompletion:this.inlineCompletion.sourceInlineCompletion}}}function j(qe,de){const Se=de.getWordAtPosition(qe),Y=de.getLineMaxColumn(qe.lineNumber);return Se?new C.e(qe.lineNumber,Se.startColumn,qe.lineNumber,Y):C.e.fromPositions(qe,qe.with(void 0,Y))}function R(qe,de,Se,Y=a.T.None){return De(this,void 0,void 0,function*(){const _e=j(qe,de),ke=E.zu.all(de),lt=yield Promise.all(ke.map(pt=>De(this,void 0,void 0,function*(){const Dt=yield pt.provideInlineCompletions(de,qe,Se,Y);return{completions:Dt,provider:pt,dispose:()=>{Dt&&pt.freeInlineCompletions(Dt)}}}))),nt=new Map;for(const pt of lt){const Dt=pt.completions;if(Dt)for(const Vt of Dt.items.map(Mt=>({text:Mt.text,range:Mt.range?C.e.lift(Mt.range):_e,command:Mt.command,sourceProvider:pt.provider,sourceInlineCompletions:Dt,sourceInlineCompletion:Mt})))Vt.range.startLineNumber===Vt.range.endLineNumber&&nt.set(JSON.stringify({text:Vt.text,range:Vt.range}),Vt)}return{items:[...nt.values()],dispose:()=>{for(const pt of lt)pt.dispose()}}})}function V(qe,de){if(!de)return de;const Se=qe.getValueInRange(de.range),Y=(0,H.Mh)(Se,de.text),_e=qe.getOffsetAt(de.range.getStartPosition())+Y,ke=qe.getPositionAt(_e),lt=Se.substr(Y),nt=(0,H.P1)(lt,de.text),pt=qe.getPositionAt(Math.max(_e,qe.getOffsetAt(de.range.getEndPosition())-nt));return{range:C.e.fromPositions(ke,pt),text:de.text.substr(Y,de.text.length-Y-nt)}}var K=i(85314),ie=i(54266),te=i(50714);function ge(qe,de){return{object:qe,dispose:()=>de==null?void 0:de.dispose()}}function ye(qe,de){return(Se,Y)=>de(qe(Se),qe(Y))}function ve(){return(qe,de)=>qe-de}function Fe(qe,de){let Se;for(const Y of qe)(Se===void 0||de(Y,Se)>0)&&(Se=Y);return Se}class we extends h.JT{constructor(de,Se){super(),this.editor=de,this.suggestControllerPreselector=Se,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentInlineCompletion=void 0,this.onDidChangeEmitter=new I.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.setInactiveDelayed=this._register(new p.pY(()=>{this.isSuggestWidgetVisible||this._isActive&&(this._isActive=!1,this.onDidChangeEmitter.fire())},100)),this._register(de.onKeyDown(_e=>{_e.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(de.onKeyUp(_e=>{_e.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const Y=te.SuggestController.get(this.editor);if(Y){this._register(Y.registerSelector({priority:100,select:(lt,nt,pt)=>{const Dt=this.editor.getModel(),Vt=V(Dt,this.suggestControllerPreselector());if(!Vt)return-1;const Mt=y.L.lift(nt),Jt=pt.map((ui,vi)=>{const Si=ce(Y,Mt,ui,this.isShiftKeyPressed),Oi=V(Dt,Si);if(!Oi)return;const Ri=ue(Vt.range,Oi.range)&&Vt.text.startsWith(Oi.text);return{index:vi,valid:Ri,prefixLength:Oi.text.length,suggestItem:ui}}).filter(ui=>ui&&ui.valid),jt=Fe(Jt,ye(ui=>ui.prefixLength,ve()));return jt?jt.index:-1}}));let _e=!1;const ke=()=>{_e||(_e=!0,this._register(Y.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(Y.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.setInactiveDelayed.schedule(),this.update(this._isActive)})),this._register(Y.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(I.ju.once(Y.model.onDidTrigger)(lt=>{ke()}))}this.update(this._isActive)}get state(){if(this._isActive)return{selectedItemAsInlineCompletion:this._currentInlineCompletion}}update(de){const Se=this.getInlineCompletion();let Y=!1;L(this._currentInlineCompletion,Se)||(this._currentInlineCompletion=Se,Y=!0),this._isActive!==de&&(this._isActive=de,Y=!0),Y&&this.onDidChangeEmitter.fire()}getInlineCompletion(){const de=te.SuggestController.get(this.editor);if(!de||!this.isSuggestWidgetVisible)return;const Se=de.widget.value.getFocusedItem();if(Se)return ce(de,this.editor.getPosition(),Se.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const de=te.SuggestController.get(this.editor);de&&de.stopForceRenderingAbove()}forceRenderingAbove(){const de=te.SuggestController.get(this.editor);de&&de.forceRenderingAbove()}}function ue(qe,de){return qe.startLineNumber===de.startLineNumber&&qe.startColumn===de.startColumn&&(qe.endLineNumber<de.endLineNumber||qe.endLineNumber===de.endLineNumber&&qe.endColumn<=de.endColumn)}function ce(qe,de,Se,Y){if(Array.isArray(Se.completion.additionalTextEdits)&&Se.completion.additionalTextEdits.length>0)return{text:"",range:C.e.fromPositions(de,de)};let{insertText:_e}=Se.completion;if(Se.completion.insertTextRules&4){const lt=new K.Yj().parse(_e),nt=qe.editor.getModel();if(lt.children.length>100)return;ie.l.adjustWhitespace(nt,de,lt,!0,!0),_e=lt.toString()}const ke=qe.getOverwriteInfo(Se,Y);return{text:_e,range:C.e.fromPositions(de.delta(0,-ke.overwriteBefore),de.delta(0,Math.max(ke.overwriteAfter,0)))}}var Ve=function(qe,de,Se,Y){function _e(ke){return ke instanceof Se?ke:new Se(function(lt){lt(ke)})}return new(Se||(Se=Promise))(function(ke,lt){function nt(Vt){try{Dt(Y.next(Vt))}catch(Mt){lt(Mt)}}function pt(Vt){try{Dt(Y.throw(Vt))}catch(Mt){lt(Mt)}}function Dt(Vt){Vt.done?ke(Vt.value):_e(Vt.value).then(nt,pt)}Dt((Y=Y.apply(qe,de||[])).next())})};class We extends m{constructor(de,Se){super(de),this.cache=Se,this.suggestionInlineCompletionSource=this._register(new we(this.editor,()=>{var Y,_e;return(_e=(Y=this.cache.value)===null||Y===void 0?void 0:Y.completions[0])===null||_e===void 0?void 0:_e.toLiveInlineCompletion()})),this.updateOperation=this._register(new h.XK),this.updateCacheSoon=this._register(new p.pY(()=>this.updateCache(),50)),this.minReservedLineCount=0,this._register(this.suggestionInlineCompletionSource.onDidChange(()=>{this.updateCacheSoon.schedule(),this.suggestionInlineCompletionSource.state||(this.minReservedLineCount=0);const _e=this.ghostText;_e&&(this.minReservedLineCount=Math.max(this.minReservedLineCount,ae(_e.parts.map(ke=>ke.lines.length-1)))),this.minReservedLineCount>=1&&this.isSuggestionPreviewEnabled()?this.suggestionInlineCompletionSource.forceRenderingAbove():this.suggestionInlineCompletionSource.stopForceRenderingAbove(),this.onDidChangeEmitter.fire()})),this._register(this.cache.onDidChange(()=>{this.onDidChangeEmitter.fire()})),this._register(this.editor.onDidChangeCursorPosition(Y=>{this.isSuggestionPreviewEnabled()&&(this.minReservedLineCount=0,this.updateCacheSoon.schedule(),this.onDidChangeEmitter.fire())})),this._register((0,h.OF)(()=>this.suggestionInlineCompletionSource.stopForceRenderingAbove()))}get isActive(){return this.suggestionInlineCompletionSource.state!==void 0}isSuggestionPreviewEnabled(){return this.editor.getOption(105).preview}updateCache(){return Ve(this,void 0,void 0,function*(){const de=this.suggestionInlineCompletionSource.state;if(!de||!de.selectedItemAsInlineCompletion)return;const Se={text:de.selectedItemAsInlineCompletion.text,range:de.selectedItemAsInlineCompletion.range},Y=this.editor.getPosition(),_e=(0,p.PG)(lt=>Ve(this,void 0,void 0,function*(){let nt;try{nt=yield R(Y,this.editor.getModel(),{triggerKind:E.bw.Automatic,selectedSuggestionInfo:Se},lt)}catch(pt){(0,g.dL)(pt);return}lt.isCancellationRequested||(this.cache.setValue(this.editor,nt,E.bw.Automatic),this.onDidChangeEmitter.fire())})),ke=new Q(_e,E.bw.Automatic);this.updateOperation.value=ke,yield _e,this.updateOperation.value===ke&&this.updateOperation.clear()})}get ghostText(){var de,Se;if(!this.isSuggestionPreviewEnabled())return;const Y=this.suggestionInlineCompletionSource.state,_e=V(this.editor.getModel(),Y==null?void 0:Y.selectedItemAsInlineCompletion),ke=V(this.editor.getModel(),(Se=(de=this.cache.value)===null||de===void 0?void 0:de.completions[0])===null||Se===void 0?void 0:Se.toLiveInlineCompletion()),lt=ke&&_e&&ke.text.startsWith(_e.text)&&ke.range.equalsRange(_e.range)?ke:_e||ke,nt=_e?((lt==null?void 0:lt.text.length)||0)-_e.text.length:0;return(Vt=>{const Mt=this.editor.getOptions().get(105).previewMode;return Vt?T(Vt,this.editor.getModel(),Mt,this.editor.getPosition(),nt)||new f(Vt.range.endLineNumber,[],this.minReservedLineCount):void 0})(lt)}}function ae(qe){return qe.reduce((de,Se)=>de+Se,0)}var fe=function(qe,de,Se,Y){var _e=arguments.length,ke=_e<3?de:Y===null?Y=Object.getOwnPropertyDescriptor(de,Se):Y,lt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ke=Reflect.decorate(qe,de,Se,Y);else for(var nt=qe.length-1;nt>=0;nt--)(lt=qe[nt])&&(ke=(_e<3?lt(ke):_e>3?lt(de,Se,ke):lt(de,Se))||ke);return _e>3&&ke&&Object.defineProperty(de,Se,ke),ke},ne=function(qe,de){return function(Se,Y){de(Se,Y,qe)}},W=function(qe,de,Se,Y){function _e(ke){return ke instanceof Se?ke:new Se(function(lt){lt(ke)})}return new(Se||(Se=Promise))(function(ke,lt){function nt(Vt){try{Dt(Y.next(Vt))}catch(Mt){lt(Mt)}}function pt(Vt){try{Dt(Y.throw(Vt))}catch(Mt){lt(Mt)}}function Dt(Vt){Vt.done?ke(Vt.value):_e(Vt.value).then(nt,pt)}Dt((Y=Y.apply(qe,de||[])).next())})};class $ extends h.JT{constructor(){super(...arguments),this.onDidChangeEmitter=new I.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.hasCachedGhostText=!1,this.currentModelRef=this._register(new h.XK)}get targetModel(){var de;return(de=this.currentModelRef.value)===null||de===void 0?void 0:de.object}setTargetModel(de){var Se;((Se=this.currentModelRef.value)===null||Se===void 0?void 0:Se.object)!==de&&(this.currentModelRef.clear(),this.currentModelRef.value=de?ge(de,de.onDidChange(()=>{this.hasCachedGhostText=!1,this.onDidChangeEmitter.fire()})):void 0,this.hasCachedGhostText=!1,this.onDidChangeEmitter.fire())}get ghostText(){var de,Se;return this.hasCachedGhostText||(this.cachedGhostText=(Se=(de=this.currentModelRef.value)===null||de===void 0?void 0:de.object)===null||Se===void 0?void 0:Se.ghostText,this.hasCachedGhostText=!0),this.cachedGhostText}setExpanded(de){var Se;(Se=this.targetModel)===null||Se===void 0||Se.setExpanded(de)}get minReservedLineCount(){return this.targetModel?this.targetModel.minReservedLineCount:0}}let ee=class extends ${constructor(de,Se){super(),this.editor=de,this.commandService=Se,this.sharedCache=this._register(new he),this.suggestWidgetAdapterModel=this._register(new We(this.editor,this.sharedCache)),this.inlineCompletionsModel=this._register(new J(this.editor,this.sharedCache,this.commandService)),this._register(this.suggestWidgetAdapterModel.onDidChange(()=>{this.updateModel()})),this.updateModel()}get activeInlineCompletionsModel(){if(this.targetModel===this.inlineCompletionsModel)return this.inlineCompletionsModel}updateModel(){this.setTargetModel(this.suggestWidgetAdapterModel.isActive?this.suggestWidgetAdapterModel:this.inlineCompletionsModel),this.inlineCompletionsModel.setActive(this.targetModel===this.inlineCompletionsModel)}shouldShowHoverAt(de){var Se;const Y=(Se=this.activeInlineCompletionsModel)===null||Se===void 0?void 0:Se.ghostText;return Y?Y.parts.some(_e=>de.containsPosition(new y.L(Y.lineNumber,_e.column))):!1}triggerInlineCompletion(){var de;(de=this.activeInlineCompletionsModel)===null||de===void 0||de.trigger(E.bw.Explicit)}commitInlineCompletion(){var de;(de=this.activeInlineCompletionsModel)===null||de===void 0||de.commitCurrentSuggestion()}hideInlineCompletion(){var de;(de=this.activeInlineCompletionsModel)===null||de===void 0||de.hide()}showNextInlineCompletion(){var de;(de=this.activeInlineCompletionsModel)===null||de===void 0||de.showNext()}showPreviousInlineCompletion(){var de;(de=this.activeInlineCompletionsModel)===null||de===void 0||de.showPrevious()}hasMultipleInlineCompletions(){var de;return W(this,void 0,void 0,function*(){const Se=yield(de=this.activeInlineCompletionsModel)===null||de===void 0?void 0:de.hasMultipleInlineCompletions();return Se!==void 0?Se:!1})}};ee=fe([ne(1,c.H)],ee);class he extends h.JT{constructor(){super(...arguments),this.onDidChangeEmitter=new I.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.cache=this._register(new h.XK)}get value(){return this.cache.value}setValue(de,Se,Y){this.cache.value=new le(de,Se,()=>this.onDidChangeEmitter.fire(),Y)}clearAndLeak(){return this.cache.clearAndLeak()}clear(){this.cache.clear()}}var Pe=i(69454),Ye=i(51737),it=i(84571),rt=i(70827),vt=i(97199),Ft=i(69025),Ht=i(35521),ze=i(48772),Xe=i(64992),Ze=i(30297),Ae=i(81112),He=i(28750),Et=i(90689),Wt=i(16925),oi=i(49055),ni=function(qe,de,Se,Y){var _e=arguments.length,ke=_e<3?de:Y===null?Y=Object.getOwnPropertyDescriptor(de,Se):Y,lt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ke=Reflect.decorate(qe,de,Se,Y);else for(var nt=qe.length-1;nt>=0;nt--)(lt=qe[nt])&&(ke=(_e<3?lt(ke):_e>3?lt(de,Se,ke):lt(de,Se))||ke);return _e>3&&ke&&Object.defineProperty(de,Se,ke),ke},hi=function(qe,de){return function(Se,Y){de(Se,Y,qe)}},Di;const Ti=(Di=window.trustedTypes)===null||Di===void 0?void 0:Di.createPolicy("editorGhostText",{createHTML:qe=>qe});let Ni=class extends h.JT{constructor(de,Se,Y,_e){super(),this.editor=de,this.model=Se,this.instantiationService=Y,this.modeService=_e,this.disposed=!1,this.partsWidget=this._register(this.instantiationService.createInstance(ai,this.editor)),this.additionalLinesWidget=this._register(new Gt(this.editor,this.modeService.languageIdCodec)),this.viewMoreContentWidget=void 0,this._register(this.editor.onDidChangeConfiguration(ke=>{(ke.hasChanged(29)||ke.hasChanged(104)||ke.hasChanged(87)||ke.hasChanged(82)||ke.hasChanged(44)||ke.hasChanged(43)||ke.hasChanged(58))&&this.update()})),this._register((0,h.OF)(()=>{var ke;this.disposed=!0,this.update(),(ke=this.viewMoreContentWidget)===null||ke===void 0||ke.dispose(),this.viewMoreContentWidget=void 0})),this._register(Se.onDidChange(()=>{this.update()})),this.update()}shouldShowHoverAtViewZone(de){return this.additionalLinesWidget.viewZoneId===de}update(){var de;const Se=this.model.ghostText;if(!this.editor.hasModel()||!Se||this.disposed){this.partsWidget.clear(),this.additionalLinesWidget.clear();return}const Y=new Array,_e=new Array;function ke(Dt,Vt){if(_e.length>0){const Mt=_e[_e.length-1];Vt&&Mt.decorations.push(new Ae.Kp(Mt.content.length+1,Mt.content.length+1+Dt[0].length,Vt,0)),Mt.content+=Dt[0],Dt=Dt.slice(1)}for(const Mt of Dt)_e.push({content:Mt,decorations:Vt?[new Ae.Kp(1,Mt.length+1,Vt,0)]:[]})}const lt=this.editor.getModel().getLineContent(Se.lineNumber);this.editor.getModel().getLineTokens(Se.lineNumber);let nt,pt=0;for(const Dt of Se.parts){let Vt=Dt.lines;nt===void 0?(Y.push({column:Dt.column,text:Vt[0],preview:Dt.preview}),Vt=Vt.slice(1)):ke([lt.substring(pt,Dt.column-1)],void 0),Vt.length>0&&(ke(Vt,"ghost-text"),nt===void 0&&Dt.column<=lt.length&&(nt=Dt.column)),pt=Dt.column-1}nt!==void 0&&ke([lt.substring(pt)],void 0),this.partsWidget.setParts(Se.lineNumber,Y,nt!==void 0?{column:nt,length:lt.length+1-nt}:void 0),this.additionalLinesWidget.updateLines(Se.lineNumber,_e,Se.additionalReservedLineCount),Se.parts.some(Dt=>Dt.lines.length<0)?this.viewMoreContentWidget=this.renderViewMoreLines(new y.L(Se.lineNumber,this.editor.getModel().getLineMaxColumn(Se.lineNumber)),"",0):((de=this.viewMoreContentWidget)===null||de===void 0||de.dispose(),this.viewMoreContentWidget=void 0)}renderViewMoreLines(de,Se,Y){const _e=this.editor.getOption(43),ke=document.createElement("div");ke.className="suggest-preview-additional-widget",it.V.applyFontInfoSlow(ke,_e);const lt=document.createElement("span");lt.className="content-spacer",lt.append(Se),ke.append(lt);const nt=document.createElement("span");nt.className="content-newline suggest-preview-text",nt.append("\u23CE "),ke.append(nt);const pt=new h.SL,Dt=document.createElement("div");return Dt.className="button suggest-preview-text",Dt.append(`+${Y} lines\u2026`),pt.add(Pe.mu(Dt,"mousedown",Vt=>{var Mt;(Mt=this.model)===null||Mt===void 0||Mt.setExpanded(!0),Vt.preventDefault(),this.editor.focus()})),ke.append(Dt),new Qe(this.editor,de,ke,pt)}};Ni=ni([hi(2,Wt.TG),hi(3,Xe.h)],Ni);let ai=class{constructor(de,Se,Y,_e){this.editor=de,this.codeEditorService=Se,this.themeService=Y,this.contextKeyService=_e,this.decorationIds=[],this.disposableStore=new h.SL}dispose(){this.clear(),this.disposableStore.dispose()}clear(){this.editor.deltaDecorations(this.decorationIds,[]),this.disposableStore.clear()}setParts(de,Se,Y){this.disposableStore.clear();const _e=this.themeService.getColorTheme(),ke=_e.getColor(Ze.N5);let lt,nt;ke&&(lt=String(ke.rgba.a),nt=Ye.Il.Format.CSS.format(Pt(ke)));const pt=_e.getColor(Ze.x3);let Dt;pt&&(Dt=`2px dashed ${pt}`);const Vt=this.editor.getModel();if(!Vt)return;const{tabSize:Mt}=Vt.getOptions(),Jt=Vt.getLineContent(de)||"";let jt=0,ui="";const vi=new Array;Y&&vi.push({range:C.e.fromPositions(new y.L(de,Y.column),new y.L(de,Y.column+Y.length)),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});const Si=this.contextKeyService.getContextKeyValue("config.editor.useInjectedText"),Oi=Si===void 0?!0:!!Si;this.decorationIds=this.editor.deltaDecorations(this.decorationIds,Se.map(Ri=>{ui+=Jt.substring(jt,Ri.column-1),jt=Ri.column-1;const zi=Oi?Ri.text:this.renderSingleLineText(Ri.text,ui,Mt,!1),hn=this.disposableStore.add(ht(this.codeEditorService,"ghost-text","0-ghost-text-",{after:{contentText:zi,opacity:lt,color:nt,border:Dt,fontWeight:Ri.preview?"bold":"normal"}}));return{range:C.e.fromPositions(new y.L(de,Ri.column)),options:Oi?{description:"ghost-text",after:{content:zi,inlineClassName:Ri.preview?"ghost-text-decoration-preview":"ghost-text-decoration"},showIfCollapsed:!0}:Object.assign({},hn.resolve())}}).concat(vi))}renderSingleLineText(de,Se,Y,_e){const ke=Se+de,lt=Ft.io.visibleColumnsByColumns(ke,Y);let nt="",pt=Se.length+1;for(const Dt of de){if(Dt===" "){const Vt=lt[pt+1]-lt[pt];if(_e){nt+="\u2192";for(let Mt=1;Mt<Vt;Mt++)nt+="\xA0"}else for(let Mt=0;Mt<Vt;Mt++)nt+="\xA0"}else Dt===" "?_e?nt+="\xB7":nt+="\xA0":nt+=Dt;pt+=1}return nt}};ai=ni([hi(1,rt.$),hi(2,oi.XE),hi(3,Et.i6)],ai);function Pt(qe){const{r:de,b:Se,g:Y}=qe.rgba;return new Ye.Il(new Ye.VS(de,Y,Se,255))}class Gt{constructor(de,Se){this.editor=de,this.languageIdCodec=Se,this._viewZoneId=void 0}get viewZoneId(){return this._viewZoneId}dispose(){this.clear()}clear(){this.editor.changeViewZones(de=>{this._viewZoneId&&(de.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(de,Se,Y){const _e=this.editor.getModel();if(!_e)return;const{tabSize:ke}=_e.getOptions();this.editor.changeViewZones(lt=>{this._viewZoneId&&(lt.removeZone(this._viewZoneId),this._viewZoneId=void 0);const nt=Math.max(Se.length,Y);if(nt>0){const pt=document.createElement("div");st(pt,ke,Se,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=lt.addZone({afterLineNumber:de,heightInLines:nt,domNode:pt})}})}}function st(qe,de,Se,Y,_e){const ke=Y.get(29),lt=Y.get(104),nt="none",pt=Y.get(82),Dt=Y.get(44),Vt=Y.get(43),Mt=Y.get(58),Jt=(0,ze.l$)(1e4);Jt.appendASCIIString('<div class="suggest-preview-text">');for(let vi=0,Si=Se.length;vi<Si;vi++){const Oi=Se[vi],Ri=Oi.content;Jt.appendASCIIString('<div class="view-line'),Jt.appendASCIIString('" style="top:'),Jt.appendASCIIString(String(vi*Mt)),Jt.appendASCIIString('px;width:1000000px;">');const zi=H.$i(Ri),hn=H.Ut(Ri),bn=Ht.A.createEmpty(Ri,_e);(0,He.d1)(new He.IJ(Vt.isMonospace&&!ke,Vt.canUseHalfwidthRightwardsArrow,Ri,!1,zi,hn,0,bn,Oi.decorations,de,0,Vt.spaceWidth,Vt.middotWidth,Vt.wsmiddotWidth,lt,nt,pt,Dt!==vt.n0.OFF,null),Jt),Jt.appendASCIIString("</div>")}Jt.appendASCIIString("</div>"),it.V.applyFontInfoSlow(qe,Vt);const jt=Jt.build(),ui=Ti?Ti.createHTML(jt):jt;qe.innerHTML=ui}let gt=0;function ht(qe,de,Se,Y){const _e=Se+gt++;return qe.registerDecorationType(de,_e,Y),{dispose(){qe.removeDecorationType(_e)},resolve(){return qe.resolveDecorationOptions(_e,!0)}}}class Qe extends h.JT{constructor(de,Se,Y,_e){super(),this.editor=de,this.position=Se,this.domNode=Y,this.allowEditorOverflow=!1,this.suppressMouseDown=!1,this._register(_e),this._register((0,h.OF)(()=>{this.editor.removeContentWidget(this)})),this.editor.addContentWidget(this)}getId(){return"editor.widget.viewMoreLinesWidget"}getDomNode(){return this.domNode}getPosition(){return{position:this.position,preference:[0]}}}(0,oi.Ic)((qe,de)=>{const Se=qe.getColor(Ze.N5);if(Se){const _e=String(Se.rgba.a),ke=Ye.Il.Format.CSS.format(Pt(Se));de.addRule(`.monaco-editor .ghost-text-decoration { opacity: ${_e} !important; color: ${ke} !important; }`),de.addRule(`.monaco-editor .ghost-text-decoration-preview { color: ${Se.toString()} !important; }`),de.addRule(`.monaco-editor .suggest-preview-text .ghost-text { opacity: ${_e} !important; color: ${ke} !important; }`)}const Y=qe.getColor(Ze.x3);Y&&(de.addRule(`.monaco-editor .suggest-preview-text .ghost-text { border: 1px solid ${Y}; }`),de.addRule(`.monaco-editor .ghost-text-decoration { border: 1px solid ${Y}; }`),de.addRule(`.monaco-editor .ghost-text-decoration-preview { border: 1px solid ${Y}; }`))});var $e=i(13268),Ie=i(86414),Oe=function(qe,de,Se,Y){var _e=arguments.length,ke=_e<3?de:Y===null?Y=Object.getOwnPropertyDescriptor(de,Se):Y,lt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ke=Reflect.decorate(qe,de,Se,Y);else for(var nt=qe.length-1;nt>=0;nt--)(lt=qe[nt])&&(ke=(_e<3?lt(ke):_e>3?lt(de,Se,ke):lt(de,Se))||ke);return _e>3&&ke&&Object.defineProperty(de,Se,ke),ke},Ke=function(qe,de){return function(Se,Y){de(Se,Y,qe)}},ct=function(qe,de,Se,Y){function _e(ke){return ke instanceof Se?ke:new Se(function(lt){lt(ke)})}return new(Se||(Se=Promise))(function(ke,lt){function nt(Vt){try{Dt(Y.next(Vt))}catch(Mt){lt(Mt)}}function pt(Vt){try{Dt(Y.throw(Vt))}catch(Mt){lt(Mt)}}function Dt(Vt){Vt.done?ke(Vt.value):_e(Vt.value).then(nt,pt)}Dt((Y=Y.apply(qe,de||[])).next())})};let Nt=class xl extends h.JT{constructor(de,Se){super(),this.editor=de,this.instantiationService=Se,this.triggeredExplicitly=!1,this.activeController=this._register(new h.XK),this._register(this.editor.onDidChangeModel(()=>{this.updateModelController()})),this._register(this.editor.onDidChangeConfiguration(Y=>{Y.hasChanged(105)&&this.updateModelController(),Y.hasChanged(54)&&this.updateModelController()})),this.updateModelController()}static get(de){return de.getContribution(xl.ID)}get activeModel(){var de;return(de=this.activeController.value)===null||de===void 0?void 0:de.model}updateModelController(){const de=this.editor.getOption(105),Se=this.editor.getOption(54);this.activeController.value=void 0,this.activeController.value=this.editor.hasModel()&&(de.preview||Se.enabled||this.triggeredExplicitly)?this.instantiationService.createInstance(Xt,this.editor):void 0}shouldShowHoverAt(de){var Se;return((Se=this.activeModel)===null||Se===void 0?void 0:Se.shouldShowHoverAt(de))||!1}shouldShowHoverAtViewZone(de){var Se,Y;return((Y=(Se=this.activeController.value)===null||Se===void 0?void 0:Se.widget)===null||Y===void 0?void 0:Y.shouldShowHoverAtViewZone(de))||!1}trigger(){var de;this.triggeredExplicitly=!0,this.activeController.value||this.updateModelController(),(de=this.activeModel)===null||de===void 0||de.triggerInlineCompletion()}commit(){var de;(de=this.activeModel)===null||de===void 0||de.commitInlineCompletion()}hide(){var de;(de=this.activeModel)===null||de===void 0||de.hideInlineCompletion()}showNextInlineCompletion(){var de;(de=this.activeModel)===null||de===void 0||de.showNextInlineCompletion()}showPreviousInlineCompletion(){var de;(de=this.activeModel)===null||de===void 0||de.showPreviousInlineCompletion()}hasMultipleInlineCompletions(){var de;return ct(this,void 0,void 0,function*(){const Se=yield(de=this.activeModel)===null||de===void 0?void 0:de.hasMultipleInlineCompletions();return Se!==void 0?Se:!1})}};Nt.inlineSuggestionVisible=new Et.uy("inlineSuggestionVisible",!1,$e.N("inlineSuggestionVisible","Whether an inline suggestion is visible")),Nt.inlineSuggestionHasIndentation=new Et.uy("inlineSuggestionHasIndentation",!1,$e.N("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),Nt.inlineSuggestionHasIndentationLessThanTabSize=new Et.uy("inlineSuggestionHasIndentationLessThanTabSize",!0,$e.N("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),Nt.ID="editor.contrib.ghostTextController",Nt=Oe([Ke(1,Wt.TG)],Nt);class $t{constructor(de){this.contextKeyService=de,this.inlineCompletionVisible=Nt.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=Nt.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=Nt.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService)}}let Xt=class extends h.JT{constructor(de,Se,Y){super(),this.editor=de,this.instantiationService=Se,this.contextKeyService=Y,this.contextKeys=new $t(this.contextKeyService),this.model=this._register(this.instantiationService.createInstance(ee,this.editor)),this.widget=this._register(this.instantiationService.createInstance(Ni,this.editor,this.model)),this._register((0,h.OF)(()=>{this.contextKeys.inlineCompletionVisible.set(!1),this.contextKeys.inlineCompletionSuggestsIndentation.set(!1),this.contextKeys.inlineCompletionSuggestsIndentationLessThanTabSize.set(!0)})),this._register(this.model.onDidChange(()=>{this.updateContextKeys()})),this.updateContextKeys()}updateContextKeys(){var de;this.contextKeys.inlineCompletionVisible.set(((de=this.model.activeInlineCompletionsModel)===null||de===void 0?void 0:de.ghostText)!==void 0);let Se=!1,Y=!0;const _e=this.model.inlineCompletionsModel.ghostText;if(this.model.activeInlineCompletionsModel&&_e&&_e.parts.length>0){const{column:ke,lines:lt}=_e.parts[0],nt=lt[0],pt=this.editor.getModel().getLineIndentColumn(_e.lineNumber);if(ke<=pt){let Vt=(0,H.LC)(nt);Vt===-1&&(Vt=nt.length-1),Se=Vt>0;const Mt=this.editor.getModel().getOptions().tabSize;Y=P.i.visibleColumnFromColumn(nt,Vt+1,Mt)<Mt}}this.contextKeys.inlineCompletionSuggestsIndentation.set(Se),this.contextKeys.inlineCompletionSuggestsIndentationLessThanTabSize.set(Y)}};Xt=Oe([Ke(1,Wt.TG),Ke(2,Et.i6)],Xt);const Ci=O._l.bindToContribution(Nt.get),Zt=new Ci({id:G,precondition:Nt.inlineSuggestionVisible,handler(qe){qe.commit(),qe.editor.focus()}});(0,O.fK)(Zt),Ie.W.registerKeybindingRule({primary:2,weight:200,id:Zt.id,when:Et.Ao.and(Zt.precondition,D.u.tabMovesFocus.toNegated(),Nt.inlineSuggestionHasIndentationLessThanTabSize)}),(0,O.fK)(new Ci({id:"editor.action.inlineSuggest.hide",precondition:Nt.inlineSuggestionVisible,kbOpts:{weight:100,primary:9},handler(qe){qe.hide()}}));class mi extends O.R6{constructor(){super({id:mi.ID,label:$e.N("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:Et.Ao.and(D.u.writable,Nt.inlineSuggestionVisible),kbOpts:{weight:100,primary:601}})}run(de,Se){return ct(this,void 0,void 0,function*(){const Y=Nt.get(Se);Y&&(Y.showNextInlineCompletion(),Se.focus())})}}mi.ID="editor.action.inlineSuggest.showNext";class mt extends O.R6{constructor(){super({id:mt.ID,label:$e.N("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:Et.Ao.and(D.u.writable,Nt.inlineSuggestionVisible),kbOpts:{weight:100,primary:599}})}run(de,Se){return ct(this,void 0,void 0,function*(){const Y=Nt.get(Se);Y&&(Y.showPreviousInlineCompletion(),Se.focus())})}}mt.ID="editor.action.inlineSuggest.showPrevious";class ut extends O.R6{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:$e.N("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:D.u.writable})}run(de,Se){return ct(this,void 0,void 0,function*(){const Y=Nt.get(Se);Y&&Y.trigger()})}}(0,O._K)(Nt.ID,Nt),(0,O.Qr)(ut),(0,O.Qr)(mi),(0,O.Qr)(mt)},26313:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{AbstractCaseAction:function(){return ue},AbstractDeleteAllToBoundaryAction:function(){return ge},AbstractSortLinesAction:function(){return Z},DeleteAllLeftAction:function(){return ye},DeleteAllRightAction:function(){return ve},DeleteDuplicateLinesAction:function(){return xe},DeleteLinesAction:function(){return R},DuplicateSelectionAction:function(){return se},IndentLinesAction:function(){return V},InsertLineAfterAction:function(){return te},InsertLineBeforeAction:function(){return ie},JoinLinesAction:function(){return Fe},LowerCaseAction:function(){return Ve},SnakeCaseAction:function(){return fe},SortLinesAscendingAction:function(){return Q},SortLinesDescendingAction:function(){return le},TitleCaseAction:function(){return ae},TransposeAction:function(){return we},TrimTrailingWhitespaceAction:function(){return j},UpperCaseAction:function(){return ce}});var h=i(52411),H=i(46343),O=i(4514),P=i(78529),D=i(82983),G=i(44124),I=i(17373);class y{constructor(W,$){this._selection=W,this._cursors=$,this._selectionId=null}getEditOperations(W,$){let ee=E(W,this._cursors);for(let he=0,Pe=ee.length;he<Pe;he++){let Ye=ee[he];$.addEditOperation(Ye.range,Ye.text)}this._selectionId=$.trackSelection(this._selection)}computeCursorState(W,$){return $.getTrackedSelection(this._selectionId)}}function E(ne,W){W.sort((Ye,it)=>Ye.lineNumber===it.lineNumber?Ye.column-it.column:Ye.lineNumber-it.lineNumber);for(let Ye=W.length-2;Ye>=0;Ye--)W[Ye].lineNumber===W[Ye+1].lineNumber&&W.splice(Ye,1);let $=[],ee=0,he=0,Pe=W.length;for(let Ye=1,it=ne.getLineCount();Ye<=it;Ye++){let rt=ne.getLineContent(Ye),vt=rt.length+1,Ft=0;if(he<Pe&&W[he].lineNumber===Ye&&(Ft=W[he].column,he++,Ft===vt)||rt.length===0)continue;let Ht=D.ow(rt),ze=0;if(Ht===-1)ze=1;else if(Ht!==rt.length-1)ze=Ht+2;else continue;ze=Math.max(Ft,ze),$[ee++]=G.h.delete(new I.e(Ye,ze,Ye,vt))}return $}var p=i(74502),a=i(72146),g=i(17551),w=i(68987);class s{constructor(W,$,ee){this._selection=W,this._isCopyingDown=$,this._noop=ee||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(W,$){let ee=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,ee.startLineNumber<ee.endLineNumber&&ee.endColumn===1&&(this._endLineNumberDelta=1,ee=ee.setEndPosition(ee.endLineNumber-1,W.getLineMaxColumn(ee.endLineNumber-1)));let he=[];for(let Ye=ee.startLineNumber;Ye<=ee.endLineNumber;Ye++)he.push(W.getLineContent(Ye));const Pe=he.join(`
`);Pe===""&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._noop?$.addEditOperation(new I.e(ee.endLineNumber,W.getLineMaxColumn(ee.endLineNumber),ee.endLineNumber+1,1),ee.endLineNumber===W.getLineCount()?"":`
`):this._isCopyingDown?$.addEditOperation(new I.e(ee.startLineNumber,1,ee.startLineNumber,1),Pe+`
`):$.addEditOperation(new I.e(ee.endLineNumber,W.getLineMaxColumn(ee.endLineNumber),ee.endLineNumber,W.getLineMaxColumn(ee.endLineNumber)),`
`+Pe),this._selectionId=$.trackSelection(ee),this._selectionDirection=this._selection.getDirection()}computeCursorState(W,$){let ee=$.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let he=ee.startLineNumber,Pe=ee.startColumn,Ye=ee.endLineNumber,it=ee.endColumn;this._startLineNumberDelta!==0&&(he=he+this._startLineNumberDelta,Pe=1),this._endLineNumberDelta!==0&&(Ye=Ye+this._endLineNumberDelta,it=1),ee=g.Y.createWithDirection(he,Pe,Ye,it,this._selectionDirection)}return ee}}var C=i(91167),f=i(21462),v=i(73468),r=i(44765);class l{constructor(W,$,ee){this._selection=W,this._isMovingDown=$,this._autoIndent=ee,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(W,$){let ee=W.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===ee){this._selectionId=$.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=$.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let he=this._selection;he.startLineNumber<he.endLineNumber&&he.endColumn===1&&(this._moveEndPositionDown=!0,he=he.setEndPosition(he.endLineNumber-1,W.getLineMaxColumn(he.endLineNumber-1)));const{tabSize:Pe,indentSize:Ye,insertSpaces:it}=W.getOptions();let rt=this.buildIndentConverter(Pe,Ye,it),vt={getLineTokens:Ft=>W.getLineTokens(Ft),getLanguageId:()=>W.getLanguageId(),getLanguageIdAtPosition:(Ft,Ht)=>W.getLanguageIdAtPosition(Ft,Ht),getLineContent:null};if(he.startLineNumber===he.endLineNumber&&W.getLineMaxColumn(he.startLineNumber)===1){let Ft=he.startLineNumber,Ht=this._isMovingDown?Ft+1:Ft-1;W.getLineMaxColumn(Ht)===1?$.addEditOperation(new I.e(1,1,1,1),null):($.addEditOperation(new I.e(Ft,1,Ft,1),W.getLineContent(Ht)),$.addEditOperation(new I.e(Ht,1,Ht,W.getLineMaxColumn(Ht)),null)),he=new g.Y(Ht,1,Ht,1)}else{let Ft,Ht;if(this._isMovingDown){Ft=he.endLineNumber+1,Ht=W.getLineContent(Ft),$.addEditOperation(new I.e(Ft-1,W.getLineMaxColumn(Ft-1),Ft,W.getLineMaxColumn(Ft)),null);let ze=Ht;if(this.shouldAutoIndent(W,he)){let Xe=this.matchEnterRule(W,rt,Pe,Ft,he.startLineNumber-1);if(Xe!==null){let Ae=D.V8(W.getLineContent(Ft)),He=Xe+r.Y(Ae,Pe);ze=r.J(He,Pe,it)+this.trimLeft(Ht)}else{vt.getLineContent=He=>He===he.startLineNumber?W.getLineContent(Ft):W.getLineContent(He);let Ae=v.zu.getGoodIndentForLine(this._autoIndent,vt,W.getLanguageIdAtPosition(Ft,1),he.startLineNumber,rt);if(Ae!==null){let He=D.V8(W.getLineContent(Ft)),Et=r.Y(Ae,Pe),Wt=r.Y(He,Pe);Et!==Wt&&(ze=r.J(Et,Pe,it)+this.trimLeft(Ht))}}$.addEditOperation(new I.e(he.startLineNumber,1,he.startLineNumber,1),ze+`
`);let Ze=this.matchEnterRuleMovingDown(W,rt,Pe,he.startLineNumber,Ft,ze);if(Ze!==null)Ze!==0&&this.getIndentEditsOfMovingBlock(W,$,he,Pe,it,Ze);else{vt.getLineContent=He=>He===he.startLineNumber?ze:He>=he.startLineNumber+1&&He<=he.endLineNumber+1?W.getLineContent(He-1):W.getLineContent(He);let Ae=v.zu.getGoodIndentForLine(this._autoIndent,vt,W.getLanguageIdAtPosition(Ft,1),he.startLineNumber+1,rt);if(Ae!==null){const He=D.V8(W.getLineContent(he.startLineNumber)),Et=r.Y(Ae,Pe),Wt=r.Y(He,Pe);if(Et!==Wt){const oi=Et-Wt;this.getIndentEditsOfMovingBlock(W,$,he,Pe,it,oi)}}}}else $.addEditOperation(new I.e(he.startLineNumber,1,he.startLineNumber,1),ze+`
`)}else if(Ft=he.startLineNumber-1,Ht=W.getLineContent(Ft),$.addEditOperation(new I.e(Ft,1,Ft+1,1),null),$.addEditOperation(new I.e(he.endLineNumber,W.getLineMaxColumn(he.endLineNumber),he.endLineNumber,W.getLineMaxColumn(he.endLineNumber)),`
`+Ht),this.shouldAutoIndent(W,he)){vt.getLineContent=Xe=>Xe===Ft?W.getLineContent(he.startLineNumber):W.getLineContent(Xe);let ze=this.matchEnterRule(W,rt,Pe,he.startLineNumber,he.startLineNumber-2);if(ze!==null)ze!==0&&this.getIndentEditsOfMovingBlock(W,$,he,Pe,it,ze);else{let Xe=v.zu.getGoodIndentForLine(this._autoIndent,vt,W.getLanguageIdAtPosition(he.startLineNumber,1),Ft,rt);if(Xe!==null){let Ze=D.V8(W.getLineContent(he.startLineNumber)),Ae=r.Y(Xe,Pe),He=r.Y(Ze,Pe);if(Ae!==He){let Et=Ae-He;this.getIndentEditsOfMovingBlock(W,$,he,Pe,it,Et)}}}}}this._selectionId=$.trackSelection(he)}buildIndentConverter(W,$,ee){return{shiftIndent:he=>C.U.shiftIndent(he,he.length+1,W,$,ee),unshiftIndent:he=>C.U.unshiftIndent(he,he.length+1,W,$,ee)}}parseEnterResult(W,$,ee,he,Pe){if(Pe){let Ye=Pe.indentation;Pe.indentAction===f.wU.None||Pe.indentAction===f.wU.Indent?Ye=Pe.indentation+Pe.appendText:Pe.indentAction===f.wU.IndentOutdent?Ye=Pe.indentation:Pe.indentAction===f.wU.Outdent&&(Ye=$.unshiftIndent(Pe.indentation)+Pe.appendText);let it=W.getLineContent(he);if(this.trimLeft(it).indexOf(this.trimLeft(Ye))>=0){let rt=D.V8(W.getLineContent(he)),vt=D.V8(Ye),Ft=v.zu.getIndentMetadata(W,he);Ft!==null&&Ft&2&&(vt=$.unshiftIndent(vt));let Ht=r.Y(vt,ee),ze=r.Y(rt,ee);return Ht-ze}}return null}matchEnterRuleMovingDown(W,$,ee,he,Pe,Ye){if(D.ow(Ye)>=0){let it=W.getLineMaxColumn(Pe),rt=v.zu.getEnterAction(this._autoIndent,W,new I.e(Pe,it,Pe,it));return this.parseEnterResult(W,$,ee,he,rt)}else{let it=he-1;for(;it>=1;){let Ft=W.getLineContent(it);if(D.ow(Ft)>=0)break;it--}if(it<1||he>W.getLineCount())return null;let rt=W.getLineMaxColumn(it),vt=v.zu.getEnterAction(this._autoIndent,W,new I.e(it,rt,it,rt));return this.parseEnterResult(W,$,ee,he,vt)}}matchEnterRule(W,$,ee,he,Pe,Ye){let it=Pe;for(;it>=1;){let Ft;if(it===Pe&&Ye!==void 0?Ft=Ye:Ft=W.getLineContent(it),D.ow(Ft)>=0)break;it--}if(it<1||he>W.getLineCount())return null;let rt=W.getLineMaxColumn(it),vt=v.zu.getEnterAction(this._autoIndent,W,new I.e(it,rt,it,rt));return this.parseEnterResult(W,$,ee,he,vt)}trimLeft(W){return W.replace(/^\s+/,"")}shouldAutoIndent(W,$){if(this._autoIndent<4||!W.isCheapToTokenize($.startLineNumber))return!1;let ee=W.getLanguageIdAtPosition($.startLineNumber,1),he=W.getLanguageIdAtPosition($.endLineNumber,1);return!(ee!==he||v.zu.getIndentRulesSupport(ee)===null)}getIndentEditsOfMovingBlock(W,$,ee,he,Pe,Ye){for(let it=ee.startLineNumber;it<=ee.endLineNumber;it++){let rt=W.getLineContent(it),vt=D.V8(rt),Ht=r.Y(vt,he)+Ye,ze=r.J(Ht,he,Pe);ze!==vt&&($.addEditOperation(new I.e(it,1,it,vt.length+1),ze),it===ee.endLineNumber&&ee.endColumn<=vt.length+1&&ze===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(W,$){let ee=$.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(ee=ee.setEndPosition(ee.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&ee.startLineNumber<ee.endLineNumber&&(ee=ee.setEndPosition(ee.endLineNumber,2)),ee}}class m{constructor(W,$){this.selection=W,this.descending=$,this.selectionId=null}static getCollator(){return m._COLLATOR||(m._COLLATOR=new Intl.Collator),m._COLLATOR}getEditOperations(W,$){let ee=b(W,this.selection,this.descending);ee&&$.addEditOperation(ee.range,ee.text),this.selectionId=$.trackSelection(this.selection)}computeCursorState(W,$){return $.getTrackedSelection(this.selectionId)}static canRun(W,$,ee){if(W===null)return!1;let he=c(W,$,ee);if(!he)return!1;for(let Pe=0,Ye=he.before.length;Pe<Ye;Pe++)if(he.before[Pe]!==he.after[Pe])return!0;return!1}}m._COLLATOR=null;function c(ne,W,$){let ee=W.startLineNumber,he=W.endLineNumber;if(W.endColumn===1&&he--,ee>=he)return null;let Pe=[];for(let it=ee;it<=he;it++)Pe.push(ne.getLineContent(it));let Ye=Pe.slice(0);return Ye.sort(m.getCollator().compare),$===!0&&(Ye=Ye.reverse()),{startLineNumber:ee,endLineNumber:he,before:Pe,after:Ye}}function b(ne,W,$){let ee=c(ne,W,$);return ee?G.h.replace(new I.e(ee.startLineNumber,1,ee.endLineNumber,ne.getLineMaxColumn(ee.endLineNumber)),ee.after.join(`
`)):null}var L=i(13268),T=i(96236);class M extends O.R6{constructor(W,$){super($),this.down=W}run(W,$){if(!$.hasModel())return;const ee=$.getSelections().map((Ye,it)=>({selection:Ye,index:it,ignore:!1}));ee.sort((Ye,it)=>I.e.compareRangesUsingStarts(Ye.selection,it.selection));let he=ee[0];for(let Ye=1;Ye<ee.length;Ye++){const it=ee[Ye];he.selection.endLineNumber===it.selection.startLineNumber&&(he.index<it.index?it.ignore=!0:(he.ignore=!0,he=it))}const Pe=[];for(const Ye of ee)Pe.push(new s(Ye.selection,this.down,Ye.ignore));$.pushUndoStop(),$.executeCommands(this.id,Pe),$.pushUndoStop()}}class z extends M{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:L.N("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:w.u.writable,kbOpts:{kbExpr:w.u.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:T.eH.MenubarSelectionMenu,group:"2_line",title:L.N({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class oe extends M{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:L.N("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:w.u.writable,kbOpts:{kbExpr:w.u.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:T.eH.MenubarSelectionMenu,group:"2_line",title:L.N({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class se extends O.R6{constructor(){super({id:"editor.action.duplicateSelection",label:L.N("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:w.u.writable,menuOpts:{menuId:T.eH.MenubarSelectionMenu,group:"2_line",title:L.N({key:"miDuplicateSelection",comment:["&& denotes a mnemonic"]},"&&Duplicate Selection"),order:5}})}run(W,$,ee){if(!$.hasModel())return;const he=[],Pe=$.getSelections(),Ye=$.getModel();for(const it of Pe)if(it.isEmpty())he.push(new s(it,!0));else{const rt=new g.Y(it.endLineNumber,it.endColumn,it.endLineNumber,it.endColumn);he.push(new P.OY(rt,Ye.getValueInRange(it)))}$.pushUndoStop(),$.executeCommands(this.id,he),$.pushUndoStop()}}class re extends O.R6{constructor(W,$){super($),this.down=W}run(W,$){let ee=[],he=$.getSelections()||[];const Pe=$.getOption(9);for(const Ye of he)ee.push(new l(Ye,this.down,Pe));$.pushUndoStop(),$.executeCommands(this.id,ee),$.pushUndoStop()}}class De extends re{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:L.N("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:w.u.writable,kbOpts:{kbExpr:w.u.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:T.eH.MenubarSelectionMenu,group:"2_line",title:L.N({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class J extends re{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:L.N("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:w.u.writable,kbOpts:{kbExpr:w.u.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:T.eH.MenubarSelectionMenu,group:"2_line",title:L.N({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class Z extends O.R6{constructor(W,$){super($),this.descending=W}run(W,$){const ee=$.getSelections()||[];for(const Pe of ee)if(!m.canRun($.getModel(),Pe,this.descending))return;let he=[];for(let Pe=0,Ye=ee.length;Pe<Ye;Pe++)he[Pe]=new m(ee[Pe],this.descending);$.pushUndoStop(),$.executeCommands(this.id,he),$.pushUndoStop()}}class Q extends Z{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:L.N("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:w.u.writable})}}class le extends Z{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:L.N("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:w.u.writable})}}class xe extends O.R6{constructor(){super({id:"editor.action.removeDuplicateLines",label:L.N("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:w.u.writable})}run(W,$){if(!$.hasModel())return;let ee=$.getModel();if(ee.getLineCount()===1&&ee.getLineMaxColumn(1)===1)return;let he=[],Pe=[],Ye=0;for(let it of $.getSelections()){let rt=new Set,vt=[];for(let Xe=it.startLineNumber;Xe<=it.endLineNumber;Xe++){let Ze=ee.getLineContent(Xe);rt.has(Ze)||(vt.push(Ze),rt.add(Ze))}let Ft=new g.Y(it.startLineNumber,1,it.endLineNumber,ee.getLineMaxColumn(it.endLineNumber)),Ht=it.startLineNumber-Ye,ze=new g.Y(Ht,1,Ht+vt.length-1,vt[vt.length-1].length);he.push(G.h.replace(Ft,vt.join(`
`))),Pe.push(ze),Ye+=it.endLineNumber-it.startLineNumber+1-vt.length}$.pushUndoStop(),$.executeEdits(this.id,he,Pe),$.pushUndoStop()}}class j extends O.R6{constructor(){super({id:j.ID,label:L.N("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:w.u.writable,kbOpts:{kbExpr:w.u.editorTextFocus,primary:(0,h.gx)(2089,2102),weight:100}})}run(W,$,ee){let he=[];ee.reason==="auto-save"&&(he=($.getSelections()||[]).map(it=>new a.L(it.positionLineNumber,it.positionColumn)));let Pe=$.getSelection();if(Pe===null)return;let Ye=new y(Pe,he);$.pushUndoStop(),$.executeCommands(this.id,[Ye]),$.pushUndoStop()}}j.ID="editor.action.trimTrailingWhitespace";class R extends O.R6{constructor(){super({id:"editor.action.deleteLines",label:L.N("lines.delete","Delete Line"),alias:"Delete Line",precondition:w.u.writable,kbOpts:{kbExpr:w.u.textInputFocus,primary:3113,weight:100}})}run(W,$){if(!$.hasModel())return;let ee=this._getLinesToRemove($),he=$.getModel();if(he.getLineCount()===1&&he.getLineMaxColumn(1)===1)return;let Pe=0,Ye=[],it=[];for(let rt=0,vt=ee.length;rt<vt;rt++){const Ft=ee[rt];let Ht=Ft.startLineNumber,ze=Ft.endLineNumber,Xe=1,Ze=he.getLineMaxColumn(ze);ze<he.getLineCount()?(ze+=1,Ze=1):Ht>1&&(Ht-=1,Xe=he.getLineMaxColumn(Ht)),Ye.push(G.h.replace(new g.Y(Ht,Xe,ze,Ze),"")),it.push(new g.Y(Ht-Pe,Ft.positionColumn,Ht-Pe,Ft.positionColumn)),Pe+=Ft.endLineNumber-Ft.startLineNumber+1}$.pushUndoStop(),$.executeEdits(this.id,Ye,it),$.pushUndoStop()}_getLinesToRemove(W){let $=W.getSelections().map(Pe=>{let Ye=Pe.endLineNumber;return Pe.startLineNumber<Pe.endLineNumber&&Pe.endColumn===1&&(Ye-=1),{startLineNumber:Pe.startLineNumber,selectionStartColumn:Pe.selectionStartColumn,endLineNumber:Ye,positionColumn:Pe.positionColumn}});$.sort((Pe,Ye)=>Pe.startLineNumber===Ye.startLineNumber?Pe.endLineNumber-Ye.endLineNumber:Pe.startLineNumber-Ye.startLineNumber);let ee=[],he=$[0];for(let Pe=1;Pe<$.length;Pe++)he.endLineNumber+1>=$[Pe].startLineNumber?he.endLineNumber=$[Pe].endLineNumber:(ee.push(he),he=$[Pe]);return ee.push(he),ee}}class V extends O.R6{constructor(){super({id:"editor.action.indentLines",label:L.N("lines.indent","Indent Line"),alias:"Indent Line",precondition:w.u.writable,kbOpts:{kbExpr:w.u.editorTextFocus,primary:2137,weight:100}})}run(W,$){const ee=$._getViewModel();ee&&($.pushUndoStop(),$.executeCommands(this.id,p.u.indent(ee.cursorConfig,$.getModel(),$.getSelections())),$.pushUndoStop())}}class K extends O.R6{constructor(){super({id:"editor.action.outdentLines",label:L.N("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:w.u.writable,kbOpts:{kbExpr:w.u.editorTextFocus,primary:2135,weight:100}})}run(W,$){H.CoreEditingCommands.Outdent.runEditorCommand(W,$,null)}}class ie extends O.R6{constructor(){super({id:"editor.action.insertLineBefore",label:L.N("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:w.u.writable,kbOpts:{kbExpr:w.u.editorTextFocus,primary:3075,weight:100}})}run(W,$){const ee=$._getViewModel();ee&&($.pushUndoStop(),$.executeCommands(this.id,p.u.lineInsertBefore(ee.cursorConfig,$.getModel(),$.getSelections())))}}class te extends O.R6{constructor(){super({id:"editor.action.insertLineAfter",label:L.N("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:w.u.writable,kbOpts:{kbExpr:w.u.editorTextFocus,primary:2051,weight:100}})}run(W,$){const ee=$._getViewModel();ee&&($.pushUndoStop(),$.executeCommands(this.id,p.u.lineInsertAfter(ee.cursorConfig,$.getModel(),$.getSelections())))}}class ge extends O.R6{run(W,$){if(!$.hasModel())return;const ee=$.getSelection();let he=this._getRangesToDelete($),Pe=[];for(let rt=0,vt=he.length-1;rt<vt;rt++){let Ft=he[rt],Ht=he[rt+1];I.e.intersectRanges(Ft,Ht)===null?Pe.push(Ft):he[rt+1]=I.e.plusRange(Ft,Ht)}Pe.push(he[he.length-1]);let Ye=this._getEndCursorState(ee,Pe),it=Pe.map(rt=>G.h.replace(rt,""));$.pushUndoStop(),$.executeEdits(this.id,it,Ye),$.pushUndoStop()}}class ye extends ge{constructor(){super({id:"deleteAllLeft",label:L.N("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:w.u.writable,kbOpts:{kbExpr:w.u.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(W,$){let ee=null,he=[],Pe=0;return $.forEach(Ye=>{let it;if(Ye.endColumn===1&&Pe>0){let rt=Ye.startLineNumber-Pe;it=new g.Y(rt,Ye.startColumn,rt,Ye.startColumn)}else it=new g.Y(Ye.startLineNumber,Ye.startColumn,Ye.startLineNumber,Ye.startColumn);Pe+=Ye.endLineNumber-Ye.startLineNumber,Ye.intersectRanges(W)?ee=it:he.push(it)}),ee&&he.unshift(ee),he}_getRangesToDelete(W){let $=W.getSelections();if($===null)return[];let ee=$,he=W.getModel();return he===null?[]:(ee.sort(I.e.compareRangesUsingStarts),ee=ee.map(Pe=>{if(Pe.isEmpty())if(Pe.startColumn===1){let Ye=Math.max(1,Pe.startLineNumber-1),it=Pe.startLineNumber===1?1:he.getLineContent(Ye).length+1;return new I.e(Ye,it,Pe.startLineNumber,1)}else return new I.e(Pe.startLineNumber,1,Pe.startLineNumber,Pe.startColumn);else return new I.e(Pe.startLineNumber,1,Pe.endLineNumber,Pe.endColumn)}),ee)}}class ve extends ge{constructor(){super({id:"deleteAllRight",label:L.N("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:w.u.writable,kbOpts:{kbExpr:w.u.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(W,$){let ee=null,he=[];for(let Pe=0,Ye=$.length,it=0;Pe<Ye;Pe++){let rt=$[Pe],vt=new g.Y(rt.startLineNumber-it,rt.startColumn,rt.startLineNumber-it,rt.startColumn);rt.intersectRanges(W)?ee=vt:he.push(vt)}return ee&&he.unshift(ee),he}_getRangesToDelete(W){let $=W.getModel();if($===null)return[];let ee=W.getSelections();if(ee===null)return[];let he=ee.map(Pe=>{if(Pe.isEmpty()){const Ye=$.getLineMaxColumn(Pe.startLineNumber);return Pe.startColumn===Ye?new I.e(Pe.startLineNumber,Pe.startColumn,Pe.startLineNumber+1,1):new I.e(Pe.startLineNumber,Pe.startColumn,Pe.startLineNumber,Ye)}return Pe});return he.sort(I.e.compareRangesUsingStarts),he}}class Fe extends O.R6{constructor(){super({id:"editor.action.joinLines",label:L.N("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:w.u.writable,kbOpts:{kbExpr:w.u.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(W,$){let ee=$.getSelections();if(ee===null)return;let he=$.getSelection();if(he===null)return;ee.sort(I.e.compareRangesUsingStarts);let Pe=[],Ye=ee.reduce((ze,Xe)=>ze.isEmpty()?ze.endLineNumber===Xe.startLineNumber?(he.equalsSelection(ze)&&(he=Xe),Xe):Xe.startLineNumber>ze.endLineNumber+1?(Pe.push(ze),Xe):new g.Y(ze.startLineNumber,ze.startColumn,Xe.endLineNumber,Xe.endColumn):Xe.startLineNumber>ze.endLineNumber?(Pe.push(ze),Xe):new g.Y(ze.startLineNumber,ze.startColumn,Xe.endLineNumber,Xe.endColumn));Pe.push(Ye);let it=$.getModel();if(it===null)return;let rt=[],vt=[],Ft=he,Ht=0;for(let ze=0,Xe=Pe.length;ze<Xe;ze++){let Ze=Pe[ze],Ae=Ze.startLineNumber,He=1,Et=0,Wt,oi,ni=it.getLineContent(Ze.endLineNumber).length-Ze.endColumn;if(Ze.isEmpty()||Ze.startLineNumber===Ze.endLineNumber){let Ti=Ze.getStartPosition();Ti.lineNumber<it.getLineCount()?(Wt=Ae+1,oi=it.getLineMaxColumn(Wt)):(Wt=Ti.lineNumber,oi=it.getLineMaxColumn(Ti.lineNumber))}else Wt=Ze.endLineNumber,oi=it.getLineMaxColumn(Wt);let hi=it.getLineContent(Ae);for(let Ti=Ae+1;Ti<=Wt;Ti++){let Ni=it.getLineContent(Ti),ai=it.getLineFirstNonWhitespaceColumn(Ti);if(ai>=1){let Pt=!0;hi===""&&(Pt=!1),Pt&&(hi.charAt(hi.length-1)===" "||hi.charAt(hi.length-1)===" ")&&(Pt=!1,hi=hi.replace(/[\s\uFEFF\xA0]+$/g," "));let Gt=Ni.substr(ai-1);hi+=(Pt?" ":"")+Gt,Pt?Et=Gt.length+1:Et=Gt.length}else Et=0}let Di=new I.e(Ae,He,Wt,oi);if(!Di.isEmpty()){let Ti;Ze.isEmpty()?(rt.push(G.h.replace(Di,hi)),Ti=new g.Y(Di.startLineNumber-Ht,hi.length-Et+1,Ae-Ht,hi.length-Et+1)):Ze.startLineNumber===Ze.endLineNumber?(rt.push(G.h.replace(Di,hi)),Ti=new g.Y(Ze.startLineNumber-Ht,Ze.startColumn,Ze.endLineNumber-Ht,Ze.endColumn)):(rt.push(G.h.replace(Di,hi)),Ti=new g.Y(Ze.startLineNumber-Ht,Ze.startColumn,Ze.startLineNumber-Ht,hi.length-ni)),I.e.intersectRanges(Di,he)!==null?Ft=Ti:vt.push(Ti)}Ht+=Di.endLineNumber-Di.startLineNumber}vt.unshift(Ft),$.pushUndoStop(),$.executeEdits(this.id,rt,vt),$.pushUndoStop()}}class we extends O.R6{constructor(){super({id:"editor.action.transpose",label:L.N("editor.transpose","Transpose characters around the cursor"),alias:"Transpose characters around the cursor",precondition:w.u.writable})}run(W,$){let ee=$.getSelections();if(ee===null)return;let he=$.getModel();if(he===null)return;let Pe=[];for(let Ye=0,it=ee.length;Ye<it;Ye++){let rt=ee[Ye];if(!rt.isEmpty())continue;let vt=rt.getStartPosition(),Ft=he.getLineMaxColumn(vt.lineNumber);if(vt.column>=Ft){if(vt.lineNumber===he.getLineCount())continue;let Ht=new I.e(vt.lineNumber,Math.max(1,vt.column-1),vt.lineNumber+1,1),ze=he.getValueInRange(Ht).split("").reverse().join("");Pe.push(new P.T4(new g.Y(vt.lineNumber,Math.max(1,vt.column-1),vt.lineNumber+1,1),ze))}else{let Ht=new I.e(vt.lineNumber,Math.max(1,vt.column-1),vt.lineNumber,vt.column+1),ze=he.getValueInRange(Ht).split("").reverse().join("");Pe.push(new P.hP(Ht,ze,new g.Y(vt.lineNumber,vt.column+1,vt.lineNumber,vt.column+1)))}}$.pushUndoStop(),$.executeCommands(this.id,Pe),$.pushUndoStop()}}class ue extends O.R6{run(W,$){const ee=$.getSelections();if(ee===null)return;const he=$.getModel();if(he===null)return;const Pe=$.getOption(115),Ye=[];for(const it of ee)if(it.isEmpty()){const rt=it.getStartPosition(),vt=$.getConfiguredWordAtPosition(rt);if(!vt)continue;const Ft=new I.e(rt.lineNumber,vt.startColumn,rt.lineNumber,vt.endColumn),Ht=he.getValueInRange(Ft);Ye.push(G.h.replace(Ft,this._modifyText(Ht,Pe)))}else{const rt=he.getValueInRange(it);Ye.push(G.h.replace(it,this._modifyText(rt,Pe)))}$.pushUndoStop(),$.executeEdits(this.id,Ye),$.pushUndoStop()}}class ce extends ue{constructor(){super({id:"editor.action.transformToUppercase",label:L.N("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:w.u.writable})}_modifyText(W,$){return W.toLocaleUpperCase()}}class Ve extends ue{constructor(){super({id:"editor.action.transformToLowercase",label:L.N("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:w.u.writable})}_modifyText(W,$){return W.toLocaleLowerCase()}}class We{constructor(W,$){this._pattern=W,this._flags=$,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch(W){}}return this._actual}isSupported(){return this.get()!==null}}class ae extends ue{constructor(){super({id:"editor.action.transformToTitlecase",label:L.N("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:w.u.writable})}_modifyText(W,$){const ee=ae.titleBoundary.get();return ee?W.toLocaleLowerCase().replace(ee,he=>he.toLocaleUpperCase()):W}}ae.titleBoundary=new We("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");class fe extends ue{constructor(){super({id:"editor.action.transformToSnakecase",label:L.N("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:w.u.writable})}_modifyText(W,$){const ee=fe.caseBoundary.get(),he=fe.singleLetters.get();return!ee||!he?W:W.replace(ee,"$1_$2").replace(he,"$1_$2$3").toLocaleLowerCase()}}fe.caseBoundary=new We("(\\p{Ll})(\\p{Lu})","gmu"),fe.singleLetters=new We("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu"),(0,O.Qr)(z),(0,O.Qr)(oe),(0,O.Qr)(se),(0,O.Qr)(De),(0,O.Qr)(J),(0,O.Qr)(Q),(0,O.Qr)(le),(0,O.Qr)(xe),(0,O.Qr)(j),(0,O.Qr)(R),(0,O.Qr)(V),(0,O.Qr)(K),(0,O.Qr)(ie),(0,O.Qr)(te),(0,O.Qr)(ye),(0,O.Qr)(ve),(0,O.Qr)(Fe),(0,O.Qr)(we),(0,O.Qr)(ce),(0,O.Qr)(Ve),fe.caseBoundary.isSupported()&&fe.singleLetters.isSupported()&&(0,O.Qr)(fe),ae.titleBoundary.isSupported()&&(0,O.Qr)(ae)},35274:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{LinkDetector:function(){return le}});var h=i(50431),H=i(96283),O=i(79881),P=i(94186),D=i(69323),G=i(66657),I=i(23345),y=i(9365),E=i(4968),p=i(4514),a=i(31276),g=i(27347),w=i(77234),s=i(43506),C=i(72999),f=i(17373),v=i(12027),r=i(35884),l=function(j,R,V,K){function ie(te){return te instanceof V?te:new V(function(ge){ge(te)})}return new(V||(V=Promise))(function(te,ge){function ye(we){try{Fe(K.next(we))}catch(ue){ge(ue)}}function ve(we){try{Fe(K.throw(we))}catch(ue){ge(ue)}}function Fe(we){we.done?te(we.value):ie(we.value).then(ye,ve)}Fe((K=K.apply(j,R||[])).next())})};class m{constructor(R,V){this._link=R,this._provider=V}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}resolve(R){return l(this,void 0,void 0,function*(){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,R)).then(V=>(this._link=V||this._link,this._link.url?this.resolve(R):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))})}}class c{constructor(R){this._disposables=new D.SL;let V=[];for(const[K,ie]of R){const te=K.links.map(ge=>new m(ge,ie));V=c._union(V,te),(0,D.Wf)(K)&&this._disposables.add(K)}this.links=V}dispose(){this._disposables.dispose(),this.links.length=0}static _union(R,V){let K=[],ie,te,ge,ye;for(ie=0,ge=0,te=R.length,ye=V.length;ie<te&&ge<ye;){const ve=R[ie],Fe=V[ge];if(f.e.areIntersectingOrTouching(ve.range,Fe.range)){ie++;continue}f.e.compareRangesUsingStarts(ve.range,Fe.range)<0?(K.push(ve),ie++):(K.push(Fe),ge++)}for(;ie<te;ie++)K.push(R[ie]);for(;ge<ye;ge++)K.push(V[ge]);return K}}function b(j,R){const V=[],K=g.pM.ordered(j).reverse().map((ie,te)=>Promise.resolve(ie.provideLinks(j,R)).then(ge=>{ge&&(V[te]=[ge,ie])},O.Cp));return Promise.all(K).then(()=>{const ie=new c((0,s.kX)(V));return R.isCancellationRequested?(ie.dispose(),new c([])):ie})}r.P.registerCommand("_executeLinkProvider",(j,...R)=>l(void 0,void 0,void 0,function*(){let[V,K]=R;(0,C.p_)(V instanceof E.o),typeof K!="number"&&(K=0);const ie=j.get(v.q).getModel(V);if(!ie)return[];const te=yield b(ie,H.T.None);if(!te)return[];for(let ye=0;ye<Math.min(K,te.links.length);ye++)yield te.links[ye].resolve(H.T.None);const ge=te.links.slice(0);return te.dispose(),ge}));var L=i(13268),T=i(79504),M=i(271),z=i(44350),oe=i(49055),se=function(j,R,V,K){var ie=arguments.length,te=ie<3?R:K===null?K=Object.getOwnPropertyDescriptor(R,V):K,ge;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")te=Reflect.decorate(j,R,V,K);else for(var ye=j.length-1;ye>=0;ye--)(ge=j[ye])&&(te=(ie<3?ge(te):ie>3?ge(R,V,te):ge(R,V))||te);return ie>3&&te&&Object.defineProperty(R,V,te),te},re=function(j,R){return function(V,K){R(V,K,j)}},De=function(j,R,V,K){function ie(te){return te instanceof V?te:new V(function(ge){ge(te)})}return new(V||(V=Promise))(function(te,ge){function ye(we){try{Fe(K.next(we))}catch(ue){ge(ue)}}function ve(we){try{Fe(K.throw(we))}catch(ue){ge(ue)}}function Fe(we){we.done?te(we.value):ie(we.value).then(ye,ve)}Fe((K=K.apply(j,R||[])).next())})};function J(j,R){const V=j.url&&/^command:/i.test(j.url.toString()),K=j.tooltip?j.tooltip:V?L.N("links.navigate.executeCmd","Execute command"):L.N("links.navigate.follow","Follow link"),ie=R?I.dz?L.N("links.navigate.kb.meta.mac","cmd + click"):L.N("links.navigate.kb.meta","ctrl + click"):I.dz?L.N("links.navigate.kb.alt.mac","option + click"):L.N("links.navigate.kb.alt","alt + click");if(j.url){let te="";if(/^command:/i.test(j.url.toString())){const ye=j.url.toString().match(/^command:([^?#]+)/);if(ye){const ve=ye[1];te=` "${L.N("tooltip.explanation","Execute command {0}",ve)}"`}}return new P.W5("",!0).appendMarkdown(`[${K}](${j.url.toString(!0).replace(/ /g,"%20")}${te}) (${ie})`)}else return new P.W5().appendText(`${K} (${ie})`)}const Z={general:a.qx.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:a.qx.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class Q{constructor(R,V){this.link=R,this.decorationId=V}static decoration(R,V){return{range:R.range,options:Q._getOptions(R,V,!1)}}static _getOptions(R,V,K){const ie=Object.assign({},K?Z.active:Z.general);return ie.hoverMessage=J(R,V),ie}activate(R,V){R.changeDecorationOptions(this.decorationId,Q._getOptions(this.link,V,!0))}deactivate(R,V){R.changeDecorationOptions(this.decorationId,Q._getOptions(this.link,V,!1))}}let le=class xa{constructor(R,V,K){this.listenersToRemove=new D.SL,this.editor=R,this.openerService=V,this.notificationService=K;let ie=new w.yN(R);this.listenersToRemove.add(ie),this.listenersToRemove.add(ie.onMouseMoveOrRelevantKeyDown(([te,ge])=>{this._onEditorMouseMove(te,ge)})),this.listenersToRemove.add(ie.onExecute(te=>{this.onEditorMouseUp(te)})),this.listenersToRemove.add(ie.onCancel(te=>{this.cleanUpActiveLinkDecoration()})),this.enabled=R.getOption(62),this.listenersToRemove.add(R.onDidChangeConfiguration(te=>{const ge=R.getOption(62);this.enabled!==ge&&(this.enabled=ge,this.updateDecorations([]),this.stop(),this.beginCompute())})),this.listenersToRemove.add(R.onDidChangeModelContent(te=>this.onChange())),this.listenersToRemove.add(R.onDidChangeModel(te=>this.onModelChanged())),this.listenersToRemove.add(R.onDidChangeModelLanguage(te=>this.onModelModeChanged())),this.listenersToRemove.add(g.pM.onDidChange(te=>this.onModelModeChanged())),this.timeout=new h._F,this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null,this.beginCompute()}static get(R){return R.getContribution(xa.ID)}onModelChanged(){this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.beginCompute()}onModelModeChanged(){this.stop(),this.beginCompute()}onChange(){this.timeout.setIfNotSet(()=>this.beginCompute(),xa.RECOMPUTE_TIME)}beginCompute(){return De(this,void 0,void 0,function*(){if(!this.editor.hasModel()||!this.enabled)return;const R=this.editor.getModel();if(g.pM.has(R)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=h.PG(V=>b(R,V));try{this.activeLinksList=yield this.computePromise,this.updateDecorations(this.activeLinksList.links)}catch(V){(0,O.dL)(V)}finally{this.computePromise=null}}})}updateDecorations(R){const V=this.editor.getOption(69)==="altKey";let K=[],ie=Object.keys(this.currentOccurrences);for(let ye=0,ve=ie.length;ye<ve;ye++){let Fe=ie[ye],we=this.currentOccurrences[Fe];K.push(we.decorationId)}let te=[];if(R)for(const ye of R)te.push(Q.decoration(ye,V));let ge=this.editor.deltaDecorations(K,te);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let ye=0,ve=ge.length;ye<ve;ye++){let Fe=new Q(R[ye],ge[ye]);this.currentOccurrences[Fe.decorationId]=Fe}}_onEditorMouseMove(R,V){const K=this.editor.getOption(69)==="altKey";if(this.isEnabled(R,V)){this.cleanUpActiveLinkDecoration();const ie=this.getLinkOccurrence(R.target.position);ie&&this.editor.changeDecorations(te=>{ie.activate(te,K),this.activeLinkDecorationId=ie.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const R=this.editor.getOption(69)==="altKey";if(this.activeLinkDecorationId){const V=this.currentOccurrences[this.activeLinkDecorationId];V&&this.editor.changeDecorations(K=>{V.deactivate(K,R)}),this.activeLinkDecorationId=null}}onEditorMouseUp(R){if(!this.isEnabled(R))return;const V=this.getLinkOccurrence(R.target.position);V&&this.openLinkOccurrence(V,R.hasSideBySideModifier,!0)}openLinkOccurrence(R,V,K=!1){if(!this.openerService)return;const{link:ie}=R;ie.resolve(H.T.None).then(te=>{if(typeof te=="string"&&this.editor.hasModel()){const ge=this.editor.getModel().uri;if(ge.scheme===G.lg.file&&te.startsWith(`${G.lg.file}:`)){const ye=E.o.parse(te);if(ye.scheme===G.lg.file){const ve=y.z_(ye);let Fe=null;ve.startsWith("/./")?Fe=`.${ve.substr(1)}`:ve.startsWith("//./")&&(Fe=`.${ve.substr(2)}`),Fe&&(te=y.Vo(ge,Fe))}}}return this.openerService.open(te,{openToSide:V,fromUserGesture:K,allowContributedOpeners:!0,allowCommands:!0})},te=>{const ge=te instanceof Error?te.message:te;ge==="invalid"?this.notificationService.warn(L.N("invalid.url","Failed to open this link because it is not well-formed: {0}",ie.url.toString())):ge==="missing"?this.notificationService.warn(L.N("missing.url","Failed to open this link because its target is missing.")):(0,O.dL)(te)})}getLinkOccurrence(R){if(!this.editor.hasModel()||!R)return null;const V=this.editor.getModel().getDecorationsInRange({startLineNumber:R.lineNumber,startColumn:R.column,endLineNumber:R.lineNumber,endColumn:R.column},0,!0);for(const K of V){const ie=this.currentOccurrences[K.id];if(ie)return ie}return null}isEnabled(R,V){return!!(R.target.type===6&&(R.hasTriggerModifier||V&&V.keyCodeIsTriggerKey))}stop(){var R;this.timeout.cancel(),this.activeLinksList&&((R=this.activeLinksList)===null||R===void 0||R.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){this.listenersToRemove.dispose(),this.stop(),this.timeout.dispose()}};le.ID="editor.linkDetector",le.RECOMPUTE_TIME=1e3,le=se([re(1,M.v4),re(2,T.lT)],le);class xe extends p.R6{constructor(){super({id:"editor.action.openLink",label:L.N("label","Open Link"),alias:"Open Link",precondition:void 0})}run(R,V){let K=le.get(V);if(!K||!V.hasModel())return;let ie=V.getSelections();for(let te of ie){let ge=K.getLinkOccurrence(te.getEndPosition());ge&&K.openLinkOccurrence(ge,!1)}}}(0,p._K)(le.ID,le),(0,p.Qr)(xe),(0,oe.Ic)((j,R)=>{const V=j.getColor(z._Y);V&&R.addRule(`.monaco-editor .detected-link-active { color: ${V} !important; }`)})},2658:function(xt,Te,i){"use strict";i.d(Te,{O:function(){return w}});var h=i(58941),H=i(50431),O=i(69323),P=i(4514),D=i(17373),G=i(13268),I=i(90689),y=i(44350),E=i(66213),p=i(49055),a=function(f,v,r,l){var m=arguments.length,c=m<3?v:l===null?l=Object.getOwnPropertyDescriptor(v,r):l,b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")c=Reflect.decorate(f,v,r,l);else for(var L=f.length-1;L>=0;L--)(b=f[L])&&(c=(m<3?b(c):m>3?b(v,r,c):b(v,r))||c);return m>3&&c&&Object.defineProperty(v,r,c),c},g=function(f,v){return function(r,l){v(r,l,f)}};let w=class Ma{constructor(v,r){this._messageWidget=new O.XK,this._messageListeners=new O.SL,this._editor=v,this._visible=Ma.MESSAGE_VISIBLE.bindTo(r),this._editorListener=this._editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit())}static get(v){return v.getContribution(Ma.ID)}dispose(){this._editorListener.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(v,r){(0,h.Z9)(v),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._messageWidget.value=new C(this._editor,r,v),this._messageListeners.add(this._editor.onDidBlurEditorText(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(new H._F(()=>this.closeMessage(),3e3));let l;this._messageListeners.add(this._editor.onMouseMove(m=>{m.target.position&&(l?l.containsPosition(m.target.position)||this.closeMessage():l=new D.e(r.lineNumber-3,1,m.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(C.fadeOut(this._messageWidget.value))}_onDidAttemptReadOnlyEdit(){this._editor.hasModel()&&this.showMessage(G.N("editor.readonly","Cannot edit in read-only editor"),this._editor.getPosition())}};w.ID="editor.contrib.messageController",w.MESSAGE_VISIBLE=new I.uy("messageVisible",!1,G.N("messageVisible","Whether the editor is currently showing an inline message")),w=a([g(1,I.i6)],w);const s=P._l.bindToContribution(w.get);(0,P.fK)(new s({id:"leaveEditorMessage",precondition:w.MESSAGE_VISIBLE,handler:f=>f.closeMessage(),kbOpts:{weight:130,primary:9}}));class C{constructor(v,{lineNumber:r,column:l},m){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=v,this._editor.revealLinesInCenterIfOutsideViewport(r,r,0),this._position={lineNumber:r,column:l-1},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage");const c=document.createElement("div");c.classList.add("anchor","top"),this._domNode.appendChild(c);const b=document.createElement("div");b.classList.add("message"),b.textContent=m,this._domNode.appendChild(b);const L=document.createElement("div");L.classList.add("anchor","below"),this._domNode.appendChild(L),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}static fadeOut(v){let r;const l=()=>{v.dispose(),clearTimeout(r),v.getDomNode().removeEventListener("animationend",l)};return r=setTimeout(l,110),v.getDomNode().addEventListener("animationend",l),v.getDomNode().classList.add("fadeOut"),{dispose:l}}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2]}}afterRender(v){this._domNode.classList.toggle("below",v===2)}}(0,P._K)(w.ID,w),(0,p.Ic)((f,v)=>{const r=f.getColor(y.EP);if(r){let c=f.type===E.e.HIGH_CONTRAST?2:1;v.addRule(`.monaco-editor .monaco-editor-overlaymessage .anchor.below { border-top-color: ${r}; }`),v.addRule(`.monaco-editor .monaco-editor-overlaymessage .anchor.top { border-bottom-color: ${r}; }`),v.addRule(`.monaco-editor .monaco-editor-overlaymessage .message { border: ${c}px solid ${r}; }`)}const l=f.getColor(y._l);l&&v.addRule(`.monaco-editor .monaco-editor-overlaymessage .message { background-color: ${l}; }`);const m=f.getColor(y.YI);m&&v.addRule(`.monaco-editor .monaco-editor-overlaymessage .message { color: ${m}; }`)})},51518:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{AddSelectionToNextFindMatchAction:function(){return re},AddSelectionToPreviousFindMatchAction:function(){return De},CompatChangeAll:function(){return le},InsertCursorAbove:function(){return m},InsertCursorBelow:function(){return c},MoveSelectionToNextFindMatchAction:function(){return J},MoveSelectionToPreviousFindMatchAction:function(){return Z},MultiCursorSelectionController:function(){return oe},MultiCursorSelectionControllerAction:function(){return se},MultiCursorSession:function(){return z},MultiCursorSessionResult:function(){return M},SelectHighlightsAction:function(){return Q},SelectionHighlighter:function(){return j}});var h=i(58941),H=i(50431),O=i(52411),P=i(69323),D=i(4514),G=i(43361),I=i(17373),y=i(17551),E=i(68987),p=i(51682),a=i(31276),g=i(27347),w=i(52775),s=i(13268),C=i(96236),f=i(90689),v=i(44350),r=i(49055);function l(K,ie){const te=ie.filter(ge=>!K.find(ye=>ye.equals(ge)));if(te.length>=1){const ge=te.map(ve=>`line ${ve.viewState.position.lineNumber} column ${ve.viewState.position.column}`).join(", "),ye=te.length===1?s.N("cursorAdded","Cursor added: {0}",ge):s.N("cursorsAdded","Cursors added: {0}",ge);(0,h.i7)(ye)}}class m extends D.R6{constructor(){super({id:"editor.action.insertCursorAbove",label:s.N("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:E.u.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:C.eH.MenubarSelectionMenu,group:"3_multi",title:s.N({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})}run(ie,te,ge){if(!te.hasModel())return;let ye=!0;ge&&ge.logicalLine===!1&&(ye=!1);const ve=te._getViewModel();if(ve.cursorConfig.readOnly)return;ve.pushStackElement();const Fe=ve.getCursorStates();ve.setCursorStates(ge.source,3,G.P.addCursorUp(ve,Fe,ye)),ve.revealTopMostCursor(ge.source),l(Fe,ve.getCursorStates())}}class c extends D.R6{constructor(){super({id:"editor.action.insertCursorBelow",label:s.N("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:E.u.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:C.eH.MenubarSelectionMenu,group:"3_multi",title:s.N({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})}run(ie,te,ge){if(!te.hasModel())return;let ye=!0;ge&&ge.logicalLine===!1&&(ye=!1);const ve=te._getViewModel();if(ve.cursorConfig.readOnly)return;ve.pushStackElement();const Fe=ve.getCursorStates();ve.setCursorStates(ge.source,3,G.P.addCursorDown(ve,Fe,ye)),ve.revealBottomMostCursor(ge.source),l(Fe,ve.getCursorStates())}}class b extends D.R6{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:s.N("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:E.u.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:C.eH.MenubarSelectionMenu,group:"3_multi",title:s.N({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(ie,te,ge){if(!ie.isEmpty()){for(let ye=ie.startLineNumber;ye<ie.endLineNumber;ye++){let ve=te.getLineMaxColumn(ye);ge.push(new y.Y(ye,ve,ye,ve))}ie.endColumn>1&&ge.push(new y.Y(ie.endLineNumber,ie.endColumn,ie.endLineNumber,ie.endColumn))}}run(ie,te){if(!te.hasModel())return;const ge=te.getModel(),ye=te.getSelections(),ve=te._getViewModel(),Fe=ve.getCursorStates();let we=[];ye.forEach(ue=>this.getCursorsForSelection(ue,ge,we)),we.length>0&&te.setSelections(we),l(Fe,ve.getCursorStates())}}class L extends D.R6{constructor(){super({id:"editor.action.addCursorsToBottom",label:s.N("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(ie,te){if(!te.hasModel())return;const ge=te.getSelections(),ye=te.getModel().getLineCount();let ve=[];for(let ue=ge[0].startLineNumber;ue<=ye;ue++)ve.push(new y.Y(ue,ge[0].startColumn,ue,ge[0].endColumn));const Fe=te._getViewModel(),we=Fe.getCursorStates();ve.length>0&&te.setSelections(ve),l(we,Fe.getCursorStates())}}class T extends D.R6{constructor(){super({id:"editor.action.addCursorsToTop",label:s.N("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(ie,te){if(!te.hasModel())return;const ge=te.getSelections();let ye=[];for(let we=ge[0].startLineNumber;we>=1;we--)ye.push(new y.Y(we,ge[0].startColumn,we,ge[0].endColumn));const ve=te._getViewModel(),Fe=ve.getCursorStates();ye.length>0&&te.setSelections(ye),l(Fe,ve.getCursorStates())}}class M{constructor(ie,te,ge){this.selections=ie,this.revealRange=te,this.revealScrollType=ge}}class z{constructor(ie,te,ge,ye,ve,Fe,we){this._editor=ie,this.findController=te,this.isDisconnectedFromFindController=ge,this.searchText=ye,this.wholeWord=ve,this.matchCase=Fe,this.currentMatch=we}static create(ie,te){if(!ie.hasModel())return null;const ge=te.getState();if(!ie.hasTextFocus()&&ge.isRevealed&&ge.searchString.length>0)return new z(ie,te,!1,ge.searchString,ge.wholeWord,ge.matchCase,null);let ye=!1,ve,Fe;const we=ie.getSelections();we.length===1&&we[0].isEmpty()?(ye=!0,ve=!0,Fe=!0):(ve=ge.wholeWord,Fe=ge.matchCase);const ue=ie.getSelection();let ce,Ve=null;if(ue.isEmpty()){const We=ie.getConfiguredWordAtPosition(ue.getStartPosition());if(!We)return null;ce=We.word,Ve=new y.Y(ue.startLineNumber,We.startColumn,ue.startLineNumber,We.endColumn)}else ce=ie.getModel().getValueInRange(ue).replace(/\r\n/g,`
`);return new z(ie,te,ye,ce,ve,Fe,Ve)}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const ie=this._getNextMatch();if(!ie)return null;const te=this._editor.getSelections();return new M(te.concat(ie),ie,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const ie=this._getNextMatch();if(!ie)return null;const te=this._editor.getSelections();return new M(te.slice(0,te.length-1).concat(ie),ie,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const ye=this.currentMatch;return this.currentMatch=null,ye}this.findController.highlightFindOptions();const ie=this._editor.getSelections(),te=ie[ie.length-1],ge=this._editor.getModel().findNextMatch(this.searchText,te.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(115):null,!1);return ge?new y.Y(ge.range.startLineNumber,ge.range.startColumn,ge.range.endLineNumber,ge.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const ie=this._getPreviousMatch();if(!ie)return null;const te=this._editor.getSelections();return new M(te.concat(ie),ie,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const ie=this._getPreviousMatch();if(!ie)return null;const te=this._editor.getSelections();return new M(te.slice(0,te.length-1).concat(ie),ie,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const ye=this.currentMatch;return this.currentMatch=null,ye}this.findController.highlightFindOptions();const ie=this._editor.getSelections(),te=ie[ie.length-1],ge=this._editor.getModel().findPreviousMatch(this.searchText,te.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(115):null,!1);return ge?new y.Y(ge.range.startLineNumber,ge.range.startColumn,ge.range.endLineNumber,ge.range.endColumn):null}selectAll(){return this._editor.hasModel()?(this.findController.highlightFindOptions(),this._editor.getModel().findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(115):null,!1,1073741824)):[]}}class oe extends P.JT{constructor(ie){super(),this._sessionDispose=this._register(new P.SL),this._editor=ie,this._ignoreSelectionChange=!1,this._session=null}static get(ie){return ie.getContribution(oe.ID)}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(ie){if(!this._session){const te=z.create(this._editor,ie);if(!te)return;this._session=te;const ge={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(ge.wholeWordOverride=1,ge.matchCaseOverride=1,ge.isRegexOverride=2),ie.getState().change(ge,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(ye=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(ie.getState().onFindReplaceStateChange(ye=>{(ye.matchCase||ye.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const ie={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(ie,!1)}this._session=null}_setSelections(ie){this._ignoreSelectionChange=!0,this._editor.setSelections(ie),this._ignoreSelectionChange=!1}_expandEmptyToWord(ie,te){if(!te.isEmpty())return te;const ge=this._editor.getConfiguredWordAtPosition(te.getStartPosition());return ge?new y.Y(te.startLineNumber,ge.startColumn,te.startLineNumber,ge.endColumn):te}_applySessionResult(ie){ie&&(this._setSelections(ie.selections),ie.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(ie.revealRange,ie.revealScrollType))}getSession(ie){return this._session}addSelectionToNextFindMatch(ie){if(this._editor.hasModel()){if(!this._session){const te=this._editor.getSelections();if(te.length>1){const ye=ie.getState().matchCase;if(!R(this._editor.getModel(),te,ye)){const Fe=this._editor.getModel();let we=[];for(let ue=0,ce=te.length;ue<ce;ue++)we[ue]=this._expandEmptyToWord(Fe,te[ue]);this._editor.setSelections(we);return}}}this._beginSessionIfNeeded(ie),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(ie){this._beginSessionIfNeeded(ie),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(ie){this._beginSessionIfNeeded(ie),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(ie){this._beginSessionIfNeeded(ie),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(ie){if(!this._editor.hasModel())return;let te=null;const ge=ie.getState();if(ge.isRevealed&&ge.searchString.length>0&&ge.isRegex)te=this._editor.getModel().findMatches(ge.searchString,!0,ge.isRegex,ge.matchCase,ge.wholeWord?this._editor.getOption(115):null,!1,1073741824);else{if(this._beginSessionIfNeeded(ie),!this._session)return;te=this._session.selectAll()}if(ge.searchScope){const ye=ge.searchScope;let ve=[];te.forEach(Fe=>{ye.forEach(we=>{Fe.range.endLineNumber<=we.endLineNumber&&Fe.range.startLineNumber>=we.startLineNumber&&ve.push(Fe)})}),te=ve}if(te.length>0){const ye=this._editor.getSelection();for(let ve=0,Fe=te.length;ve<Fe;ve++){const we=te[ve];if(we.range.intersectRanges(ye)){te[ve]=te[0],te[0]=we;break}}this._setSelections(te.map(ve=>new y.Y(ve.range.startLineNumber,ve.range.startColumn,ve.range.endLineNumber,ve.range.endColumn)))}}}oe.ID="editor.contrib.multiCursorController";class se extends D.R6{run(ie,te){const ge=oe.get(te);if(!ge)return;const ye=w.CommonFindController.get(te);if(!ye)return;const ve=te._getViewModel();if(ve){const Fe=ve.getCursorStates();this._run(ge,ye),l(Fe,ve.getCursorStates())}}}class re extends se{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:s.N("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:E.u.focus,primary:2082,weight:100},menuOpts:{menuId:C.eH.MenubarSelectionMenu,group:"3_multi",title:s.N({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(ie,te){ie.addSelectionToNextFindMatch(te)}}class De extends se{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:s.N("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:C.eH.MenubarSelectionMenu,group:"3_multi",title:s.N({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(ie,te){ie.addSelectionToPreviousFindMatch(te)}}class J extends se{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:s.N("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:E.u.focus,primary:(0,O.gx)(2089,2082),weight:100}})}_run(ie,te){ie.moveSelectionToNextFindMatch(te)}}class Z extends se{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:s.N("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(ie,te){ie.moveSelectionToPreviousFindMatch(te)}}class Q extends se{constructor(){super({id:"editor.action.selectHighlights",label:s.N("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:E.u.focus,primary:3114,weight:100},menuOpts:{menuId:C.eH.MenubarSelectionMenu,group:"3_multi",title:s.N({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(ie,te){ie.selectAll(te)}}class le extends se{constructor(){super({id:"editor.action.changeAll",label:s.N("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:f.Ao.and(E.u.writable,E.u.editorTextFocus),kbOpts:{kbExpr:E.u.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(ie,te){ie.selectAll(te)}}class xe{constructor(ie,te,ge,ye){this.searchText=ie,this.matchCase=te,this.wordSeparators=ge,this.modelVersionId=ye}static softEquals(ie,te){return!ie&&!te?!0:!ie||!te?!1:ie.searchText===te.searchText&&ie.matchCase===te.matchCase&&ie.wordSeparators===te.wordSeparators&&ie.modelVersionId===te.modelVersionId}}class j extends P.JT{constructor(ie){super(),this.editor=ie,this._isEnabled=ie.getOption(96),this.decorations=[],this.updateSoon=this._register(new H.pY(()=>this._update(),300)),this.state=null,this._register(ie.onDidChangeConfiguration(te=>{this._isEnabled=ie.getOption(96)})),this._register(ie.onDidChangeCursorSelection(te=>{this._isEnabled&&(te.selection.isEmpty()?te.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(ie.onDidChangeModel(te=>{this._setState(null)})),this._register(ie.onDidChangeModelContent(te=>{this._isEnabled&&this.updateSoon.schedule()})),this._register(w.CommonFindController.get(ie).getState().onFindReplaceStateChange(te=>{this._update()}))}_update(){this._setState(j._createState(this._isEnabled,this.editor))}static _createState(ie,te){if(!ie||!te.hasModel())return null;const ge=te.getSelection();if(ge.startLineNumber!==ge.endLineNumber)return null;const ye=oe.get(te);if(!ye)return null;const ve=w.CommonFindController.get(te);if(!ve)return null;let Fe=ye.getSession(ve);if(!Fe){const ce=te.getSelections();if(ce.length>1){const We=ve.getState().matchCase;if(!R(te.getModel(),ce,We))return null}Fe=z.create(te,ve)}if(!Fe||Fe.currentMatch||/^[ \t]+$/.test(Fe.searchText)||Fe.searchText.length>200)return null;const we=ve.getState(),ue=we.matchCase;if(we.isRevealed){let ce=we.searchString;ue||(ce=ce.toLowerCase());let Ve=Fe.searchText;if(ue||(Ve=Ve.toLowerCase()),ce===Ve&&Fe.matchCase===we.matchCase&&Fe.wholeWord===we.wholeWord&&!we.isRegex)return null}return new xe(Fe.searchText,Fe.matchCase,Fe.wholeWord?te.getOption(115):null,te.getModel().getVersionId())}_setState(ie){if(xe.softEquals(this.state,ie)){this.state=ie;return}if(this.state=ie,!this.state){this.decorations=this.editor.deltaDecorations(this.decorations,[]);return}if(!this.editor.hasModel())return;const te=this.editor.getModel();if(te.isTooLargeForTokenization())return;const ge=g.vH.has(te)&&this.editor.getOption(71);let ye=te.findMatches(this.state.searchText,!0,!1,this.state.matchCase,this.state.wordSeparators,!1).map(ue=>ue.range);ye.sort(I.e.compareRangesUsingStarts);let ve=this.editor.getSelections();ve.sort(I.e.compareRangesUsingStarts);let Fe=[];for(let ue=0,ce=0,Ve=ye.length,We=ve.length;ue<Ve;){const ae=ye[ue];if(ce>=We)Fe.push(ae),ue++;else{const fe=I.e.compareRangesUsingStarts(ae,ve[ce]);fe<0?((ve[ce].isEmpty()||!I.e.areIntersecting(ae,ve[ce]))&&Fe.push(ae),ue++):(fe>0||ue++,ce++)}}const we=Fe.map(ue=>({range:ue,options:ge?j._SELECTION_HIGHLIGHT:j._SELECTION_HIGHLIGHT_OVERVIEW}));this.decorations=this.editor.deltaDecorations(this.decorations,we)}dispose(){this._setState(null),super.dispose()}}j.ID="editor.contrib.selectionHighlighter",j._SELECTION_HIGHLIGHT_OVERVIEW=a.qx.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",minimap:{color:(0,r.EN)(v.IY),position:p.F5.Inline},overviewRuler:{color:(0,r.EN)(v.SP),position:p.sh.Center}}),j._SELECTION_HIGHLIGHT=a.qx.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"});function R(K,ie,te){const ge=V(K,ie[0],!te);for(let ye=1,ve=ie.length;ye<ve;ye++){const Fe=ie[ye];if(Fe.isEmpty())return!1;const we=V(K,Fe,!te);if(ge!==we)return!1}return!0}function V(K,ie,te){const ge=K.getValueInRange(ie);return te?ge.toLowerCase():ge}(0,D._K)(oe.ID,oe),(0,D._K)(j.ID,j),(0,D.Qr)(m),(0,D.Qr)(c),(0,D.Qr)(b),(0,D.Qr)(re),(0,D.Qr)(De),(0,D.Qr)(J),(0,D.Qr)(Z),(0,D.Qr)(Q),(0,D.Qr)(le),(0,D.Qr)(L),(0,D.Qr)(T)},31632:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{TriggerParameterHintsAction:function(){return ue}});var h=i(69323),H=i(4514),O=i(68987),P=i(27347),D=i(96283),G=i(79881),I=i(72999),y=i(4968),E=i(72146),p=i(16862),a=i(35884),g=i(90689),w=function(We,ae,fe,ne){function W($){return $ instanceof fe?$:new fe(function(ee){ee($)})}return new(fe||(fe=Promise))(function($,ee){function he(it){try{Ye(ne.next(it))}catch(rt){ee(rt)}}function Pe(it){try{Ye(ne.throw(it))}catch(rt){ee(rt)}}function Ye(it){it.done?$(it.value):W(it.value).then(he,Pe)}Ye((ne=ne.apply(We,ae||[])).next())})};const s={Visible:new g.uy("parameterHintsVisible",!1),MultipleSignatures:new g.uy("parameterHintsMultipleSignatures",!1)};function C(We,ae,fe,ne){return w(this,void 0,void 0,function*(){const W=P.nD.ordered(We);for(const $ of W)try{const ee=yield $.provideSignatureHelp(We,ae,ne,fe);if(ee)return ee}catch(ee){(0,G.Cp)(ee)}})}a.P.registerCommand("_executeSignatureHelpProvider",(We,...ae)=>w(void 0,void 0,void 0,function*(){const[fe,ne,W]=ae;(0,I.p_)(y.o.isUri(fe)),(0,I.p_)(E.L.isIPosition(ne)),(0,I.p_)(typeof W=="string"||!W);const $=yield We.get(p.S).createModelReference(fe);try{const ee=yield C($.object.textEditorModel,E.L.lift(ne),{triggerKind:P.WW.Invoke,isRetrigger:!1,triggerCharacter:W},D.T.None);return ee?(setTimeout(()=>ee.dispose(),0),ee.value):void 0}finally{$.dispose()}}));var f=i(13268),v=i(16925),r=i(69454),l=i(58941),m=i(1336),c=i(52615),b=i(4348),L=i(82983),T=i(56327),M=i(64992),z=i(50431),oe=i(14788),se=function(We,ae,fe,ne){function W($){return $ instanceof fe?$:new fe(function(ee){ee($)})}return new(fe||(fe=Promise))(function($,ee){function he(it){try{Ye(ne.next(it))}catch(rt){ee(rt)}}function Pe(it){try{Ye(ne.throw(it))}catch(rt){ee(rt)}}function Ye(it){it.done?$(it.value):W(it.value).then(he,Pe)}Ye((ne=ne.apply(We,ae||[])).next())})},re;(function(We){We.Default={type:0};class ae{constructor(W,$){this.request=W,this.previouslyActiveHints=$,this.type=2}}We.Pending=ae;class fe{constructor(W){this.hints=W,this.type=1}}We.Active=fe})(re||(re={}));class De extends h.JT{constructor(ae,fe=De.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new b.Q5),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=re.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new h.XK),this.triggerChars=new oe.q,this.retriggerChars=new oe.q,this.triggerId=0,this.editor=ae,this.throttledDelayer=new z.vp(fe),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(ne=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(ne=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(ne=>this.onCursorChange(ne))),this._register(this.editor.onDidChangeModelContent(ne=>this.onModelContentChange())),this._register(P.nD.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(ne=>this.onDidType(ne))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(ae){this._state.type===2&&this._state.request.cancel(),this._state=ae}cancel(ae=!1){this.state=re.Default,this.throttledDelayer.cancel(),ae||this._onChangedHints.fire(void 0)}trigger(ae,fe){const ne=this.editor.getModel();if(!ne||!P.nD.has(ne))return;const W=++this.triggerId;this._pendingTriggers.push(ae),this.throttledDelayer.trigger(()=>this.doTrigger(W),fe).catch(G.dL)}next(){if(this.state.type!==1)return;const ae=this.state.hints.signatures.length,fe=this.state.hints.activeSignature,ne=fe%ae===ae-1,W=this.editor.getOption(75).cycle;if((ae<2||ne)&&!W){this.cancel();return}this.updateActiveSignature(ne&&W?0:fe+1)}previous(){if(this.state.type!==1)return;const ae=this.state.hints.signatures.length,fe=this.state.hints.activeSignature,ne=fe===0,W=this.editor.getOption(75).cycle;if((ae<2||ne)&&!W){this.cancel();return}this.updateActiveSignature(ne&&W?ae-1:fe-1)}updateActiveSignature(ae){this.state.type===1&&(this.state=new re.Active(Object.assign(Object.assign({},this.state.hints),{activeSignature:ae})),this._onChangedHints.fire(this.state.hints))}doTrigger(ae){return se(this,void 0,void 0,function*(){const fe=this.state.type===1||this.state.type===2,ne=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const W=this._pendingTriggers.reduce(J);this._pendingTriggers=[];const $={triggerKind:W.triggerKind,triggerCharacter:W.triggerCharacter,isRetrigger:fe,activeSignatureHelp:ne};if(!this.editor.hasModel())return!1;const ee=this.editor.getModel(),he=this.editor.getPosition();this.state=new re.Pending((0,z.PG)(Pe=>C(ee,he,$,Pe)),ne);try{const Pe=yield this.state.request;return ae!==this.triggerId?(Pe==null||Pe.dispose(),!1):!Pe||!Pe.value.signatures||Pe.value.signatures.length===0?(Pe==null||Pe.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new re.Active(Pe.value),this._lastSignatureHelpResult.value=Pe,this._onChangedHints.fire(this.state.hints),!0)}catch(Pe){return ae===this.triggerId&&(this.state=re.Default),(0,G.dL)(Pe),!1}})}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars=new oe.q,this.retriggerChars=new oe.q;const ae=this.editor.getModel();if(ae)for(const fe of P.nD.ordered(ae)){for(const ne of fe.signatureHelpTriggerCharacters||[])this.triggerChars.add(ne.charCodeAt(0)),this.retriggerChars.add(ne.charCodeAt(0));for(const ne of fe.signatureHelpRetriggerCharacters||[])this.retriggerChars.add(ne.charCodeAt(0))}}onDidType(ae){if(!this.triggerOnType)return;const fe=ae.length-1,ne=ae.charCodeAt(fe);(this.triggerChars.has(ne)||this.isTriggered&&this.retriggerChars.has(ne))&&this.trigger({triggerKind:P.WW.TriggerCharacter,triggerCharacter:ae.charAt(fe)})}onCursorChange(ae){ae.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:P.WW.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:P.WW.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(75).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}De.DEFAULT_DELAY=120;function J(We,ae){switch(ae.triggerKind){case P.WW.Invoke:return ae;case P.WW.ContentChange:return We;case P.WW.TriggerCharacter:default:return ae}}var Z=i(271),Q=i(44350),le=i(55773),xe=i(66213),j=i(49055),R=function(We,ae,fe,ne){var W=arguments.length,$=W<3?ae:ne===null?ne=Object.getOwnPropertyDescriptor(ae,fe):ne,ee;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")$=Reflect.decorate(We,ae,fe,ne);else for(var he=We.length-1;he>=0;he--)(ee=We[he])&&($=(W<3?ee($):W>3?ee(ae,fe,$):ee(ae,fe))||$);return W>3&&$&&Object.defineProperty(ae,fe,$),$},V=function(We,ae){return function(fe,ne){ae(fe,ne,We)}};const K=r.$,ie=(0,le.q5)("parameter-hints-next",c.lA.chevronDown,f.N("parameterHintsNextIcon","Icon for show next parameter hint.")),te=(0,le.q5)("parameter-hints-previous",c.lA.chevronUp,f.N("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let ge=class Ml extends h.JT{constructor(ae,fe,ne,W){super(),this.editor=ae,this.renderDisposeables=this._register(new h.SL),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new T.$({editor:ae},W,ne)),this.model=this._register(new De(ae)),this.keyVisible=s.Visible.bindTo(fe),this.keyMultipleSignatures=s.MultipleSignatures.bindTo(fe),this._register(this.model.onChangedHints($=>{$?(this.show(),this.render($)):this.hide()}))}createParameterHintDOMNodes(){const ae=K(".editor-widget.parameter-hints-widget"),fe=r.R3(ae,K(".phwrapper"));fe.tabIndex=-1;const ne=r.R3(fe,K(".controls")),W=r.R3(ne,K(".button"+j.kS.asCSSSelector(te))),$=r.R3(ne,K(".overloads")),ee=r.R3(ne,K(".button"+j.kS.asCSSSelector(ie)));this._register(r.nm(W,"click",vt=>{r.zB.stop(vt),this.previous()})),this._register(r.nm(ee,"click",vt=>{r.zB.stop(vt),this.next()}));const he=K(".body"),Pe=new m.s$(he,{});this._register(Pe),fe.appendChild(Pe.getDomNode());const Ye=r.R3(he,K(".signature")),it=r.R3(he,K(".docs"));ae.style.userSelect="text",this.domNodes={element:ae,signature:Ye,overloads:$,docs:it,scrollbar:Pe},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(vt=>{this.visible&&this.editor.layoutContentWidget(this)}));const rt=()=>{if(!this.domNodes)return;const vt=this.editor.getOption(43);this.domNodes.element.style.fontSize=`${vt.fontSize}px`,this.domNodes.element.style.lineHeight=`${vt.lineHeight/vt.fontSize}`};rt(),this._register(b.ju.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(vt=>vt.hasChanged(43)).on(rt,null)),this._register(this.editor.onDidLayoutChange(vt=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{this.domNodes&&this.domNodes.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,this.domNodes&&this.domNodes.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(ae){var fe;if(this.renderDisposeables.clear(),!this.domNodes)return;const ne=ae.signatures.length>1;this.domNodes.element.classList.toggle("multiple",ne),this.keyMultipleSignatures.set(ne),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const W=ae.signatures[ae.activeSignature];if(!W)return;const $=r.R3(this.domNodes.signature,K(".code")),ee=this.editor.getOption(43);$.style.fontSize=`${ee.fontSize}px`,$.style.fontFamily=ee.fontFamily;const he=W.parameters.length>0,Pe=(fe=W.activeParameter)!==null&&fe!==void 0?fe:ae.activeParameter;if(he)this.renderParameters($,W,Pe);else{const rt=r.R3($,K("span"));rt.textContent=W.label}const Ye=W.parameters[Pe];if(Ye!=null&&Ye.documentation){const rt=K("span.documentation");if(typeof Ye.documentation=="string")rt.textContent=Ye.documentation;else{const vt=this.renderMarkdownDocs(Ye.documentation);rt.appendChild(vt.element)}r.R3(this.domNodes.docs,K("p",{},rt))}if(W.documentation!==void 0)if(typeof W.documentation=="string")r.R3(this.domNodes.docs,K("p",{},W.documentation));else{const rt=this.renderMarkdownDocs(W.documentation);r.R3(this.domNodes.docs,rt.element)}const it=this.hasDocs(W,Ye);if(this.domNodes.signature.classList.toggle("has-docs",it),this.domNodes.docs.classList.toggle("empty",!it),this.domNodes.overloads.textContent=String(ae.activeSignature+1).padStart(ae.signatures.length.toString().length,"0")+"/"+ae.signatures.length,Ye){let rt="";const vt=W.parameters[Pe];Array.isArray(vt.label)?rt=W.label.substring(vt.label[0],vt.label[1]):rt=vt.label,vt.documentation&&(rt+=typeof vt.documentation=="string"?`, ${vt.documentation}`:`, ${vt.documentation.value}`),W.documentation&&(rt+=typeof W.documentation=="string"?`, ${W.documentation}`:`, ${W.documentation.value}`),this.announcedLabel!==rt&&(l.Z9(f.N("hint","{0}, hint",rt)),this.announcedLabel=rt)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(ae){const fe=this.renderDisposeables.add(this.markdownRenderer.render(ae,{asyncRenderCallback:()=>{var ne;(ne=this.domNodes)===null||ne===void 0||ne.scrollbar.scanDomNode()}}));return fe.element.classList.add("markdown-docs"),fe}hasDocs(ae,fe){return!!(fe&&typeof fe.documentation=="string"&&(0,I.cW)(fe.documentation).length>0||fe&&typeof fe.documentation=="object"&&(0,I.cW)(fe.documentation).value.length>0||ae.documentation&&typeof ae.documentation=="string"&&(0,I.cW)(ae.documentation).length>0||ae.documentation&&typeof ae.documentation=="object"&&(0,I.cW)(ae.documentation.value).length>0)}renderParameters(ae,fe,ne){const[W,$]=this.getParameterLabelOffsets(fe,ne),ee=document.createElement("span");ee.textContent=fe.label.substring(0,W);const he=document.createElement("span");he.textContent=fe.label.substring(W,$),he.className="parameter active";const Pe=document.createElement("span");Pe.textContent=fe.label.substring($),r.R3(ae,ee,he,Pe)}getParameterLabelOffsets(ae,fe){const ne=ae.parameters[fe];if(ne){if(Array.isArray(ne.label))return ne.label;if(ne.label.length){const W=new RegExp(`(\\W|^)${(0,L.ec)(ne.label)}(?=\\W|$)`,"g");W.test(ae.label);const $=W.lastIndex-ne.label.length;return $>=0?[$,W.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}cancel(){this.model.cancel()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return Ml.ID}trigger(ae){this.model.trigger(ae,0)}updateMaxHeight(){if(!this.domNodes)return;const fe=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=fe;const ne=this.domNodes.element.getElementsByClassName("phwrapper");ne.length&&(ne[0].style.maxHeight=fe)}};ge.ID="editor.widget.parameterHintsWidget",ge=R([V(1,g.i6),V(2,Z.v4),V(3,M.h)],ge);const ye=(0,Q.P6)("editorHoverWidget.highlightForeground",{dark:Q.Gw,light:Q.Gw,hc:Q.Gw},f.N("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));(0,j.Ic)((We,ae)=>{const fe=We.getColor(Q.CN);if(fe){const Ye=We.type===xe.e.HIGH_CONTRAST?2:1;ae.addRule(`.monaco-editor .parameter-hints-widget { border: ${Ye}px solid ${fe}; }`),ae.addRule(`.monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid ${fe.transparent(.5)}; }`),ae.addRule(`.monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid ${fe.transparent(.5)}; }`)}const ne=We.getColor(Q.yJ);ne&&ae.addRule(`.monaco-editor .parameter-hints-widget { background-color: ${ne}; }`);const W=We.getColor(Q.ur);W&&ae.addRule(`.monaco-editor .parameter-hints-widget a { color: ${W}; }`);const $=We.getColor(Q.sg);$&&ae.addRule(`.monaco-editor .parameter-hints-widget a:hover { color: ${$}; }`);const ee=We.getColor(Q.Sb);ee&&ae.addRule(`.monaco-editor .parameter-hints-widget { color: ${ee}; }`);const he=We.getColor(Q.Sw);he&&ae.addRule(`.monaco-editor .parameter-hints-widget code { background-color: ${he}; }`);const Pe=We.getColor(ye);Pe&&ae.addRule(`.monaco-editor .parameter-hints-widget .parameter.active { color: ${Pe}}`)});var ve=function(We,ae,fe,ne){var W=arguments.length,$=W<3?ae:ne===null?ne=Object.getOwnPropertyDescriptor(ae,fe):ne,ee;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")$=Reflect.decorate(We,ae,fe,ne);else for(var he=We.length-1;he>=0;he--)(ee=We[he])&&($=(W<3?ee($):W>3?ee(ae,fe,$):ee(ae,fe))||$);return W>3&&$&&Object.defineProperty(ae,fe,$),$},Fe=function(We,ae){return function(fe,ne){ae(fe,ne,We)}};let we=class Tl extends h.JT{constructor(ae,fe){super(),this.editor=ae,this.widget=this._register(fe.createInstance(ge,this.editor))}static get(ae){return ae.getContribution(Tl.ID)}cancel(){this.widget.cancel()}previous(){this.widget.previous()}next(){this.widget.next()}trigger(ae){this.widget.trigger(ae)}};we.ID="editor.controller.parameterHints",we=ve([Fe(1,v.TG)],we);class ue extends H.R6{constructor(){super({id:"editor.action.triggerParameterHints",label:f.N("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:O.u.hasSignatureHelpProvider,kbOpts:{kbExpr:O.u.editorTextFocus,primary:3082,weight:100}})}run(ae,fe){const ne=we.get(fe);ne&&ne.trigger({triggerKind:P.WW.Invoke})}}(0,H._K)(we.ID,we),(0,H.Qr)(ue);const ce=175,Ve=H._l.bindToContribution(we.get);(0,H.fK)(new Ve({id:"closeParameterHints",precondition:s.Visible,handler:We=>We.cancel(),kbOpts:{weight:ce,kbExpr:O.u.focus,primary:9,secondary:[1033]}})),(0,H.fK)(new Ve({id:"showPrevParameterHint",precondition:g.Ao.and(s.Visible,s.MultipleSignatures),handler:We=>We.previous(),kbOpts:{weight:ce,kbExpr:O.u.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),(0,H.fK)(new Ve({id:"showNextParameterHint",precondition:g.Ao.and(s.Visible,s.MultipleSignatures),handler:We=>We.next(),kbOpts:{weight:ce,kbExpr:O.u.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}))},7729:function(xt,Te,i){"use strict";i.d(Te,{Fw:function(){return J},Jy:function(){return Z},vk:function(){return j},rc:function(){return le},SC:function(){return ie},RX:function(){return we},sH:function(){return ue},WL:function(){return Ve},xH:function(){return We},M8:function(){return te},a7:function(){return ye},xk:function(){return ge},F8:function(){return ce},Zj:function(){return ve},IY:function(){return Fe},KY:function(){return R},IH:function(){return V},R7:function(){return K}});var h=i(69454),H=i(21784),O=i(75918),P=i(52615),D=i(51737),G=i(4348),I=i(80470),y=i(4514),E=i(70827),p=i(20712),a=i(39665),g=i(85035),w=i(69323),s=i(17373),C=i(31276);const f=new D.Il(new D.VS(0,122,204)),v={showArrow:!0,showFrame:!0,className:"",frameColor:f,arrowColor:f,keepEditorSelection:!1},r="vs.editor.contrib.zoneWidget";class l{constructor(fe,ne,W,$,ee,he){this.id="",this.domNode=fe,this.afterLineNumber=ne,this.afterColumn=W,this.heightInLines=$,this._onDomNodeTop=ee,this._onComputedHeight=he}onDomNodeTop(fe){this._onDomNodeTop(fe)}onComputedHeight(fe){this._onComputedHeight(fe)}}class m{constructor(fe,ne){this._id=fe,this._domNode=ne}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class c{constructor(fe){this._editor=fe,this._ruleName=c._IdGenerator.nextId(),this._decorations=[],this._color=null,this._height=-1}dispose(){this.hide(),h.uN(this._ruleName)}set color(fe){this._color!==fe&&(this._color=fe,this._updateStyle())}set height(fe){this._height!==fe&&(this._height=fe,this._updateStyle())}_updateStyle(){h.uN(this._ruleName),h.fk(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px; margin-left: -${this._height}px; `)}show(fe){this._decorations=this._editor.deltaDecorations(this._decorations,[{range:s.e.fromPositions(fe),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._editor.deltaDecorations(this._decorations,[])}}c._IdGenerator=new g.R(".arrow-decoration-");class b{constructor(fe,ne={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._positionMarkerId=[],this._viewZone=null,this._disposables=new w.SL,this.container=null,this._isShowing=!1,this.editor=fe,this.options=I.I8(ne),I.jB(this.options,v,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange(W=>{const $=this._getWidth(W);this.domNode.style.width=$+"px",this.domNode.style.left=this._getLeft(W)+"px",this._onWidth($)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(fe=>{this._viewZone&&fe.removeZone(this._viewZone.id),this._viewZone=null}),this.editor.deltaDecorations(this._positionMarkerId,[]),this._positionMarkerId=[],this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new c(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(fe){fe.frameColor&&(this.options.frameColor=fe.frameColor),fe.arrowColor&&(this.options.arrowColor=fe.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){let fe=this.options.frameColor.toString();this.container.style.borderTopColor=fe,this.container.style.borderBottomColor=fe}if(this._arrow&&this.options.arrowColor){let fe=this.options.arrowColor.toString();this._arrow.color=fe}}_getWidth(fe){return fe.width-fe.minimap.minimapWidth-fe.verticalScrollbarWidth}_getLeft(fe){return fe.minimap.minimapWidth>0&&fe.minimap.minimapLeft===0?fe.minimap.minimapWidth:0}_onViewZoneTop(fe){this.domNode.style.top=fe+"px"}_onViewZoneHeight(fe){if(this.domNode.style.height=`${fe}px`,this.container){let ne=fe-this._decoratingElementsHeight();this.container.style.height=`${ne}px`;const W=this.editor.getLayoutInfo();this._doLayout(ne,this._getWidth(W))}this._resizeSash&&this._resizeSash.layout()}get position(){const[fe]=this._positionMarkerId;if(!fe)return;const ne=this.editor.getModel();if(!ne)return;const W=ne.getDecorationRange(fe);if(W)return W.getStartPosition()}show(fe,ne){const W=s.e.isIRange(fe)?s.e.lift(fe):s.e.fromPositions(fe);this._isShowing=!0,this._showImpl(W,ne),this._isShowing=!1,this._positionMarkerId=this.editor.deltaDecorations(this._positionMarkerId,[{range:W,options:C.qx.EMPTY}])}hide(){this._viewZone&&(this.editor.changeViewZones(fe=>{this._viewZone&&fe.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow&&this._arrow.hide()}_decoratingElementsHeight(){let fe=this.editor.getOption(58),ne=0;if(this.options.showArrow){let W=Math.round(fe/3);ne+=2*W}if(this.options.showFrame){let W=Math.round(fe/9);ne+=2*W}return ne}_showImpl(fe,ne){const W=fe.getStartPosition(),$=this.editor.getLayoutInfo(),ee=this._getWidth($);this.domNode.style.width=`${ee}px`,this.domNode.style.left=this._getLeft($)+"px";const he=document.createElement("div");he.style.overflow="hidden";const Pe=this.editor.getOption(58),Ye=Math.max(12,this.editor.getLayoutInfo().height/Pe*.8);ne=Math.min(ne,Ye);let it=0,rt=0;if(this._arrow&&this.options.showArrow&&(it=Math.round(Pe/3),this._arrow.height=it,this._arrow.show(W)),this.options.showFrame&&(rt=Math.round(Pe/9)),this.editor.changeViewZones(Ht=>{this._viewZone&&Ht.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new l(he,W.lineNumber,W.column,ne,ze=>this._onViewZoneTop(ze),ze=>this._onViewZoneHeight(ze)),this._viewZone.id=Ht.addZone(this._viewZone),this._overlayWidget=new m(r+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const Ht=this.options.frameWidth?this.options.frameWidth:rt;this.container.style.borderTopWidth=Ht+"px",this.container.style.borderBottomWidth=Ht+"px"}let vt=ne*Pe-this._decoratingElementsHeight();this.container&&(this.container.style.top=it+"px",this.container.style.height=vt+"px",this.container.style.overflow="hidden"),this._doLayout(vt,ee),this.options.keepEditorSelection||this.editor.setSelection(fe);const Ft=this.editor.getModel();if(Ft){const Ht=fe.endLineNumber+1;Ht<=Ft.getLineCount()?this.revealLine(Ht,!1):this.revealLine(Ft.getLineCount(),!0)}}revealLine(fe,ne){ne?this.editor.revealLineInCenter(fe,0):this.editor.revealLine(fe,0)}setCssClass(fe,ne){this.container&&(ne&&this.container.classList.remove(ne),this.container.classList.add(fe))}_onWidth(fe){}_doLayout(fe,ne){}_relayout(fe){this._viewZone&&this._viewZone.heightInLines!==fe&&this.editor.changeViewZones(ne=>{this._viewZone&&(this._viewZone.heightInLines=fe,ne.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new a.g(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.hide(),this._resizeSash.state=0);let fe;this._disposables.add(this._resizeSash.onDidStart(ne=>{this._viewZone&&(fe={startY:ne.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{fe=void 0})),this._disposables.add(this._resizeSash.onDidChange(ne=>{if(fe){let W=(ne.currentY-fe.startY)/this.editor.getOption(58),$=W<0?Math.ceil(W):Math.floor(W),ee=fe.heightInLines+$;ee>5&&ee<35&&this._relayout(ee)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const fe=this.editor.getLayoutInfo();return fe.width-fe.minimap.minimapWidth}}var L=i(13268),T=i(68489),M=i(90689),z=i(7335),oe=i(16925),se=i(44350),re=function(ae,fe,ne,W){var $=arguments.length,ee=$<3?fe:W===null?W=Object.getOwnPropertyDescriptor(fe,ne):W,he;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ee=Reflect.decorate(ae,fe,ne,W);else for(var Pe=ae.length-1;Pe>=0;Pe--)(he=ae[Pe])&&(ee=($<3?he(ee):$>3?he(fe,ne,ee):he(fe,ne))||ee);return $>3&&ee&&Object.defineProperty(fe,ne,ee),ee},De=function(ae,fe){return function(ne,W){fe(ne,W,ae)}};const J=(0,oe.yh)("IPeekViewService");(0,z.z)(J,class{constructor(){this._widgets=new Map}addExclusiveWidget(ae,fe){const ne=this._widgets.get(ae);ne&&(ne.listener.dispose(),ne.widget.dispose());const W=()=>{const $=this._widgets.get(ae);$&&$.widget===fe&&($.listener.dispose(),this._widgets.delete(ae))};this._widgets.set(ae,{widget:fe,listener:fe.onDidClose(W)})}});var Z;(function(ae){ae.inPeekEditor=new M.uy("inReferenceSearchEditor",!0,L.N("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),ae.notInPeekEditor=ae.inPeekEditor.toNegated()})(Z||(Z={}));let Q=class{constructor(fe,ne){fe instanceof p.H&&Z.inPeekEditor.bindTo(ne)}dispose(){}};Q.ID="editor.contrib.referenceController",Q=re([De(1,M.i6)],Q),(0,y._K)(Q.ID,Q);function le(ae){let fe=ae.get(E.$).getFocusedCodeEditor();return fe instanceof p.H?fe.getParentEditor():fe}const xe={headerBackgroundColor:D.Il.white,primaryHeadingColor:D.Il.fromHex("#333333"),secondaryHeadingColor:D.Il.fromHex("#6c6c6cb3")};let j=class extends b{constructor(fe,ne,W){super(fe,ne),this.instantiationService=W,this._onDidClose=new G.Q5,this.onDidClose=this._onDidClose.event,I.jB(this.options,xe,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(fe){let ne=this.options;fe.headerBackgroundColor&&(ne.headerBackgroundColor=fe.headerBackgroundColor),fe.primaryHeadingColor&&(ne.primaryHeadingColor=fe.primaryHeadingColor),fe.secondaryHeadingColor&&(ne.secondaryHeadingColor=fe.secondaryHeadingColor),super.style(fe)}_applyStyles(){super._applyStyles();let fe=this.options;this._headElement&&fe.headerBackgroundColor&&(this._headElement.style.backgroundColor=fe.headerBackgroundColor.toString()),this._primaryHeading&&fe.primaryHeadingColor&&(this._primaryHeading.style.color=fe.primaryHeadingColor.toString()),this._secondaryHeading&&fe.secondaryHeadingColor&&(this._secondaryHeading.style.color=fe.secondaryHeadingColor.toString()),this._bodyElement&&fe.frameColor&&(this._bodyElement.style.borderColor=fe.frameColor.toString())}_fillContainer(fe){this.setCssClass("peekview-widget"),this._headElement=h.$(".head"),this._bodyElement=h.$(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),fe.appendChild(this._headElement),fe.appendChild(this._bodyElement)}_fillHead(fe,ne){const W=h.$(".peekview-title");this.options.supportOnTitleClick&&(W.classList.add("clickable"),h.mu(W,"click",he=>this._onTitleClick(he))),h.R3(this._headElement,W),this._fillTitleIcon(W),this._primaryHeading=h.$("span.filename"),this._secondaryHeading=h.$("span.dirname"),this._metaHeading=h.$("span.meta"),h.R3(W,this._primaryHeading,this._secondaryHeading,this._metaHeading);const $=h.$(".peekview-actions");h.R3(this._headElement,$);const ee=this._getActionBarOptions();this._actionbarWidget=new H.o($,ee),this._disposables.add(this._actionbarWidget),ne||this._actionbarWidget.push(new O.aU("peekview.close",L.N("label.close","Close"),P.lA.close.classNames,!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(fe){}_getActionBarOptions(){return{actionViewItemProvider:T.Id.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(fe){}setTitle(fe,ne){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=fe,this._primaryHeading.setAttribute("title",fe),ne?this._secondaryHeading.innerText=ne:h.PO(this._secondaryHeading))}setMetaTitle(fe){this._metaHeading&&(fe?(this._metaHeading.innerText=fe,h.$Z(this._metaHeading)):h.Cp(this._metaHeading))}_doLayout(fe,ne){if(!this._isShowing&&fe<0){this.dispose();return}const W=Math.ceil(this.editor.getOption(58)*1.2),$=Math.round(fe-(W+2));this._doLayoutHead(W,ne),this._doLayoutBody($,ne)}_doLayoutHead(fe,ne){this._headElement&&(this._headElement.style.height=`${fe}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(fe,ne){this._bodyElement&&(this._bodyElement.style.height=`${fe}px`)}};j=re([De(2,oe.TG)],j);const R=(0,se.P6)("peekViewTitle.background",{dark:(0,se.Zn)(se.c6,.1),light:(0,se.Zn)(se.c6,.1),hc:null},L.N("peekViewTitleBackground","Background color of the peek view title area.")),V=(0,se.P6)("peekViewTitleLabel.foreground",{dark:D.Il.white,light:D.Il.black,hc:D.Il.white},L.N("peekViewTitleForeground","Color of the peek view title.")),K=(0,se.P6)("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hc:"#FFFFFF99"},L.N("peekViewTitleInfoForeground","Color of the peek view title info.")),ie=(0,se.P6)("peekView.border",{dark:se.c6,light:se.c6,hc:se.lR},L.N("peekViewBorder","Color of the peek view borders and arrow.")),te=(0,se.P6)("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hc:D.Il.black},L.N("peekViewResultsBackground","Background color of the peek view result list.")),ge=(0,se.P6)("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hc:D.Il.white},L.N("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),ye=(0,se.P6)("peekViewResult.fileForeground",{dark:D.Il.white,light:"#1E1E1E",hc:D.Il.white},L.N("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),ve=(0,se.P6)("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hc:null},L.N("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),Fe=(0,se.P6)("peekViewResult.selectionForeground",{dark:D.Il.white,light:"#6C6C6C",hc:D.Il.white},L.N("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list.")),we=(0,se.P6)("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hc:D.Il.black},L.N("peekViewEditorBackground","Background color of the peek view editor.")),ue=(0,se.P6)("peekViewEditorGutter.background",{dark:we,light:we,hc:we},L.N("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),ce=(0,se.P6)("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hc:null},L.N("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),Ve=(0,se.P6)("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hc:null},L.N("peekViewEditorMatchHighlight","Match highlight color in the peek view editor.")),We=(0,se.P6)("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hc:se.xL},L.N("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."))},37822:function(xt,Te,i){"use strict";i.d(Te,{X:function(){return y}});var h=i(17845),H=i(69323),O=i(72999),P=i(62843),D=i(51682),G=i(30297),I=i(49055);class y{constructor(p){this.options=p,this.rangeHighlightDecorationId=void 0}provide(p,a){var g;const w=new H.SL;p.canAcceptInBackground=!!(!((g=this.options)===null||g===void 0)&&g.canAcceptInBackground),p.matchOnLabel=p.matchOnDescription=p.matchOnDetail=p.sortByLabel=!1;const s=w.add(new H.XK);return s.value=this.doProvide(p,a),w.add(this.onDidActiveTextEditorControlChange(()=>{s.value=void 0,s.value=this.doProvide(p,a)})),w}doProvide(p,a){const g=new H.SL,w=this.activeTextEditorControl;if(w&&this.canProvideWithTextEditor(w)){const s={editor:w},C=(0,P.Pi)(w);if(C){let f=(0,O.f6)(w.saveViewState());g.add(C.onDidChangeCursorPosition(()=>{f=(0,O.f6)(w.saveViewState())})),s.restoreViewState=()=>{f&&w===this.activeTextEditorControl&&w.restoreViewState(f)},g.add((0,h.I)(a.onCancellationRequested)(()=>{var v;return(v=s.restoreViewState)===null||v===void 0?void 0:v.call(s)}))}g.add((0,H.OF)(()=>this.clearDecorations(w))),g.add(this.provideWithTextEditor(s,p,a))}else g.add(this.provideWithoutTextEditor(p,a));return g}canProvideWithTextEditor(p){return!0}gotoLocation({editor:p},a){p.setSelection(a.range),p.revealRangeInCenter(a.range,0),a.preserveFocus||p.focus()}getModel(p){var a;return(0,P.QI)(p)?(a=p.getModel())===null||a===void 0?void 0:a.modified:p.getModel()}addDecorations(p,a){p.changeDecorations(g=>{const w=[];this.rangeHighlightDecorationId&&(w.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),w.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const s=[{range:a,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:a,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:(0,I.EN)(G.m9),position:D.sh.Full}}}],[C,f]=g.deltaDecorations(w,s);this.rangeHighlightDecorationId={rangeHighlightId:C,overviewRulerDecorationId:f}})}clearDecorations(p){const a=this.rangeHighlightDecorationId;a&&(p.changeDecorations(g=>{g.deltaDecorations([a.overviewRulerDecorationId,a.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}},38762:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{RenameAction:function(){return K},rename:function(){return R}});var h=i(58941),H=i(50431),O=i(96283),P=i(79881),D=i(69323),G=i(72999),I=i(4968),y=i(39528),E=i(4514),p=i(97705),a=i(70827),g=i(72146),w=i(17373),s=i(68987),C=i(27347),f=i(62284),v=i(2658),r=i(13268),l=i(20855),m=i(90689),c=i(16925),b=i(44182),L=i(79504),T=i(81641),M=i(44650),z=i(5898),oe=i(44350),se=i(49055),re=function(te,ge,ye,ve){var Fe=arguments.length,we=Fe<3?ge:ve===null?ve=Object.getOwnPropertyDescriptor(ge,ye):ve,ue;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")we=Reflect.decorate(te,ge,ye,ve);else for(var ce=te.length-1;ce>=0;ce--)(ue=te[ce])&&(we=(Fe<3?ue(we):Fe>3?ue(ge,ye,we):ue(ge,ye))||we);return Fe>3&&we&&Object.defineProperty(ge,ye,we),we},De=function(te,ge){return function(ye,ve){ge(ye,ve,te)}};const J=new m.uy("renameInputVisible",!1,(0,r.N)("renameInputVisible","Whether the rename input widget is visible"));let Z=class{constructor(ge,ye,ve,Fe,we){this._editor=ge,this._acceptKeybindings=ye,this._themeService=ve,this._keybindingService=Fe,this._disposables=new D.SL,this.allowEditorOverflow=!0,this._visibleContextKey=J.bindTo(we),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(ue=>{ue.hasChanged(43)&&this._updateFont()})),this._disposables.add(ve.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){if(!this._domNode){this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._input=document.createElement("input"),this._input.className="rename-input",this._input.type="text",this._input.setAttribute("aria-label",(0,r.N)("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._input),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label);const ge=()=>{var ye,ve;const[Fe,we]=this._acceptKeybindings;this._keybindingService.lookupKeybinding(Fe),this._label.innerText=(0,r.N)({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",(ye=this._keybindingService.lookupKeybinding(Fe))===null||ye===void 0?void 0:ye.getLabel(),(ve=this._keybindingService.lookupKeybinding(we))===null||ve===void 0?void 0:ve.getLabel())};ge(),this._disposables.add(this._keybindingService.onDidUpdateKeybindings(ge)),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())}return this._domNode}_updateStyles(ge){var ye,ve,Fe,we;if(!this._input||!this._domNode)return;const ue=ge.getColor(oe.rh);this._domNode.style.backgroundColor=String((ye=ge.getColor(oe.D0))!==null&&ye!==void 0?ye:""),this._domNode.style.boxShadow=ue?` 0 0 8px 2px ${ue}`:"",this._domNode.style.color=String((ve=ge.getColor(oe.zJ))!==null&&ve!==void 0?ve:""),this._input.style.backgroundColor=String((Fe=ge.getColor(oe.sE))!==null&&Fe!==void 0?Fe:"");const ce=ge.getColor(oe.dt);this._input.style.borderWidth=ce?"1px":"0px",this._input.style.borderStyle=ce?"solid":"none",this._input.style.borderColor=(we=ce==null?void 0:ce.toString())!==null&&we!==void 0?we:"none"}_updateFont(){if(!this._input||!this._label)return;const ge=this._editor.getOption(43);this._input.style.fontFamily=ge.fontFamily,this._input.style.fontWeight=ge.fontWeight,this._input.style.fontSize=`${ge.fontSize}px`,this._label.style.fontSize=`${ge.fontSize*.8}px`}getPosition(){return this._visible?{position:this._position,preference:[2,1]}:null}afterRender(ge){ge||this.cancelInput(!0)}acceptInput(ge){this._currentAcceptInput&&this._currentAcceptInput(ge)}cancelInput(ge){this._currentCancelInput&&this._currentCancelInput(ge)}getInput(ge,ye,ve,Fe,we,ue){this._domNode.classList.toggle("preview",we),this._position=new g.L(ge.startLineNumber,ge.startColumn),this._input.value=ye,this._input.setAttribute("selectionStart",ve.toString()),this._input.setAttribute("selectionEnd",Fe.toString()),this._input.size=Math.max((ge.endColumn-ge.startColumn)*1.1,20);const ce=new D.SL;return new Promise(Ve=>{this._currentCancelInput=We=>(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,Ve(We),!0),this._currentAcceptInput=We=>{if(this._input.value.trim().length===0||this._input.value===ye){this.cancelInput(!0);return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,Ve({newName:this._input.value,wantsPreview:we&&We})},ue.onCancellationRequested(()=>this.cancelInput(!0)),ce.add(this._editor.onDidBlurEditorWidget(()=>this.cancelInput(!1))),this._show()}).finally(()=>{ce.dispose(),this._hide()})}_show(){this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._input.focus(),this._input.setSelectionRange(parseInt(this._input.getAttribute("selectionStart")),parseInt(this._input.getAttribute("selectionEnd")))},100)}_hide(){this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}};Z=re([De(2,se.XE),De(3,z.d),De(4,m.i6)],Z);var Q=function(te,ge,ye,ve){var Fe=arguments.length,we=Fe<3?ge:ve===null?ve=Object.getOwnPropertyDescriptor(ge,ye):ve,ue;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")we=Reflect.decorate(te,ge,ye,ve);else for(var ce=te.length-1;ce>=0;ce--)(ue=te[ce])&&(we=(Fe<3?ue(we):Fe>3?ue(ge,ye,we):ue(ge,ye))||we);return Fe>3&&we&&Object.defineProperty(ge,ye,we),we},le=function(te,ge){return function(ye,ve){ge(ye,ve,te)}},xe=function(te,ge,ye,ve){function Fe(we){return we instanceof ye?we:new ye(function(ue){ue(we)})}return new(ye||(ye=Promise))(function(we,ue){function ce(ae){try{We(ve.next(ae))}catch(fe){ue(fe)}}function Ve(ae){try{We(ve.throw(ae))}catch(fe){ue(fe)}}function We(ae){ae.done?we(ae.value):Fe(ae.value).then(ce,Ve)}We((ve=ve.apply(te,ge||[])).next())})};class j{constructor(ge,ye){this.model=ge,this.position=ye,this._providerRenameIdx=0,this._providers=C.G0.ordered(ge)}hasProvider(){return this._providers.length>0}resolveRenameLocation(ge){return xe(this,void 0,void 0,function*(){const ye=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){const Fe=this._providers[this._providerRenameIdx];if(!Fe.resolveRenameLocation)break;let we=yield Fe.resolveRenameLocation(this.model,this.position,ge);if(we){if(we.rejectReason){ye.push(we.rejectReason);continue}return we}}const ve=this.model.getWordAtPosition(this.position);return ve?{range:new w.e(this.position.lineNumber,ve.startColumn,this.position.lineNumber,ve.endColumn),text:ve.word,rejectReason:ye.length>0?ye.join(`
`):void 0}:{range:w.e.fromPositions(this.position),text:"",rejectReason:ye.length>0?ye.join(`
`):void 0}})}provideRenameEdits(ge,ye){return xe(this,void 0,void 0,function*(){return this._provideRenameEdits(ge,this._providerRenameIdx,[],ye)})}_provideRenameEdits(ge,ye,ve,Fe){return xe(this,void 0,void 0,function*(){const we=this._providers[ye];if(!we)return{edits:[],rejectReason:ve.join(`
`)};const ue=yield we.provideRenameEdits(this.model,this.position,ge,Fe);if(ue){if(ue.rejectReason)return this._provideRenameEdits(ge,ye+1,ve.concat(ue.rejectReason),Fe)}else return this._provideRenameEdits(ge,ye+1,ve.concat(r.N("no result","No result.")),Fe);return ue})}}function R(te,ge,ye){return xe(this,void 0,void 0,function*(){const ve=new j(te,ge),Fe=yield ve.resolveRenameLocation(O.T.None);return Fe!=null&&Fe.rejectReason?{edits:[],rejectReason:Fe.rejectReason}:ve.provideRenameEdits(ye,O.T.None)})}let V=class Rl{constructor(ge,ye,ve,Fe,we,ue,ce){this.editor=ge,this._instaService=ye,this._notificationService=ve,this._bulkEditService=Fe,this._progressService=we,this._logService=ue,this._configService=ce,this._dispoableStore=new D.SL,this._cts=new O.A,this._renameInputField=this._dispoableStore.add(new H.Ue(()=>this._dispoableStore.add(this._instaService.createInstance(Z,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))))}static get(ge){return ge.getContribution(Rl.ID)}dispose(){this._dispoableStore.dispose(),this._cts.dispose(!0)}run(){return xe(this,void 0,void 0,function*(){if(this._cts.dispose(!0),!this.editor.hasModel())return;const ge=this.editor.getPosition(),ye=new j(this.editor.getModel(),ge);if(!ye.hasProvider())return;this._cts=new y.Dl(this.editor,5);let ve;try{const ae=ye.resolveRenameLocation(this._cts.token);this._progressService.showWhile(ae,250),ve=yield ae}catch(ae){v.O.get(this.editor).showMessage(ae||r.N("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),ge);return}if(!ve)return;if(ve.rejectReason){v.O.get(this.editor).showMessage(ve.rejectReason,ge);return}if(this._cts.token.isCancellationRequested)return;this._cts.dispose(),this._cts=new y.Dl(this.editor,5,ve.range);let Fe=this.editor.getSelection(),we=0,ue=ve.text.length;!w.e.isEmpty(Fe)&&!w.e.spansMultipleLines(Fe)&&w.e.containsRange(ve.range,Fe)&&(we=Math.max(0,Fe.startColumn-ve.range.startColumn),ue=Math.min(ve.range.endColumn,Fe.endColumn)-ve.range.startColumn);const ce=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),Ve=yield this._renameInputField.value.getInput(ve.range,ve.text,we,ue,ce,this._cts.token);if(typeof Ve=="boolean"){Ve&&this.editor.focus();return}this.editor.focus();const We=(0,H.eP)(ye.provideRenameEdits(Ve.newName,this._cts.token),this._cts.token).then(ae=>xe(this,void 0,void 0,function*(){if(!(!ae||!this.editor.hasModel())){if(ae.rejectReason){this._notificationService.info(ae.rejectReason);return}this.editor.setSelection(w.e.fromPositions(this.editor.getSelection().getPosition())),this._bulkEditService.apply(p.fo.convert(ae),{editor:this.editor,showPreview:Ve.wantsPreview,label:r.N("label","Renaming '{0}'",ve==null?void 0:ve.text),quotableLabel:r.N("quotableLabel","Renaming {0}",ve==null?void 0:ve.text)}).then(fe=>{fe.ariaSummary&&(0,h.Z9)(r.N("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",ve.text,Ve.newName,fe.ariaSummary))}).catch(fe=>{this._notificationService.error(r.N("rename.failedApply","Rename failed to apply edits")),this._logService.error(fe)})}}),ae=>{this._notificationService.error(r.N("rename.failed","Rename failed to compute edits")),this._logService.error(ae)});return this._progressService.showWhile(We,250),We})}acceptRenameInput(ge){this._renameInputField.value.acceptInput(ge)}cancelRenameInput(){this._renameInputField.value.cancelInput(!0)}};V.ID="editor.contrib.renameController",V=Q([le(1,c.TG),le(2,L.lT),le(3,p.vu),le(4,T.e),le(5,b.VZ),le(6,f.V)],V);class K extends E.R6{constructor(){super({id:"editor.action.rename",label:r.N("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:m.Ao.and(s.u.writable,s.u.hasRenameProvider),kbOpts:{kbExpr:s.u.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(ge,ye){const ve=ge.get(a.$),[Fe,we]=Array.isArray(ye)&&ye||[void 0,void 0];return I.o.isUri(Fe)&&g.L.isIPosition(we)?ve.openCodeEditor({resource:Fe},ve.getActiveCodeEditor()).then(ue=>{ue&&(ue.setPosition(we),ue.invokeWithinContext(ce=>(this.reportTelemetry(ce,ue),this.run(ce,ue))))},P.dL):super.runCommand(ge,ye)}run(ge,ye){const ve=V.get(ye);return ve?ve.run():Promise.resolve()}}(0,E._K)(V.ID,V),(0,E.Qr)(K);const ie=E._l.bindToContribution(V.get);(0,E.fK)(new ie({id:"acceptRenameInput",precondition:J,handler:te=>te.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:s.u.focus,primary:3}})),(0,E.fK)(new ie({id:"acceptRenameInputWithPreview",precondition:m.Ao.and(J,m.Ao.has("config.editor.rename.enablePreview")),handler:te=>te.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:s.u.focus,primary:1027}})),(0,E.fK)(new ie({id:"cancelRenameInput",precondition:J,handler:te=>te.cancelRenameInput(),kbOpts:{weight:199,kbExpr:s.u.focus,primary:9,secondary:[1033]}})),(0,E.sb)("_executeDocumentRenameProvider",function(te,ge,...ye){const[ve]=ye;return(0,G.p_)(typeof ve=="string"),R(te,ge,ve)}),(0,E.sb)("_executePrepareRename",function(te,ge){return xe(this,void 0,void 0,function*(){const ve=yield new j(te,ge).resolveRenameLocation(O.T.None);if(ve!=null&&ve.rejectReason)throw new Error(ve.rejectReason);return ve})}),M.B.as(l.IP.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:r.N("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}})},28729:function(xt,Te,i){"use strict";i.d(Te,{x:function(){return D}});var h=i(34502),H=i(72146),O=i(17373),P=function(G,I,y,E){function p(a){return a instanceof y?a:new y(function(g){g(a)})}return new(y||(y=Promise))(function(a,g){function w(f){try{C(E.next(f))}catch(v){g(v)}}function s(f){try{C(E.throw(f))}catch(v){g(v)}}function C(f){f.done?a(f.value):p(f.value).then(w,s)}C((E=E.apply(G,I||[])).next())})};class D{provideSelectionRanges(I,y){return P(this,void 0,void 0,function*(){const E=[];for(const p of y){const a=[];E.push(a);const g=new Map;yield new Promise(w=>D._bracketsRightYield(w,0,I,p,g)),yield new Promise(w=>D._bracketsLeftYield(w,0,I,p,g,a))}return E})}static _bracketsRightYield(I,y,E,p,a){const g=new Map,w=Date.now();for(;;){if(y>=D._maxRounds){I();break}if(!p){I();break}let s=E.findNextBracket(p);if(!s){I();break}if(Date.now()-w>D._maxDuration){setTimeout(()=>D._bracketsRightYield(I,y+1,E,p,a));break}const f=s.close[0];if(s.isOpen){let v=g.has(f)?g.get(f):0;g.set(f,v+1)}else{let v=g.has(f)?g.get(f):0;if(v-=1,g.set(f,Math.max(0,v)),v<0){let r=a.get(f);r||(r=new h.S,a.set(f,r)),r.push(s.range)}}p=s.range.getEndPosition()}}static _bracketsLeftYield(I,y,E,p,a,g){const w=new Map,s=Date.now();for(;;){if(y>=D._maxRounds&&a.size===0){I();break}if(!p){I();break}let C=E.findPrevBracket(p);if(!C){I();break}if(Date.now()-s>D._maxDuration){setTimeout(()=>D._bracketsLeftYield(I,y+1,E,p,a,g));break}const v=C.close[0];if(C.isOpen){let r=w.has(v)?w.get(v):0;if(r-=1,w.set(v,Math.max(0,r)),r<0){let l=a.get(v);if(l){let m=l.shift();l.size===0&&a.delete(v);const c=O.e.fromPositions(C.range.getEndPosition(),m.getStartPosition()),b=O.e.fromPositions(C.range.getStartPosition(),m.getEndPosition());g.push({range:c}),g.push({range:b}),D._addBracketLeading(E,b,g)}}}else{let r=w.has(v)?w.get(v):0;w.set(v,r+1)}p=C.range.getStartPosition()}}static _addBracketLeading(I,y,E){if(y.startLineNumber===y.endLineNumber)return;const p=y.startLineNumber,a=I.getLineFirstNonWhitespaceColumn(p);a!==0&&a!==y.startColumn&&(E.push({range:O.e.fromPositions(new H.L(p,a),y.getEndPosition())}),E.push({range:O.e.fromPositions(new H.L(p,1),y.getEndPosition())}));const g=p-1;if(g>0){const w=I.getLineFirstNonWhitespaceColumn(g);w===y.startColumn&&w!==I.getLineLastNonWhitespaceColumn(g)&&(E.push({range:O.e.fromPositions(new H.L(g,w),y.getEndPosition())}),E.push({range:O.e.fromPositions(new H.L(g,1),y.getEndPosition())}))}}}D._maxDuration=30,D._maxRounds=2},71925:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{provideSelectionRanges:function(){return b}});var h=i(43506),H=i(96283),O=i(79881),P=i(4514),D=i(72146),G=i(17373),I=i(17551),y=i(68987),E=i(27347),p=i(28729),a=i(82983);class g{provideSelectionRanges(T,M){const z=[];for(const oe of M){const se=[];z.push(se),this._addInWordRanges(se,T,oe),this._addWordRanges(se,T,oe),this._addWhitespaceLine(se,T,oe),se.push({range:T.getFullModelRange()})}return z}_addInWordRanges(T,M,z){const oe=M.getWordAtPosition(z);if(!oe)return;let{word:se,startColumn:re}=oe,De=z.column-re,J=De,Z=De,Q=0;for(;J>=0;J--){let le=se.charCodeAt(J);if(J!==De&&(le===95||le===45))break;if((0,a.mK)(le)&&(0,a.df)(Q))break;Q=le}for(J+=1;Z<se.length;Z++){let le=se.charCodeAt(Z);if((0,a.df)(le)&&(0,a.mK)(Q))break;if(le===95||le===45)break;Q=le}J<Z&&T.push({range:new G.e(z.lineNumber,re+J,z.lineNumber,re+Z)})}_addWordRanges(T,M,z){const oe=M.getWordAtPosition(z);oe&&T.push({range:new G.e(z.lineNumber,oe.startColumn,z.lineNumber,oe.endColumn)})}_addWhitespaceLine(T,M,z){M.getLineLength(z.lineNumber)>0&&M.getLineFirstNonWhitespaceColumn(z.lineNumber)===0&&M.getLineLastNonWhitespaceColumn(z.lineNumber)===0&&T.push({range:new G.e(z.lineNumber,1,z.lineNumber,M.getLineMaxColumn(z.lineNumber))})}}var w=i(13268),s=i(96236),C=i(35884),f=function(L,T,M,z){function oe(se){return se instanceof M?se:new M(function(re){re(se)})}return new(M||(M=Promise))(function(se,re){function De(Q){try{Z(z.next(Q))}catch(le){re(le)}}function J(Q){try{Z(z.throw(Q))}catch(le){re(le)}}function Z(Q){Q.done?se(Q.value):oe(Q.value).then(De,J)}Z((z=z.apply(L,T||[])).next())})};class v{constructor(T,M){this.index=T,this.ranges=M}mov(T){let M=this.index+(T?1:-1);if(M<0||M>=this.ranges.length)return this;const z=new v(M,this.ranges);return z.ranges[M].equalsRange(this.ranges[this.index])?z.mov(T):z}}class r{constructor(T){this._editor=T,this._ignoreSelection=!1}static get(T){return T.getContribution(r.ID)}dispose(){var T;(T=this._selectionListener)===null||T===void 0||T.dispose()}run(T){return f(this,void 0,void 0,function*(){if(!this._editor.hasModel())return;const M=this._editor.getSelections(),z=this._editor.getModel();if(!E.AC.has(z)||(this._state||(yield b(z,M.map(se=>se.getPosition()),this._editor.getOption(101),H.T.None).then(se=>{var re;if(!(!h.Of(se)||se.length!==M.length)&&!(!this._editor.hasModel()||!h.fS(this._editor.getSelections(),M,(De,J)=>De.equalsSelection(J)))){for(let De=0;De<se.length;De++)se[De]=se[De].filter(J=>J.containsPosition(M[De].getStartPosition())&&J.containsPosition(M[De].getEndPosition())),se[De].unshift(M[De]);this._state=se.map(De=>new v(0,De)),(re=this._selectionListener)===null||re===void 0||re.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var De;this._ignoreSelection||((De=this._selectionListener)===null||De===void 0||De.dispose(),this._state=void 0)})}})),!this._state))return;this._state=this._state.map(se=>se.mov(T));const oe=this._state.map(se=>I.Y.fromPositions(se.ranges[se.index].getStartPosition(),se.ranges[se.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(oe)}finally{this._ignoreSelection=!1}})}}r.ID="editor.contrib.smartSelectController";class l extends P.R6{constructor(T,M){super(M),this._forward=T}run(T,M){return f(this,void 0,void 0,function*(){let z=r.get(M);z&&(yield z.run(this._forward))})}}class m extends l{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:w.N("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:y.u.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:s.eH.MenubarSelectionMenu,group:"1_basic",title:w.N({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}C.P.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class c extends l{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:w.N("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:y.u.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:s.eH.MenubarSelectionMenu,group:"1_basic",title:w.N({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}(0,P._K)(r.ID,r),(0,P.Qr)(m),(0,P.Qr)(c),E.AC.register("*",new g);function b(L,T,M,z){return f(this,void 0,void 0,function*(){const oe=E.AC.all(L);oe.length===1&&oe.unshift(new p.x);let se=[],re=[];for(const De of oe)se.push(Promise.resolve(De.provideSelectionRanges(L,T,z)).then(J=>{if(h.Of(J)&&J.length===T.length)for(let Z=0;Z<T.length;Z++){re[Z]||(re[Z]=[]);for(const Q of J[Z])G.e.isIRange(Q.range)&&G.e.containsPosition(Q.range,T[Z])&&re[Z].push(G.e.lift(Q.range))}},O.Cp));return yield Promise.all(se),re.map(De=>{if(De.length===0)return[];De.sort((le,xe)=>D.L.isBefore(le.getStartPosition(),xe.getStartPosition())?1:D.L.isBefore(xe.getStartPosition(),le.getStartPosition())||D.L.isBefore(le.getEndPosition(),xe.getEndPosition())?-1:D.L.isBefore(xe.getEndPosition(),le.getEndPosition())?1:0);let J=[],Z;for(const le of De)(!Z||G.e.containsRange(le,Z)&&!G.e.equalsRange(le,Z))&&(J.push(le),Z=le);if(!M.selectLeadingAndTrailingWhitespace)return J;let Q=[J[0]];for(let le=1;le<J.length;le++){const xe=J[le-1],j=J[le];if(j.startLineNumber!==xe.startLineNumber||j.endLineNumber!==xe.endLineNumber){const R=new G.e(xe.startLineNumber,L.getLineFirstNonWhitespaceColumn(xe.startLineNumber),xe.endLineNumber,L.getLineLastNonWhitespaceColumn(xe.endLineNumber));R.containsRange(xe)&&!R.equalsRange(xe)&&j.containsRange(R)&&!j.equalsRange(R)&&Q.push(R);const V=new G.e(xe.startLineNumber,1,xe.endLineNumber,L.getLineMaxColumn(xe.endLineNumber));V.containsRange(xe)&&!V.equalsRange(R)&&j.containsRange(V)&&!j.equalsRange(V)&&Q.push(V)}Q.push(j)}return Q})})}(0,P.f)("_executeSelectionRangeProvider",function(L,...T){const[M]=T;return b(L,M,{selectLeadingAndTrailingWhitespace:!0},H.T.None)})},19257:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{SnippetController2:function(){return s}});var h=i(69323),H=i(4514),O=i(17373),P=i(17551),D=i(68987),G=i(15817),I=i(13268),y=i(90689),E=i(44182),p=i(54266),a=function(f,v,r,l){var m=arguments.length,c=m<3?v:l===null?l=Object.getOwnPropertyDescriptor(v,r):l,b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")c=Reflect.decorate(f,v,r,l);else for(var L=f.length-1;L>=0;L--)(b=f[L])&&(c=(m<3?b(c):m>3?b(v,r,c):b(v,r))||c);return m>3&&c&&Object.defineProperty(v,r,c),c},g=function(f,v){return function(r,l){v(r,l,f)}};const w={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let s=class tr{constructor(v,r,l){this._editor=v,this._logService=r,this._snippetListener=new h.SL,this._modelVersionId=-1,this._inSnippet=tr.InSnippetMode.bindTo(l),this._hasNextTabstop=tr.HasNextTabstop.bindTo(l),this._hasPrevTabstop=tr.HasPrevTabstop.bindTo(l)}static get(v){return v.getContribution(tr.ID)}dispose(){var v;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),(v=this._session)===null||v===void 0||v.dispose(),this._snippetListener.dispose()}insert(v,r){try{this._doInsert(v,typeof r=="undefined"?w:Object.assign(Object.assign({},w),r))}catch(l){this.cancel(),this._logService.error(l),this._logService.error("snippet_error"),this._logService.error("insert_template=",v),this._logService.error("existing_template=",this._session?this._session._logInfo():"<no_session>")}}_doInsert(v,r){this._editor.hasModel()&&(this._snippetListener.clear(),r.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session?this._session.merge(v,r):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new p.l(this._editor,v,r),this._session.insert()),r.undoStopAfter&&this._editor.getModel().pushStackElement(),this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(l=>l.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState())))}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{choice:v}=this._session;if(!v){this._currentChoice=void 0;return}if(this._currentChoice!==v){this._currentChoice=v,this._editor.setSelections(this._editor.getSelections().map(l=>P.Y.fromPositions(l.getStartPosition())));const[r]=v.options;(0,G.i5)(this._editor,v.options.map((l,m)=>({kind:13,label:l.value,insertText:l.value,sortText:"a".repeat(m+1),range:O.e.fromPositions(this._editor.getPosition(),this._editor.getPosition().delta(0,r.value.length))})))}}finish(){for(;this._inSnippet.get();)this.next()}cancel(v=!1){var r;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),(r=this._session)===null||r===void 0||r.dispose(),this._session=void 0,this._modelVersionId=-1,v&&this._editor.setSelections([this._editor.getSelection()])}prev(){this._session&&this._session.prev(),this._updateState()}next(){this._session&&this._session.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}};s.ID="snippetController2",s.InSnippetMode=new y.uy("inSnippetMode",!1,(0,I.N)("inSnippetMode","Whether the editor in current in snippet mode")),s.HasNextTabstop=new y.uy("hasNextTabstop",!1,(0,I.N)("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),s.HasPrevTabstop=new y.uy("hasPrevTabstop",!1,(0,I.N)("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),s=a([g(1,E.VZ),g(2,y.i6)],s),(0,H._K)(s.ID,s);const C=H._l.bindToContribution(s.get);(0,H.fK)(new C({id:"jumpToNextSnippetPlaceholder",precondition:y.Ao.and(s.InSnippetMode,s.HasNextTabstop),handler:f=>f.next(),kbOpts:{weight:130,kbExpr:D.u.editorTextFocus,primary:2}})),(0,H.fK)(new C({id:"jumpToPrevSnippetPlaceholder",precondition:y.Ao.and(s.InSnippetMode,s.HasPrevTabstop),handler:f=>f.prev(),kbOpts:{weight:130,kbExpr:D.u.editorTextFocus,primary:1026}})),(0,H.fK)(new C({id:"leaveSnippet",precondition:s.InSnippetMode,handler:f=>f.cancel(!0),kbOpts:{weight:130,kbExpr:D.u.editorTextFocus,primary:9,secondary:[1033]}})),(0,H.fK)(new C({id:"acceptSnippet",precondition:s.InSnippetMode,handler:f=>f.finish()}))},85314:function(xt,Te,i){"use strict";i.d(Te,{Lv:function(){return G},Vm:function(){return D},Yj:function(){return g},xv:function(){return O}});class h{constructor(){this.value="",this.pos=0}static isDigitCharacter(s){return s>=48&&s<=57}static isVariableCharacter(s){return s===95||s>=97&&s<=122||s>=65&&s<=90}text(s){this.value=s,this.pos=0}tokenText(s){return this.value.substr(s.pos,s.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};let s=this.pos,C=0,f=this.value.charCodeAt(s),v;if(v=h._table[f],typeof v=="number")return this.pos+=1,{type:v,pos:s,len:1};if(h.isDigitCharacter(f)){v=8;do C+=1,f=this.value.charCodeAt(s+C);while(h.isDigitCharacter(f));return this.pos+=C,{type:v,pos:s,len:C}}if(h.isVariableCharacter(f)){v=9;do f=this.value.charCodeAt(s+ ++C);while(h.isVariableCharacter(f)||h.isDigitCharacter(f));return this.pos+=C,{type:v,pos:s,len:C}}v=10;do C+=1,f=this.value.charCodeAt(s+C);while(!isNaN(f)&&typeof h._table[f]=="undefined"&&!h.isDigitCharacter(f)&&!h.isVariableCharacter(f));return this.pos+=C,{type:v,pos:s,len:C}}}h._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};class H{constructor(){this._children=[]}appendChild(s){return s instanceof O&&this._children[this._children.length-1]instanceof O?this._children[this._children.length-1].value+=s.value:(s.parent=this,this._children.push(s)),this}replace(s,C){const{parent:f}=s,v=f.children.indexOf(s),r=f.children.slice(0);r.splice(v,1,...C),f._children=r,function l(m,c){for(const b of m)b.parent=c,l(b.children,b)}(C,f)}get children(){return this._children}get snippet(){let s=this;for(;;){if(!s)return;if(s instanceof a)return s;s=s.parent}}toString(){return this.children.reduce((s,C)=>s+C.toString(),"")}len(){return 0}}class O extends H{constructor(s){super(),this.value=s}toString(){return this.value}len(){return this.value.length}clone(){return new O(this.value)}}class P extends H{}class D extends P{constructor(s){super(),this.index=s}static compareByIndex(s,C){return s.index===C.index?0:s.isFinalTabstop?1:C.isFinalTabstop||s.index<C.index?-1:s.index>C.index?1:0}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof G?this._children[0]:void 0}clone(){let s=new D(this.index);return this.transform&&(s.transform=this.transform.clone()),s._children=this.children.map(C=>C.clone()),s}}class G extends H{constructor(){super(...arguments),this.options=[]}appendChild(s){return s instanceof O&&(s.parent=this,this.options.push(s)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){let s=new G;return this.options.forEach(s.appendChild,s),s}}class I extends H{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(s){const C=this;let f=!1,v=s.replace(this.regexp,function(){return f=!0,C._replace(Array.prototype.slice.call(arguments,0,-2))});return!f&&this._children.some(r=>r instanceof y&&!!r.elseValue)&&(v=this._replace([])),v}_replace(s){let C="";for(const f of this._children)if(f instanceof y){let v=s[f.index]||"";v=f.resolve(v),C+=v}else C+=f.toString();return C}toString(){return""}clone(){let s=new I;return s.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),s._children=this.children.map(C=>C.clone()),s}}class y extends H{constructor(s,C,f,v){super(),this.index=s,this.shorthandName=C,this.ifValue=f,this.elseValue=v}resolve(s){return this.shorthandName==="upcase"?s?s.toLocaleUpperCase():"":this.shorthandName==="downcase"?s?s.toLocaleLowerCase():"":this.shorthandName==="capitalize"?s?s[0].toLocaleUpperCase()+s.substr(1):"":this.shorthandName==="pascalcase"?s?this._toPascalCase(s):"":this.shorthandName==="camelcase"?s?this._toCamelCase(s):"":s&&typeof this.ifValue=="string"?this.ifValue:!s&&typeof this.elseValue=="string"?this.elseValue:s||""}_toPascalCase(s){const C=s.match(/[a-z0-9]+/gi);return C?C.map(f=>f.charAt(0).toUpperCase()+f.substr(1).toLowerCase()).join(""):s}_toCamelCase(s){const C=s.match(/[a-z0-9]+/gi);return C?C.map((f,v)=>v===0?f.toLowerCase():f.charAt(0).toUpperCase()+f.substr(1).toLowerCase()).join(""):s}clone(){return new y(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class E extends P{constructor(s){super(),this.name=s}resolve(s){let C=s.resolve(this);return this.transform&&(C=this.transform.resolve(C||"")),C!==void 0?(this._children=[new O(C)],!0):!1}clone(){const s=new E(this.name);return this.transform&&(s.transform=this.transform.clone()),s._children=this.children.map(C=>C.clone()),s}}function p(w,s){const C=[...w];for(;C.length>0;){const f=C.shift();if(!s(f))break;C.unshift(...f.children)}}class a extends H{get placeholderInfo(){if(!this._placeholders){let s=[],C;this.walk(function(f){return f instanceof D&&(s.push(f),C=!C||C.index<f.index?f:C),!0}),this._placeholders={all:s,last:C}}return this._placeholders}get placeholders(){const{all:s}=this.placeholderInfo;return s}offset(s){let C=0,f=!1;return this.walk(v=>v===s?(f=!0,!1):(C+=v.len(),!0)),f?C:-1}fullLen(s){let C=0;return p([s],f=>(C+=f.len(),!0)),C}enclosingPlaceholders(s){let C=[],{parent:f}=s;for(;f;)f instanceof D&&C.push(f),f=f.parent;return C}resolveVariables(s){return this.walk(C=>(C instanceof E&&C.resolve(s)&&(this._placeholders=void 0),!0)),this}appendChild(s){return this._placeholders=void 0,super.appendChild(s)}replace(s,C){return this._placeholders=void 0,super.replace(s,C)}clone(){let s=new a;return this._children=this.children.map(C=>C.clone()),s}walk(s){p(this.children,s)}}class g{constructor(){this._scanner=new h,this._token={type:14,pos:0,len:0}}static escape(s){return s.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(s){return/\${?CLIPBOARD/.test(s)}parse(s,C,f){this._scanner.text(s),this._token=this._scanner.next();const v=new a;for(;this._parse(v););const r=new Map,l=[];let m=0;v.walk(c=>(c instanceof D&&(m+=1,c.isFinalTabstop?r.set(0,void 0):!r.has(c.index)&&c.children.length>0?r.set(c.index,c.children):l.push(c)),!0));for(const c of l){const b=r.get(c.index);if(b){const L=new D(c.index);L.transform=c.transform;for(const T of b)L.appendChild(T.clone());v.replace(c,[L])}}return f||(f=m>0&&C),!r.has(0)&&f&&v.appendChild(new D(0)),v}_accept(s,C){if(s===void 0||this._token.type===s){let f=C?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),f}return!1}_backTo(s){return this._scanner.pos=s.pos+s.len,this._token=s,!1}_until(s){const C=this._token;for(;this._token.type!==s;){if(this._token.type===14)return!1;if(this._token.type===5){const v=this._scanner.next();if(v.type!==0&&v.type!==4&&v.type!==5)return!1}this._token=this._scanner.next()}const f=this._scanner.value.substring(C.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),f}_parse(s){return this._parseEscaped(s)||this._parseTabstopOrVariableName(s)||this._parseComplexPlaceholder(s)||this._parseComplexVariable(s)||this._parseAnything(s)}_parseEscaped(s){let C;return(C=this._accept(5,!0))?(C=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||C,s.appendChild(new O(C)),!0):!1}_parseTabstopOrVariableName(s){let C;const f=this._token;return this._accept(0)&&(C=this._accept(9,!0)||this._accept(8,!0))?(s.appendChild(/^\d+$/.test(C)?new D(Number(C)):new E(C)),!0):this._backTo(f)}_parseComplexPlaceholder(s){let C;const f=this._token;if(!(this._accept(0)&&this._accept(3)&&(C=this._accept(8,!0))))return this._backTo(f);const r=new D(Number(C));if(this._accept(1))for(;;){if(this._accept(4))return s.appendChild(r),!0;if(!this._parse(r))return s.appendChild(new O("${"+C+":")),r.children.forEach(s.appendChild,s),!0}else if(r.index>0&&this._accept(7)){const l=new G;for(;;){if(this._parseChoiceElement(l)){if(this._accept(2))continue;if(this._accept(7)&&(r.appendChild(l),this._accept(4)))return s.appendChild(r),!0}return this._backTo(f),!1}}else return this._accept(6)?this._parseTransform(r)?(s.appendChild(r),!0):(this._backTo(f),!1):this._accept(4)?(s.appendChild(r),!0):this._backTo(f)}_parseChoiceElement(s){const C=this._token,f=[];for(;!(this._token.type===2||this._token.type===7);){let v;if((v=this._accept(5,!0))?v=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||v:v=this._accept(void 0,!0),!v)return this._backTo(C),!1;f.push(v)}return f.length===0?(this._backTo(C),!1):(s.appendChild(new O(f.join(""))),!0)}_parseComplexVariable(s){let C;const f=this._token;if(!(this._accept(0)&&this._accept(3)&&(C=this._accept(9,!0))))return this._backTo(f);const r=new E(C);if(this._accept(1))for(;;){if(this._accept(4))return s.appendChild(r),!0;if(!this._parse(r))return s.appendChild(new O("${"+C+":")),r.children.forEach(s.appendChild,s),!0}else return this._accept(6)?this._parseTransform(r)?(s.appendChild(r),!0):(this._backTo(f),!1):this._accept(4)?(s.appendChild(r),!0):this._backTo(f)}_parseTransform(s){let C=new I,f="",v="";for(;!this._accept(6);){let r;if(r=this._accept(5,!0)){r=this._accept(6,!0)||r,f+=r;continue}if(this._token.type!==14){f+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let r;if(r=this._accept(5,!0)){r=this._accept(5,!0)||this._accept(6,!0)||r,C.appendChild(new O(r));continue}if(!(this._parseFormatString(C)||this._parseAnything(C)))return!1}for(;!this._accept(4);){if(this._token.type!==14){v+=this._accept(void 0,!0);continue}return!1}try{C.regexp=new RegExp(f,v)}catch(r){return!1}return s.transform=C,!0}_parseFormatString(s){const C=this._token;if(!this._accept(0))return!1;let f=!1;this._accept(3)&&(f=!0);let v=this._accept(8,!0);if(v)if(f){if(this._accept(4))return s.appendChild(new y(Number(v))),!0;if(!this._accept(1))return this._backTo(C),!1}else return s.appendChild(new y(Number(v))),!0;else return this._backTo(C),!1;if(this._accept(6)){let r=this._accept(9,!0);return!r||!this._accept(4)?(this._backTo(C),!1):(s.appendChild(new y(Number(v),r)),!0)}else if(this._accept(11)){let r=this._until(4);if(r)return s.appendChild(new y(Number(v),void 0,r,void 0)),!0}else if(this._accept(12)){let r=this._until(4);if(r)return s.appendChild(new y(Number(v),void 0,void 0,r)),!0}else if(this._accept(13)){let r=this._until(1);if(r){let l=this._until(4);if(l)return s.appendChild(new y(Number(v),void 0,r,l)),!0}}else{let r=this._until(4);if(r)return s.appendChild(new y(Number(v),void 0,void 0,r)),!0}return this._backTo(C),!1}_parseAnything(s){return this._token.type!==14?(s.appendChild(new O(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}},54266:function(xt,Te,i){"use strict";i.d(Te,{l:function(){return j}});var h=i(43506),H=i(69323),O=i(82983),P=i(44124),D=i(17373),G=i(17551),I=i(31276),y=i(6629),E=i(44350),p=i(49055),a=i(52648),g=i(85314),w=i(51983),s=i(86408),C=i(9365);const f=new Uint8Array(16),v=[];for(let R=0;R<256;R++)v.push(R.toString(16).padStart(2,"0"));let r;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?r=crypto.getRandomValues.bind(crypto):r=function(R){for(let V=0;V<R.length;V++)R[V]=Math.floor(Math.random()*256);return R};function l(){r(f),f[6]=f[6]&15|64,f[8]=f[8]&63|128;let R=0,V="";return V+=v[f[R++]],V+=v[f[R++]],V+=v[f[R++]],V+=v[f[R++]],V+="-",V+=v[f[R++]],V+=v[f[R++]],V+="-",V+=v[f[R++]],V+=v[f[R++]],V+="-",V+=v[f[R++]],V+=v[f[R++]],V+="-",V+=v[f[R++]],V+=v[f[R++]],V+=v[f[R++]],V+=v[f[R++]],V+=v[f[R++]],V+=v[f[R++]],V}var m=i(73468),c=i(13268),b=i(4968);const L="code-workspace";function T(R){const V=R;return typeof(V==null?void 0:V.id)=="string"&&b.o.isUri(V.uri)}function M(R){if(R.configuration)return{id:R.id,configPath:R.configuration};if(R.folders.length===1)return{id:R.id,uri:R.folders[0].uri}}class z{constructor(V){this._delegates=V}resolve(V){for(const K of this._delegates){let ie=K.resolve(V);if(ie!==void 0)return ie}}}class oe{constructor(V,K,ie,te){this._model=V,this._selection=K,this._selectionIdx=ie,this._overtypingCapturer=te}resolve(V){const{name:K}=V;if(K==="SELECTION"||K==="TM_SELECTED_TEXT"){let ie=this._model.getValueInRange(this._selection)||void 0,te=this._selection.startLineNumber!==this._selection.endLineNumber;if(!ie&&this._overtypingCapturer){const ge=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);ge&&(ie=ge.value,te=ge.multiline)}if(ie&&te&&V.snippet){const ge=this._model.getLineContent(this._selection.startLineNumber),ye=(0,O.V8)(ge,0,this._selection.startColumn-1);let ve=ye;V.snippet.walk(we=>we===V?!1:(we instanceof g.xv&&(ve=(0,O.V8)((0,O.uq)(we.value).pop())),!0));const Fe=(0,O.Mh)(ve,ye);ie=ie.replace(/(\r\n|\r|\n)(.*)/g,(we,ue,ce)=>`${ue}${ve.substr(Fe)}${ce}`)}return ie}else{if(K==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(K==="TM_CURRENT_WORD"){const ie=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return ie&&ie.word||void 0}else{if(K==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(K==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber)}}}}class se{constructor(V,K){this._labelService=V,this._model=K}resolve(V){const{name:K}=V;if(K==="TM_FILENAME")return s.EZ(this._model.uri.fsPath);if(K==="TM_FILENAME_BASE"){const ie=s.EZ(this._model.uri.fsPath),te=ie.lastIndexOf(".");return te<=0?ie:ie.slice(0,te)}else{if(K==="TM_DIRECTORY")return s.XX(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel((0,C.XX)(this._model.uri));if(K==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);if(K==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}class re{constructor(V,K,ie,te){this._readClipboardText=V,this._selectionIdx=K,this._selectionCount=ie,this._spread=te}resolve(V){if(V.name!=="CLIPBOARD")return;const K=this._readClipboardText();if(K){if(this._spread){const ie=K.split(/\r\n|\n|\r/).filter(te=>!(0,O.m5)(te));if(ie.length===this._selectionCount)return ie[this._selectionIdx]}return K}}}class De{constructor(V,K){this._model=V,this._selection=K}resolve(V){const{name:K}=V,ie=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),te=m.zu.getComments(ie);if(te){if(K==="LINE_COMMENT")return te.lineCommentToken||void 0;if(K==="BLOCK_COMMENT_START")return te.blockCommentStartToken||void 0;if(K==="BLOCK_COMMENT_END")return te.blockCommentEndToken||void 0}}}class J{constructor(){this._date=new Date}resolve(V){const{name:K}=V;if(K==="CURRENT_YEAR")return String(this._date.getFullYear());if(K==="CURRENT_YEAR_SHORT")return String(this._date.getFullYear()).slice(-2);if(K==="CURRENT_MONTH")return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if(K==="CURRENT_DATE")return String(this._date.getDate().valueOf()).padStart(2,"0");if(K==="CURRENT_HOUR")return String(this._date.getHours().valueOf()).padStart(2,"0");if(K==="CURRENT_MINUTE")return String(this._date.getMinutes().valueOf()).padStart(2,"0");if(K==="CURRENT_SECOND")return String(this._date.getSeconds().valueOf()).padStart(2,"0");if(K==="CURRENT_DAY_NAME")return J.dayNames[this._date.getDay()];if(K==="CURRENT_DAY_NAME_SHORT")return J.dayNamesShort[this._date.getDay()];if(K==="CURRENT_MONTH_NAME")return J.monthNames[this._date.getMonth()];if(K==="CURRENT_MONTH_NAME_SHORT")return J.monthNamesShort[this._date.getMonth()];if(K==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3))}}J.dayNames=[c.N("Sunday","Sunday"),c.N("Monday","Monday"),c.N("Tuesday","Tuesday"),c.N("Wednesday","Wednesday"),c.N("Thursday","Thursday"),c.N("Friday","Friday"),c.N("Saturday","Saturday")],J.dayNamesShort=[c.N("SundayShort","Sun"),c.N("MondayShort","Mon"),c.N("TuesdayShort","Tue"),c.N("WednesdayShort","Wed"),c.N("ThursdayShort","Thu"),c.N("FridayShort","Fri"),c.N("SaturdayShort","Sat")],J.monthNames=[c.N("January","January"),c.N("February","February"),c.N("March","March"),c.N("April","April"),c.N("May","May"),c.N("June","June"),c.N("July","July"),c.N("August","August"),c.N("September","September"),c.N("October","October"),c.N("November","November"),c.N("December","December")],J.monthNamesShort=[c.N("JanuaryShort","Jan"),c.N("FebruaryShort","Feb"),c.N("MarchShort","Mar"),c.N("AprilShort","Apr"),c.N("MayShort","May"),c.N("JuneShort","Jun"),c.N("JulyShort","Jul"),c.N("AugustShort","Aug"),c.N("SeptemberShort","Sep"),c.N("OctoberShort","Oct"),c.N("NovemberShort","Nov"),c.N("DecemberShort","Dec")];class Z{constructor(V){this._workspaceService=V}resolve(V){if(!this._workspaceService)return;const K=M(this._workspaceService.getWorkspace());if(K){if(V.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(K);if(V.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(K)}}_resolveWorkspaceName(V){if(T(V))return s.EZ(V.uri.path);let K=s.EZ(V.configPath.path);return K.endsWith(L)&&(K=K.substr(0,K.length-L.length-1)),K}_resoveWorkspacePath(V){if(T(V))return(0,w.D)(V.uri.fsPath);let K=s.EZ(V.configPath.path),ie=V.configPath.fsPath;return ie.endsWith(K)&&(ie=ie.substr(0,ie.length-K.length-1)),ie?(0,w.D)(ie):"/"}}class Q{resolve(V){const{name:K}=V;if(K==="RANDOM")return Math.random().toString().slice(-6);if(K==="RANDOM_HEX")return Math.random().toString(16).slice(-6);if(K==="UUID")return l()}}(0,p.Ic)((R,V)=>{function K(ie){const te=R.getColor(ie);return te?te.toString():"transparent"}V.addRule(`.monaco-editor .snippet-placeholder { background-color: ${K(E.u2)}; outline-color: ${K(E.Pk)}; }`),V.addRule(`.monaco-editor .finish-snippet-placeholder { background-color: ${K(E.I1)}; outline-color: ${K(E.U6)}; }`)});class le{constructor(V,K,ie,te){this._editor=V,this._snippet=K,this._offset=ie,this._snippetLineLeadingWhitespace=te,this._nestingLevel=1,this._placeholderGroups=(0,h.vM)(K.placeholders,g.Vm.compareByIndex),this._placeholderGroupsIdx=-1}dispose(){this._placeholderDecorations&&this._editor.deltaDecorations([...this._placeholderDecorations.values()],[]),this._placeholderGroups.length=0}_initDecorations(){if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const V=this._editor.getModel();this._editor.changeDecorations(K=>{for(const ie of this._snippet.placeholders){const te=this._snippet.offset(ie),ge=this._snippet.fullLen(ie),ye=D.e.fromPositions(V.getPositionAt(this._offset+te),V.getPositionAt(this._offset+te+ge)),ve=ie.isFinalTabstop?le._decor.inactiveFinal:le._decor.inactive,Fe=K.addDecoration(ye,ve);this._placeholderDecorations.set(ie,Fe)}})}move(V){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){let te=[];for(const ge of this._placeholderGroups[this._placeholderGroupsIdx])if(ge.transform){const ye=this._placeholderDecorations.get(ge),ve=this._editor.getModel().getDecorationRange(ye),Fe=this._editor.getModel().getValueInRange(ve),we=ge.transform.resolve(Fe).split(/\r\n|\r|\n/);for(let ue=1;ue<we.length;ue++)we[ue]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+we[ue]);te.push(P.h.replace(ve,we.join(this._editor.getModel().getEOL())))}te.length>0&&this._editor.executeEdits("snippet.placeholderTransform",te)}let K=!1;V===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,K=!0):V===!1&&this._placeholderGroupsIdx>0&&(this._placeholderGroupsIdx-=1,K=!0);const ie=this._editor.getModel().changeDecorations(te=>{const ge=new Set,ye=[];for(const ve of this._placeholderGroups[this._placeholderGroupsIdx]){const Fe=this._placeholderDecorations.get(ve),we=this._editor.getModel().getDecorationRange(Fe);ye.push(new G.Y(we.startLineNumber,we.startColumn,we.endLineNumber,we.endColumn)),K=K&&this._hasPlaceholderBeenCollapsed(ve),te.changeDecorationOptions(Fe,ve.isFinalTabstop?le._decor.activeFinal:le._decor.active),ge.add(ve);for(const ue of this._snippet.enclosingPlaceholders(ve)){const ce=this._placeholderDecorations.get(ue);te.changeDecorationOptions(ce,ue.isFinalTabstop?le._decor.activeFinal:le._decor.active),ge.add(ue)}}for(const[ve,Fe]of this._placeholderDecorations)ge.has(ve)||te.changeDecorationOptions(Fe,ve.isFinalTabstop?le._decor.inactiveFinal:le._decor.inactive);return ye});return K?this.move(V):ie!=null?ie:[]}_hasPlaceholderBeenCollapsed(V){let K=V;for(;K;){if(K instanceof g.Vm){const ie=this._placeholderDecorations.get(K);if(this._editor.getModel().getDecorationRange(ie).isEmpty()&&K.toString().length>0)return!0}K=K.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}computePossibleSelections(){const V=new Map;for(const K of this._placeholderGroups){let ie;for(const te of K){if(te.isFinalTabstop)break;ie||(ie=[],V.set(te.index,ie));const ge=this._placeholderDecorations.get(te),ye=this._editor.getModel().getDecorationRange(ge);if(!ye){V.delete(te.index);break}ie.push(ye)}}return V}get choice(){return this._placeholderGroups[this._placeholderGroupsIdx][0].choice}merge(V){const K=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(ie=>{for(const te of this._placeholderGroups[this._placeholderGroupsIdx]){const ge=V.shift();console.assert(!ge._placeholderDecorations);const ye=ge._snippet.placeholderInfo.last.index;for(const Fe of ge._snippet.placeholderInfo.all)Fe.isFinalTabstop?Fe.index=te.index+(ye+1)/this._nestingLevel:Fe.index=te.index+Fe.index/this._nestingLevel;this._snippet.replace(te,ge._snippet.children);const ve=this._placeholderDecorations.get(te);ie.removeDecoration(ve),this._placeholderDecorations.delete(te);for(const Fe of ge._snippet.placeholders){const we=ge._snippet.offset(Fe),ue=ge._snippet.fullLen(Fe),ce=D.e.fromPositions(K.getPositionAt(ge._offset+we),K.getPositionAt(ge._offset+we+ue)),Ve=ie.addDecoration(ce,le._decor.inactive);this._placeholderDecorations.set(Fe,Ve)}}this._placeholderGroups=(0,h.vM)(this._snippet.placeholders,g.Vm.compareByIndex)})}}le._decor={active:I.qx.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:I.qx.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:I.qx.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:I.qx.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};const xe={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};class j{constructor(V,K,ie=xe){this._templateMerges=[],this._snippets=[],this._editor=V,this._template=K,this._options=ie}static adjustWhitespace(V,K,ie,te,ge){const ye=V.getLineContent(K.lineNumber),ve=(0,O.V8)(ye,0,K.column-1);let Fe;return ie.walk(we=>{if(!(we instanceof g.xv)||we.parent instanceof g.Lv)return!0;const ue=we.value.split(/\r\n|\r|\n/);if(te){const Ve=ie.offset(we);if(Ve===0)ue[0]=V.normalizeIndentation(ue[0]);else{Fe=Fe!=null?Fe:ie.toString();let We=Fe.charCodeAt(Ve-1);(We===10||We===13)&&(ue[0]=V.normalizeIndentation(ve+ue[0]))}for(let We=1;We<ue.length;We++)ue[We]=V.normalizeIndentation(ve+ue[We])}const ce=ue.join(V.getEOL());return ce!==we.value&&(we.parent.replace(we,[new g.xv(ce)]),Fe=void 0),!0}),ve}static adjustSelection(V,K,ie,te){if(ie!==0||te!==0){const{positionLineNumber:ge,positionColumn:ye}=K,ve=ye-ie,Fe=ye+te,we=V.validateRange({startLineNumber:ge,startColumn:ve,endLineNumber:ge,endColumn:Fe});K=G.Y.createWithDirection(we.startLineNumber,we.startColumn,we.endLineNumber,we.endColumn,K.getDirection())}return K}static createEditsAndSnippets(V,K,ie,te,ge,ye,ve,Fe){const we=[],ue=[];if(!V.hasModel())return{edits:we,snippets:ue};const ce=V.getModel(),Ve=V.invokeWithinContext(he=>he.get(a.ec)),We=V.invokeWithinContext(he=>new se(he.get(y.e),ce)),ae=()=>ve;let fe=0,ne=ce.getValueInRange(j.adjustSelection(ce,V.getSelection(),ie,0)),W=ce.getValueInRange(j.adjustSelection(ce,V.getSelection(),0,te)),$=ce.getLineFirstNonWhitespaceColumn(V.getSelection().positionLineNumber);const ee=V.getSelections().map((he,Pe)=>({selection:he,idx:Pe})).sort((he,Pe)=>D.e.compareRangesUsingStarts(he.selection,Pe.selection));for(const{selection:he,idx:Pe}of ee){let Ye=j.adjustSelection(ce,he,ie,0),it=j.adjustSelection(ce,he,0,te);ne!==ce.getValueInRange(Ye)&&(Ye=he),W!==ce.getValueInRange(it)&&(it=he);const rt=he.setStartPosition(Ye.startLineNumber,Ye.startColumn).setEndPosition(it.endLineNumber,it.endColumn),vt=new g.Yj().parse(K,!0,ge),Ft=rt.getStartPosition(),Ht=j.adjustWhitespace(ce,Ft,vt,ye||Pe>0&&$!==ce.getLineFirstNonWhitespaceColumn(he.positionLineNumber),!0);vt.resolveVariables(new z([We,new re(ae,Pe,ee.length,V.getOption(70)==="spread"),new oe(ce,he,Pe,Fe),new De(ce,he),new J,new Z(Ve),new Q]));const ze=ce.getOffsetAt(Ft)+fe;fe+=vt.toString().length-ce.getValueLengthInRange(rt),we[Pe]=P.h.replace(rt,vt.toString()),we[Pe].identifier={major:Pe,minor:0},ue[Pe]=new le(V,vt,ze,Ht)}return{edits:we,snippets:ue}}dispose(){(0,H.B9)(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:V,snippets:K}=j.createEditsAndSnippets(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer);this._snippets=K,this._editor.executeEdits("snippet",V,ie=>this._snippets[0].hasPlaceholder?this._move(!0):ie.filter(te=>!!te.identifier).map(te=>G.Y.fromPositions(te.range.getEndPosition()))),this._editor.revealRange(this._editor.getSelections()[0])}merge(V,K=xe){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,V]);const{edits:ie,snippets:te}=j.createEditsAndSnippets(this._editor,V,K.overwriteBefore,K.overwriteAfter,!0,K.adjustWhitespace,K.clipboardText,K.overtypingCapturer);this._editor.executeEdits("snippet",ie,ge=>{for(const ye of this._snippets)ye.merge(te);return console.assert(te.length===0),this._snippets[0].hasPlaceholder?this._move(void 0):ge.filter(ye=>!!ye.identifier).map(ye=>G.Y.fromPositions(ye.range.getEndPosition()))})}next(){const V=this._move(!0);this._editor.setSelections(V),this._editor.revealPositionInCenterIfOutsideViewport(V[0].getPosition())}prev(){const V=this._move(!1);this._editor.setSelections(V),this._editor.revealPositionInCenterIfOutsideViewport(V[0].getPosition())}_move(V){const K=[];for(const ie of this._snippets){const te=ie.move(V);K.push(...te)}return K}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get choice(){return this._snippets[0].choice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const V=this._editor.getSelections();if(V.length<this._snippets.length)return!1;let K=new Map;for(const ie of this._snippets){const te=ie.computePossibleSelections();if(K.size===0)for(const[ge,ye]of te){ye.sort(D.e.compareRangesUsingStarts);for(const ve of V)if(ye[0].containsRange(ve)){K.set(ge,[]);break}}if(K.size===0)return!1;K.forEach((ge,ye)=>{ge.push(...te.get(ye))})}V.sort(D.e.compareRangesUsingStarts);for(let[ie,te]of K){if(te.length!==V.length){K.delete(ie);continue}te.sort(D.e.compareRangesUsingStarts);for(let ge=0;ge<te.length;ge++)if(!te[ge].containsRange(V[ge])){K.delete(ie);continue}}return K.size>0}}},15817:function(xt,Te,i){"use strict";i.d(Te,{A9:function(){return c},GI:function(){return l},ZJ:function(){return L},_y:function(){return r},i5:function(){return Z},kL:function(){return M},wg:function(){return De}});var h=i(96283),H=i(79881),O=i(99599),P=i(69323),D=i(95830),G=i(72999),I=i(4968),y=i(72146),E=i(17373),p=i(27347),a=i(16862),g=i(85314),w=i(13268),s=i(96236),C=i(35884),f=i(90689),v=function(Q,le,xe,j){function R(V){return V instanceof xe?V:new xe(function(K){K(V)})}return new(xe||(xe=Promise))(function(V,K){function ie(ye){try{ge(j.next(ye))}catch(ve){K(ve)}}function te(ye){try{ge(j.throw(ye))}catch(ve){K(ve)}}function ge(ye){ye.done?V(ye.value):R(ye.value).then(ie,te)}ge((j=j.apply(Q,le||[])).next())})};const r={Visible:new f.uy("suggestWidgetVisible",!1,(0,w.N)("suggestWidgetVisible","Whether suggestion are visible")),DetailsVisible:new f.uy("suggestWidgetDetailsVisible",!1,(0,w.N)("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new f.uy("suggestWidgetMultipleSuggestions",!1,(0,w.N)("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new f.uy("suggestionMakesTextEdit",!0,(0,w.N)("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new f.uy("acceptSuggestionOnEnter",!0,(0,w.N)("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new f.uy("suggestionHasInsertAndReplaceRange",!1,(0,w.N)("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new f.uy("suggestionInsertMode",void 0,{type:"string",description:(0,w.N)("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new f.uy("suggestionCanResolve",!1,(0,w.N)("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},l=new s.eH("suggestWidgetStatusBar");class m{constructor(le,xe,j,R){this.position=le,this.completion=xe,this.container=j,this.provider=R,this.isInvalid=!1,this.score=O.CL.Default,this.distance=0,this.textLabel=typeof xe.label=="string"?xe.label:xe.label.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=xe.sortText&&xe.sortText.toLowerCase(),this.filterTextLow=xe.filterText&&xe.filterText.toLowerCase(),E.e.isIRange(xe.range)?(this.editStart=new y.L(xe.range.startLineNumber,xe.range.startColumn),this.editInsertEnd=new y.L(xe.range.endLineNumber,xe.range.endColumn),this.editReplaceEnd=new y.L(xe.range.endLineNumber,xe.range.endColumn),this.isInvalid=this.isInvalid||E.e.spansMultipleLines(xe.range)||xe.range.startLineNumber!==le.lineNumber):(this.editStart=new y.L(xe.range.insert.startLineNumber,xe.range.insert.startColumn),this.editInsertEnd=new y.L(xe.range.insert.endLineNumber,xe.range.insert.endColumn),this.editReplaceEnd=new y.L(xe.range.replace.endLineNumber,xe.range.replace.endColumn),this.isInvalid=this.isInvalid||E.e.spansMultipleLines(xe.range.insert)||E.e.spansMultipleLines(xe.range.replace)||xe.range.insert.startLineNumber!==le.lineNumber||xe.range.replace.startLineNumber!==le.lineNumber||xe.range.insert.startColumn!==xe.range.replace.startColumn),typeof R.resolveCompletionItem!="function"&&(this._resolveCache=Promise.resolve(),this._isResolved=!0)}get isResolved(){return!!this._isResolved}resolve(le){return v(this,void 0,void 0,function*(){if(!this._resolveCache){const xe=le.onCancellationRequested(()=>{this._resolveCache=void 0,this._isResolved=!1});this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,le)).then(j=>{Object.assign(this.completion,j),this._isResolved=!0,xe.dispose()},j=>{(0,H.VV)(j)&&(this._resolveCache=void 0,this._isResolved=!1)})}return this._resolveCache})}}class c{constructor(le=2,xe=new Set,j=new Set,R=!0){this.snippetSortOrder=le,this.kindFilter=xe,this.providerFilter=j,this.showDeprecated=R}}c.default=new c;let b;function L(){return b}class T{constructor(le,xe,j,R){this.items=le,this.needsClipboard=xe,this.durations=j,this.disposable=R}}function M(Q,le,xe=c.default,j={triggerKind:0},R=h.T.None){return v(this,void 0,void 0,function*(){const V=new D.G(!0);le=le.clone();const K=Q.getWordAtPosition(le),ie=K?new E.e(le.lineNumber,K.startColumn,le.lineNumber,K.endColumn):E.e.fromPositions(le),te={replace:ie,insert:ie.setEndPosition(le.lineNumber,le.column)},ge=[],ye=new P.SL,ve=[];let Fe=!1;const we=(ce,Ve,We)=>{var ae,fe,ne;if(Ve){for(let W of Ve.suggestions)if(!xe.kindFilter.has(W.kind)){if(!xe.showDeprecated&&(!((ae=W==null?void 0:W.tags)===null||ae===void 0)&&ae.includes(1)))continue;W.range||(W.range=te),W.sortText||(W.sortText=typeof W.label=="string"?W.label:W.label.label),!Fe&&W.insertTextRules&&W.insertTextRules&4&&(Fe=g.Yj.guessNeedsClipboard(W.insertText)),ge.push(new m(le,W,Ve,ce))}(0,P.Wf)(Ve)&&ye.add(Ve),ve.push({providerName:(fe=ce._debugDisplayName)!==null&&fe!==void 0?fe:"unkown_provider",elapsedProvider:(ne=Ve.duration)!==null&&ne!==void 0?ne:-1,elapsedOverall:We.elapsed()})}},ue=v(this,void 0,void 0,function*(){if(!b||xe.kindFilter.has(27)||xe.providerFilter.size>0&&!xe.providerFilter.has(b))return;const ce=new D.G(!0),Ve=yield b.provideCompletionItems(Q,le,j,R);we(b,Ve,ce)});for(let ce of p.KZ.orderedGroups(Q)){let Ve=ge.length;if(yield Promise.all(ce.map(We=>v(this,void 0,void 0,function*(){if(!(xe.providerFilter.size>0&&!xe.providerFilter.has(We)))try{const ae=new D.G(!0),fe=yield We.provideCompletionItems(Q,le,j,R);we(We,fe,ae)}catch(ae){(0,H.Cp)(ae)}}))),Ve!==ge.length||R.isCancellationRequested)break}return yield ue,R.isCancellationRequested?(ye.dispose(),Promise.reject((0,H.F0)())):new T(ge.sort(De(xe.snippetSortOrder)),Fe,{entries:ve,elapsed:V.elapsed()},ye)})}function z(Q,le){if(Q.sortTextLow&&le.sortTextLow){if(Q.sortTextLow<le.sortTextLow)return-1;if(Q.sortTextLow>le.sortTextLow)return 1}return Q.completion.label<le.completion.label?-1:Q.completion.label>le.completion.label?1:Q.completion.kind-le.completion.kind}function oe(Q,le){if(Q.completion.kind!==le.completion.kind){if(Q.completion.kind===27)return-1;if(le.completion.kind===27)return 1}return z(Q,le)}function se(Q,le){if(Q.completion.kind!==le.completion.kind){if(Q.completion.kind===27)return 1;if(le.completion.kind===27)return-1}return z(Q,le)}const re=new Map;re.set(0,oe),re.set(2,se),re.set(1,z);function De(Q){return re.get(Q)}C.P.registerCommand("_executeCompletionItemProvider",(Q,...le)=>v(void 0,void 0,void 0,function*(){const[xe,j,R,V]=le;(0,G.p_)(I.o.isUri(xe)),(0,G.p_)(y.L.isIPosition(j)),(0,G.p_)(typeof R=="string"||!R),(0,G.p_)(typeof V=="number"||!V);const K=yield Q.get(a.S).createModelReference(xe);try{const ie={incomplete:!1,suggestions:[]},te=[],ge=yield M(K.object.textEditorModel,y.L.lift(j),void 0,{triggerCharacter:R,triggerKind:R?1:0});for(const ye of ge.items)te.length<(V!=null?V:0)&&te.push(ye.resolve(h.T.None)),ie.incomplete=ie.incomplete||ye.container.incomplete,ie.suggestions.push(ye.completion);try{return yield Promise.all(te),ie}finally{setTimeout(()=>ge.disposable.dispose(),100)}}finally{K.dispose()}}));const J=new class{constructor(){this.onlyOnceSuggestions=[]}provideCompletionItems(){let le={suggestions:this.onlyOnceSuggestions.slice(0)};return this.onlyOnceSuggestions.length=0,le}};p.KZ.register("*",J);function Z(Q,le){setTimeout(()=>{J.onlyOnceSuggestions.push(...le),Q.getContribution("editor.contrib.suggestController").triggerSuggest(new Set().add(J))},0)}},50714:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{SuggestController:function(){return An},TriggerSuggestAction:function(){return ts}});var h=i(58941),H=i(43506),O=i(50431),P=i(96283),D=i(79881),G=i(4348),I=i(86354),y=i(69323),E=i(23345),p=i(95830),a=i(72999),g=i(39528),w=i(4514),s=i(44124),C=i(72146),f=i(17373),v=i(68987),r=i(19257),l=i(85314),m=i(78421),c=i(27347),b=i(21194),L=i(7335),T=i(16925),M=i(19490),z=function(Lt,F,pe,Ne){var je=arguments.length,Je=je<3?F:Ne===null?Ne=Object.getOwnPropertyDescriptor(F,pe):Ne,St;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Je=Reflect.decorate(Lt,F,pe,Ne);else for(var Rt=Lt.length-1;Rt>=0;Rt--)(St=Lt[Rt])&&(Je=(je<3?St(Je):je>3?St(F,pe,Je):St(F,pe))||Je);return je>3&&Je&&Object.defineProperty(F,pe,Je),Je},oe=function(Lt,F){return function(pe,Ne){F(pe,Ne,Lt)}};class se{constructor(F){this.name=F}select(F,pe,Ne){if(Ne.length===0)return 0;let je=Ne[0].score[0];for(let Je=0;Je<Ne.length;Je++){const{score:St,completion:Rt}=Ne[Je];if(St[0]!==je)break;if(Rt.preselect)return Je}return 0}}class re extends se{constructor(){super("first")}memorize(F,pe,Ne){}toJSON(){}fromJSON(){}}class De extends se{constructor(){super("recentlyUsed"),this._cache=new m.z6(300,.66),this._seq=0}memorize(F,pe,Ne){const je=`${F.getLanguageId()}/${Ne.textLabel}`;this._cache.set(je,{touch:this._seq++,type:Ne.completion.kind,insertText:Ne.completion.insertText})}select(F,pe,Ne){if(Ne.length===0)return 0;const je=F.getLineContent(pe.lineNumber).substr(pe.column-10,pe.column-1);if(/\s$/.test(je))return super.select(F,pe,Ne);let Je=Ne[0].score[0],St=-1,Rt=-1,ti=-1;for(let fi=0;fi<Ne.length&&Ne[fi].score[0]===Je;fi++){const ii=`${F.getLanguageId()}/${Ne[fi].textLabel}`,Ct=this._cache.peek(ii);if(Ct&&Ct.touch>ti&&Ct.type===Ne[fi].completion.kind&&Ct.insertText===Ne[fi].completion.insertText&&(ti=Ct.touch,Rt=fi),Ne[fi].completion.preselect&&St===-1)return St=fi}return Rt!==-1?Rt:St!==-1?St:0}toJSON(){return this._cache.toJSON()}fromJSON(F){this._cache.clear();let pe=0;for(const[Ne,je]of F)je.touch=pe,je.type=typeof je.type=="number"?je.type:(0,c.jr)(je.type),this._cache.set(Ne,je);this._seq=this._cache.size}}class J extends se{constructor(){super("recentlyUsedByPrefix"),this._trie=m.Id.forStrings(),this._seq=0}memorize(F,pe,Ne){const{word:je}=F.getWordUntilPosition(pe),Je=`${F.getLanguageId()}/${je}`;this._trie.set(Je,{type:Ne.completion.kind,insertText:Ne.completion.insertText,touch:this._seq++})}select(F,pe,Ne){let{word:je}=F.getWordUntilPosition(pe);if(!je)return super.select(F,pe,Ne);let Je=`${F.getLanguageId()}/${je}`,St=this._trie.get(Je);if(St||(St=this._trie.findSubstr(Je)),St)for(let Rt=0;Rt<Ne.length;Rt++){let{kind:ti,insertText:fi}=Ne[Rt].completion;if(ti===St.type&&fi===St.insertText)return Rt}return super.select(F,pe,Ne)}toJSON(){let F=[];return this._trie.forEach((pe,Ne)=>F.push([Ne,pe])),F.sort((pe,Ne)=>-(pe[1].touch-Ne[1].touch)).forEach((pe,Ne)=>pe[1].touch=Ne),F.slice(0,200)}fromJSON(F){if(this._trie.clear(),F.length>0){this._seq=F[0][1].touch+1;for(const[pe,Ne]of F)Ne.type=typeof Ne.type=="number"?Ne.type:(0,c.jr)(Ne.type),this._trie.set(pe,Ne)}}}let Z=class Lr{constructor(F,pe){this._storageService=F,this._configService=pe,this._disposables=new y.SL,this._persistSoon=new O.pY(()=>this._saveState(),500),this._disposables.add(F.onWillSaveState(Ne=>{Ne.reason===M.fk.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(F,pe,Ne){this._withStrategy(F,pe).memorize(F,pe,Ne),this._persistSoon.schedule()}select(F,pe,Ne){return this._withStrategy(F,pe).select(F,pe,Ne)}_withStrategy(F,pe){var Ne;const je=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:F.getLanguageIdAtPosition(pe.lineNumber,pe.column),resource:F.uri});if(((Ne=this._strategy)===null||Ne===void 0?void 0:Ne.name)!==je){this._saveState();const Je=Lr._strategyCtors.get(je)||re;this._strategy=new Je;try{const Rt=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,ti=this._storageService.get(`${Lr._storagePrefix}/${je}`,Rt);ti&&this._strategy.fromJSON(JSON.parse(ti))}catch(St){}}return this._strategy}_saveState(){if(this._strategy){const pe=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,Ne=JSON.stringify(this._strategy);this._storageService.store(`${Lr._storagePrefix}/${this._strategy.name}`,Ne,pe,1)}}};Z._strategyCtors=new Map([["recentlyUsedByPrefix",J],["recentlyUsed",De],["first",re]]),Z._storagePrefix="suggest/memories",Z=z([oe(0,M.Uy),oe(1,b.Ui)],Z);const Q=(0,T.yh)("ISuggestMemories");(0,L.z)(Q,Z,!0);var le=i(90689),xe=function(Lt,F,pe,Ne){var je=arguments.length,Je=je<3?F:Ne===null?Ne=Object.getOwnPropertyDescriptor(F,pe):Ne,St;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Je=Reflect.decorate(Lt,F,pe,Ne);else for(var Rt=Lt.length-1;Rt>=0;Rt--)(St=Lt[Rt])&&(Je=(je<3?St(Je):je>3?St(F,pe,Je):St(F,pe))||Je);return je>3&&Je&&Object.defineProperty(F,pe,Je),Je},j=function(Lt,F){return function(pe,Ne){F(pe,Ne,Lt)}};let R=class Al{constructor(F,pe){this._editor=F,this._enabled=!1,this._ckAtEnd=Al.AtEnd.bindTo(pe),this._configListener=this._editor.onDidChangeConfiguration(Ne=>Ne.hasChanged(110)&&this._update()),this._update()}dispose(){var F;this._configListener.dispose(),(F=this._selectionListener)===null||F===void 0||F.dispose(),this._ckAtEnd.reset()}_update(){const F=this._editor.getOption(110)==="on";if(this._enabled!==F)if(this._enabled=F,this._enabled){const pe=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const Ne=this._editor.getModel(),je=this._editor.getSelection(),Je=Ne.getWordAtPosition(je.getStartPosition());if(!Je){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(Je.endColumn===je.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(pe),pe()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};R.AtEnd=new le.uy("atEndOfWord",!1),R=xe([j(1,le.i6)],R);var V=i(13268),K=i(96236),ie=i(35884),te=i(86414),ge=i(44182),ye=i(15817),ve=function(Lt,F,pe,Ne){var je=arguments.length,Je=je<3?F:Ne===null?Ne=Object.getOwnPropertyDescriptor(F,pe):Ne,St;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Je=Reflect.decorate(Lt,F,pe,Ne);else for(var Rt=Lt.length-1;Rt>=0;Rt--)(St=Lt[Rt])&&(Je=(je<3?St(Je):je>3?St(F,pe,Je):St(F,pe))||Je);return je>3&&Je&&Object.defineProperty(F,pe,Je),Je},Fe=function(Lt,F){return function(pe,Ne){F(pe,Ne,Lt)}};let we=class Dr{constructor(F,pe){this._editor=F,this._index=0,this._ckOtherSuggestions=Dr.OtherSuggestions.bindTo(pe)}dispose(){this.reset()}reset(){var F;this._ckOtherSuggestions.reset(),(F=this._listener)===null||F===void 0||F.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:F,index:pe},Ne){if(F.items.length===0){this.reset();return}if(Dr._moveIndex(!0,F,pe)===pe){this.reset();return}this._acceptNext=Ne,this._model=F,this._index=pe,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(F,pe,Ne){let je=Ne;for(;je=(je+pe.items.length+(F?1:-1))%pe.items.length,!(je===Ne||!pe.items[je].completion.additionalTextEdits););return je}next(){this._move(!0)}prev(){this._move(!1)}_move(F){if(this._model)try{this._ignore=!0,this._index=Dr._moveIndex(F,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};we.OtherSuggestions=new le.uy("hasOtherSuggestions",!1),we=ve([Fe(1,le.i6)],we);var ue=i(14788);class ce{constructor(F,pe,Ne){this._disposables=new y.SL,this._disposables.add(pe.onDidShow(()=>this._onItem(pe.getFocusedItem()))),this._disposables.add(pe.onDidFocus(this._onItem,this)),this._disposables.add(pe.onDidHide(this.reset,this)),this._disposables.add(F.onWillType(je=>{if(this._active&&!pe.isFrozen()){const Je=je.charCodeAt(je.length-1);this._active.acceptCharacters.has(Je)&&F.getOption(0)&&Ne(this._active.item)}}))}_onItem(F){if(!F||!(0,H.Of)(F.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===F.item)return;const pe=new ue.q;for(const Ne of F.item.completion.commitCharacters)Ne.length>0&&pe.add(Ne.charCodeAt(0));this._active={acceptCharacters:pe,item:F}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}var Ve=i(82983),We=i(17551),ae=i(52645),fe=i(28729),ne=function(Lt,F,pe,Ne){function je(Je){return Je instanceof pe?Je:new pe(function(St){St(Je)})}return new(pe||(pe=Promise))(function(Je,St){function Rt(ii){try{fi(Ne.next(ii))}catch(Ct){St(Ct)}}function ti(ii){try{fi(Ne.throw(ii))}catch(Ct){St(Ct)}}function fi(ii){ii.done?Je(ii.value):je(ii.value).then(Rt,ti)}fi((Ne=Ne.apply(Lt,F||[])).next())})};class W{static create(F,pe){return ne(this,void 0,void 0,function*(){if(!pe.getOption(105).localityBonus||!pe.hasModel())return W.None;const Ne=pe.getModel(),je=pe.getPosition();if(!F.canComputeWordRanges(Ne.uri))return W.None;const[Je]=yield new fe.x().provideSelectionRanges(Ne,[je]);if(Je.length===0)return W.None;const St=yield F.computeWordRanges(Ne.uri,Je[0].range);if(!St)return W.None;const Rt=Ne.getWordUntilPosition(je);return delete St[Rt.word],new class extends W{distance(ti,fi){if(!je.equals(pe.getPosition()))return 0;if(fi.kind===17)return 2<<20;let ii=typeof fi.label=="string"?fi.label:fi.label.label,Ct=St[ii];if((0,H.XY)(Ct))return 2<<20;let k=(0,H.ry)(Ct,f.e.fromPositions(ti),f.e.compareRangesUsingStarts),Ce=k>=0?Ct[k]:Ct[Math.max(0,~k-1)],Be=Je.length;for(const ot of Je){if(!f.e.containsRange(ot.range,Ce))break;Be-=1}return Be}}})}}W.None=new class extends W{distance(){return 0}};var $=i(54622),ee=i(14347),he=i(99599);class Pe{constructor(F,pe){this.leadingLineContent=F,this.characterCountDelta=pe}}class Ye{constructor(F,pe,Ne,je,Je,St,Rt){this.clipboardText=Rt,this._snippetCompareFn=Ye._compareCompletionItems,this._items=F,this._column=pe,this._wordDistance=je,this._options=Je,this._refilterKind=1,this._lineContext=Ne,St==="top"?this._snippetCompareFn=Ye._compareCompletionItemsSnippetsUp:St==="bottom"&&(this._snippetCompareFn=Ye._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(F){(this._lineContext.leadingLineContent!==F.leadingLineContent||this._lineContext.characterCountDelta!==F.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta<F.characterCountDelta&&this._filteredItems?2:1,this._lineContext=F)}get items(){return this._ensureCachedState(),this._filteredItems}get allProvider(){return this._ensureCachedState(),this._providerInfo.keys()}get incomplete(){this._ensureCachedState();const F=new Set;for(let[pe,Ne]of this._providerInfo)Ne&&F.add(pe);return F}adopt(F){let pe=[];for(let Ne=0;Ne<this._items.length;)F.has(this._items[Ne].provider)?Ne++:(pe.push(this._items[Ne]),this._items[Ne]=this._items[this._items.length-1],this._items.pop());return this._refilterKind=1,pe}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._providerInfo=new Map;const F=[],{leadingLineContent:pe,characterCountDelta:Ne}=this._lineContext;let je="",Je="";const St=this._refilterKind===1?this._items:this._filteredItems,Rt=[],ti=!this._options.filterGraceful||St.length>2e3?he.EW:he.l7;for(let fi=0;fi<St.length;fi++){const ii=St[fi];if(ii.isInvalid)continue;this._providerInfo.set(ii.provider,!!ii.container.incomplete);const Ct=ii.position.column-ii.editStart.column,k=Ct+Ne-(ii.position.column-this._column);if(je.length!==k&&(je=k===0?"":pe.slice(-k),Je=je.toLowerCase()),ii.word=je,k===0)ii.score=he.CL.Default;else{let Ce=0;for(;Ce<Ct;){const Be=je.charCodeAt(Ce);if(Be===32||Be===9)Ce+=1;else break}if(Ce>=k)ii.score=he.CL.Default;else if(typeof ii.completion.filterText=="string"){let Be=ti(je,Je,Ce,ii.completion.filterText,ii.filterTextLow,0,!1);if(!Be)continue;(0,Ve.zY)(ii.completion.filterText,ii.textLabel)===0?ii.score=Be:(ii.score=(0,he.jB)(je,Je,Ce,ii.textLabel,ii.labelLow,0),ii.score[0]=Be[0])}else{let Be=ti(je,Je,Ce,ii.textLabel,ii.labelLow,0,!1);if(!Be)continue;ii.score=Be}}ii.idx=fi,ii.distance=this._wordDistance.distance(ii.position,ii.completion),Rt.push(ii),F.push(ii.textLabel.length)}this._filteredItems=Rt.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:F.length?(0,H.HW)(F.length-.85,F,(fi,ii)=>fi-ii):0}}static _compareCompletionItems(F,pe){return F.score[0]>pe.score[0]?-1:F.score[0]<pe.score[0]?1:F.distance<pe.distance?-1:F.distance>pe.distance?1:F.idx<pe.idx?-1:F.idx>pe.idx?1:0}static _compareCompletionItemsSnippetsDown(F,pe){if(F.completion.kind!==pe.completion.kind){if(F.completion.kind===27)return 1;if(pe.completion.kind===27)return-1}return Ye._compareCompletionItems(F,pe)}static _compareCompletionItemsSnippetsUp(F,pe){if(F.completion.kind!==pe.completion.kind){if(F.completion.kind===27)return-1;if(pe.completion.kind===27)return 1}return Ye._compareCompletionItems(F,pe)}}var it=function(Lt,F,pe,Ne){var je=arguments.length,Je=je<3?F:Ne===null?Ne=Object.getOwnPropertyDescriptor(F,pe):Ne,St;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Je=Reflect.decorate(Lt,F,pe,Ne);else for(var Rt=Lt.length-1;Rt>=0;Rt--)(St=Lt[Rt])&&(Je=(je<3?St(Je):je>3?St(F,pe,Je):St(F,pe))||Je);return je>3&&Je&&Object.defineProperty(F,pe,Je),Je},rt=function(Lt,F){return function(pe,Ne){F(pe,Ne,Lt)}},vt=function(Lt,F,pe,Ne){function je(Je){return Je instanceof pe?Je:new pe(function(St){St(Je)})}return new(pe||(pe=Promise))(function(Je,St){function Rt(ii){try{fi(Ne.next(ii))}catch(Ct){St(Ct)}}function ti(ii){try{fi(Ne.throw(ii))}catch(Ct){St(Ct)}}function fi(ii){ii.done?Je(ii.value):je(ii.value).then(Rt,ti)}fi((Ne=Ne.apply(Lt,F||[])).next())})};class Ft{constructor(F,pe,Ne,je){this.leadingLineContent=F.getLineContent(pe.lineNumber).substr(0,pe.column-1),this.leadingWord=F.getWordUntilPosition(pe),this.lineNumber=pe.lineNumber,this.column=pe.column,this.auto=Ne,this.shy=je}static shouldAutoTrigger(F){if(!F.hasModel())return!1;const pe=F.getModel(),Ne=F.getPosition();pe.tokenizeIfCheap(Ne.lineNumber);const je=pe.getWordAtPosition(Ne);return!(!je||je.endColumn!==Ne.column||!isNaN(Number(je.word)))}}function Ht(Lt){return Lt.getOption(105).preview}function ze(Lt,F,pe){if(!F.getContextKeyValue("inlineSuggestionVisible"))return!0;const Ne=pe.getValue("editor.inlineSuggest.allowQuickSuggestions");return Ne!==void 0?!!Ne:!1}function Xe(Lt,F,pe){if(!F.getContextKeyValue("inlineSuggestionVisible"))return!0;const Ne=pe.getValue("editor.inlineSuggest.allowSuggestOnTriggerCharacters");return Ne!==void 0?!!Ne:!1}let Ze=class Ol{constructor(F,pe,Ne,je,Je,St,Rt){this._editor=F,this._editorWorkerService=pe,this._clipboardService=Ne,this._telemetryService=je,this._logService=Je,this._contextKeyService=St,this._configurationService=Rt,this._toDispose=new y.SL,this._quickSuggestDelay=10,this._triggerCharacterListener=new y.SL,this._triggerQuickSuggest=new O._F,this._state=0,this._completionDisposables=new y.SL,this._onDidCancel=new G.Q5,this._onDidTrigger=new G.Q5,this._onDidSuggest=new G.Q5,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new We.Y(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters(),this._updateQuickSuggest()})),this._toDispose.add(c.KZ.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(fi=>{this._onCursorChange(fi)}));let ti=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{ti=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{ti=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{ti||this._refilterCompletionItems()})),this._updateTriggerCharacters(),this._updateQuickSuggest()}dispose(){(0,y.B9)(this._triggerCharacterListener),(0,y.B9)([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateQuickSuggest(){this._quickSuggestDelay=this._editor.getOption(79),(isNaN(this._quickSuggestDelay)||!this._quickSuggestDelay&&this._quickSuggestDelay!==0||this._quickSuggestDelay<0)&&(this._quickSuggestDelay=10)}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(80)||!this._editor.hasModel()||!this._editor.getOption(108))return;const F=new Map;for(const Ne of c.KZ.all(this._editor.getModel()))for(const je of Ne.triggerCharacters||[]){let Je=F.get(je);Je||(Je=new Set,Je.add((0,ye.ZJ)()),F.set(je,Je)),Je.add(Ne)}const pe=Ne=>{if(!Xe(this._editor,this._contextKeyService,this._configurationService)||Ft.shouldAutoTrigger(this._editor))return;if(!Ne){const St=this._editor.getPosition();Ne=this._editor.getModel().getLineContent(St.lineNumber).substr(0,St.column-1)}let je="";(0,Ve.YK)(Ne.charCodeAt(Ne.length-1))?(0,Ve.ZG)(Ne.charCodeAt(Ne.length-2))&&(je=Ne.substr(Ne.length-2)):je=Ne.charAt(Ne.length-1);const Je=F.get(je);if(Je){const St=this._completionModel?{items:this._completionModel.adopt(Je),clipboardText:this._completionModel.clipboardText}:void 0;this.trigger({auto:!0,shy:!1,triggerCharacter:je},!!this._completionModel,Je,St)}};this._triggerCharacterListener.add(this._editor.onDidType(pe)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(pe))}get state(){return this._state}cancel(F=!1){var pe;this._state!==0&&(this._triggerQuickSuggest.cancel(),(pe=this._requestToken)===null||pe===void 0||pe.cancel(),this._requestToken=void 0,this._state=0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:F}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._state!==0&&(!this._editor.hasModel()||!c.KZ.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._state===2,shy:!1},!0))}_onCursorChange(F){if(!this._editor.hasModel())return;const pe=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!F.selection.isEmpty()||F.reason!==0&&F.reason!==3||F.source!=="keyboard"&&F.source!=="deleteLeft"){this.cancel();return}this._state===0&&F.reason===0?(pe.containsRange(this._currentSelection)||pe.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._state!==0&&F.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._state===0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){this._editor.getOption(78)!==!1&&(this._editor.getOption(105).snippetsPreventQuickSuggestions&&r.SnippetController2.get(this._editor).isInSnippet()||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._state!==0||!Ft.shouldAutoTrigger(this._editor)||!this._editor.hasModel())return;const F=this._editor.getModel(),pe=this._editor.getPosition(),Ne=this._editor.getOption(78);if(Ne!==!1){if(Ne!==!0){F.tokenizeIfCheap(pe.lineNumber);const je=F.getLineTokens(pe.lineNumber),Je=je.getStandardTokenType(je.findTokenIndexAtOffset(Math.max(pe.column-1-1,0)));if(!(Ne.other&&Je===0||Ne.comments&&Je===1||Ne.strings&&Je===2))return}ze(this._editor,this._contextKeyService,this._configurationService)&&c.KZ.has(F)&&this.trigger({auto:!0,shy:!1})}},this._quickSuggestDelay)))}_refilterCompletionItems(){Promise.resolve().then(()=>{if(this._state===0||!this._editor.hasModel())return;const F=this._editor.getModel(),pe=this._editor.getPosition(),Ne=new Ft(F,pe,this._state===2,!1);this._onNewContext(Ne)})}trigger(F,pe=!1,Ne,je){var Je;if(!this._editor.hasModel())return;const St=this._editor.getModel(),Rt=F.auto,ti=new Ft(St,this._editor.getPosition(),Rt,F.shy);this.cancel(pe),this._state=Rt?2:1,this._onDidTrigger.fire({auto:Rt,shy:F.shy,position:this._editor.getPosition()}),this._context=ti;let fi={triggerKind:(Je=F.triggerKind)!==null&&Je!==void 0?Je:0};F.triggerCharacter&&(fi={triggerKind:1,triggerCharacter:F.triggerCharacter}),this._requestToken=new P.A;const ii=this._editor.getOption(100);let Ct=1;switch(ii){case"top":Ct=0;break;case"bottom":Ct=2;break}const{itemKind:k,showDeprecated:Ce}=Ol._createSuggestFilter(this._editor),Be=W.create(this._editorWorkerService,this._editor),ot=(0,ye.kL)(St,this._editor.getPosition(),new ye.A9(Ct,k,Ne,Ce),fi,this._requestToken.token);Promise.all([ot,Be]).then(([wt,Ut])=>vt(this,void 0,void 0,function*(){var Yt;if((Yt=this._requestToken)===null||Yt===void 0||Yt.dispose(),!this._editor.hasModel())return;let ei=je==null?void 0:je.clipboardText;if(!ei&&wt.needsClipboard&&(ei=yield this._clipboardService.readText()),this._state===0)return;const ri=this._editor.getModel();let gi=wt.items;if(je){const Ei=(0,ye.wg)(Ct);gi=gi.concat(je.items).sort(Ei)}const Mi=new Ft(ri,this._editor.getPosition(),Rt,F.shy);this._completionModel=new Ye(gi,this._context.column,{leadingLineContent:Mi.leadingLineContent,characterCountDelta:Mi.column-this._context.column},Ut,this._editor.getOption(105),this._editor.getOption(100),ei),this._completionDisposables.add(wt.disposable),this._onNewContext(Mi),this._reportDurationsTelemetry(wt.durations)})).catch(D.dL)}_reportDurationsTelemetry(F){this._telemetryGate++%230===0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(F)}),this._logService.debug("suggest.durations.json",F)})}static _createSuggestFilter(F){const pe=new Set;F.getOption(100)==="none"&&pe.add(27);const je=F.getOption(105);return je.showMethods||pe.add(0),je.showFunctions||pe.add(1),je.showConstructors||pe.add(2),je.showFields||pe.add(3),je.showVariables||pe.add(4),je.showClasses||pe.add(5),je.showStructs||pe.add(6),je.showInterfaces||pe.add(7),je.showModules||pe.add(8),je.showProperties||pe.add(9),je.showEvents||pe.add(10),je.showOperators||pe.add(11),je.showUnits||pe.add(12),je.showValues||pe.add(13),je.showConstants||pe.add(14),je.showEnums||pe.add(15),je.showEnumMembers||pe.add(16),je.showKeywords||pe.add(17),je.showWords||pe.add(18),je.showColors||pe.add(19),je.showFiles||pe.add(20),je.showReferences||pe.add(21),je.showColors||pe.add(22),je.showFolders||pe.add(23),je.showTypeParameters||pe.add(24),je.showSnippets||pe.add(27),je.showUsers||pe.add(25),je.showIssues||pe.add(26),{itemKind:pe,showDeprecated:je.showDeprecated}}_onNewContext(F){if(this._context){if(F.lineNumber!==this._context.lineNumber){this.cancel();return}if((0,Ve.V8)(F.leadingLineContent)!==(0,Ve.V8)(this._context.leadingLineContent)){this.cancel();return}if(F.column<this._context.column){F.leadingWord.word?this.trigger({auto:this._context.auto,shy:!1},!0):this.cancel();return}if(this._completionModel){if(F.leadingWord.word.length!==0&&F.leadingWord.startColumn>this._context.leadingWord.startColumn){const pe=new Set(c.KZ.all(this._editor.getModel()));for(let je of this._completionModel.allProvider)pe.delete(je);const Ne=this._completionModel.adopt(new Set);this.trigger({auto:this._context.auto,shy:!1},!0,pe,{items:Ne,clipboardText:this._completionModel.clipboardText});return}if(F.column>this._context.column&&this._completionModel.incomplete.size>0&&F.leadingWord.word.length!==0){const{incomplete:pe}=this._completionModel,Ne=this._completionModel.adopt(pe);this.trigger({auto:this._state===2,shy:!1,triggerKind:2},!0,pe,{items:Ne,clipboardText:this._completionModel.clipboardText})}else{let pe=this._completionModel.lineContext,Ne=!1;if(this._completionModel.lineContext={leadingLineContent:F.leadingLineContent,characterCountDelta:F.column-this._context.column},this._completionModel.items.length===0){if(Ft.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn<F.leadingWord.startColumn){this.trigger({auto:this._context.auto,shy:!1},!0);return}if(this._context.auto){this.cancel();return}else if(this._completionModel.lineContext=pe,Ne=this._completionModel.items.length>0,Ne&&F.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,shy:this._context.shy,isFrozen:Ne})}}}}};Ze=it([rt(1,ae.p),rt(2,$.p),rt(3,ee.b),rt(4,ge.VZ),rt(5,le.i6),rt(6,b.Ui)],Ze);class Ae{constructor(F,pe){this._disposables=new y.SL,this._lastOvertyped=[],this._empty=!0,this._disposables.add(F.onWillType(()=>{if(!this._empty||!F.hasModel())return;const Ne=F.getSelections(),je=Ne.length;let Je=!1;for(let Rt=0;Rt<je;Rt++)if(!Ne[Rt].isEmpty()){Je=!0;break}if(!Je)return;this._lastOvertyped=[];const St=F.getModel();for(let Rt=0;Rt<je;Rt++){const ti=Ne[Rt];if(St.getValueLengthInRange(ti)>Ae._maxSelectionLength)return;this._lastOvertyped[Rt]={value:St.getValueInRange(ti),multiline:ti.startLineNumber!==ti.endLineNumber}}this._empty=!1})),this._disposables.add(pe.onDidCancel(Ne=>{!this._empty&&!Ne.retrigger&&(this._empty=!0)}))}getLastOvertypedInfo(F){if(!this._empty&&F>=0&&F<this._lastOvertyped.length)return this._lastOvertyped[F]}dispose(){this._disposables.dispose()}}Ae._maxSelectionLength=51200;var He=i(69454),Et=i(40745),Wt=i(62685),oi=i(56722),ni=i(20712),hi=i(21784),Di=i(68489),Ti=function(Lt,F,pe,Ne){var je=arguments.length,Je=je<3?F:Ne===null?Ne=Object.getOwnPropertyDescriptor(F,pe):Ne,St;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Je=Reflect.decorate(Lt,F,pe,Ne);else for(var Rt=Lt.length-1;Rt>=0;Rt--)(St=Lt[Rt])&&(Je=(je<3?St(Je):je>3?St(F,pe,Je):St(F,pe))||Je);return je>3&&Je&&Object.defineProperty(F,pe,Je),Je},Ni=function(Lt,F){return function(pe,Ne){F(pe,Ne,Lt)}};class ai extends Di.Mm{updateLabel(){const F=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!F)return super.updateLabel();this.label&&(this.label.textContent=(0,V.N)("ddd","{0} ({1})",this._action.label,ai.symbolPrintEnter(F)))}static symbolPrintEnter(F){var pe;return(pe=F.getLabel())===null||pe===void 0?void 0:pe.replace(/\benter\b/gi,"\u23CE")}}let Pt=class{constructor(F,pe,Ne,je){this._menuService=Ne,this._contextKeyService=je,this._menuDisposables=new y.SL,this.element=He.R3(F,He.$(".suggest-status-bar"));const Je=St=>St instanceof K.U8?pe.createInstance(ai,St,void 0):void 0;this._leftActions=new hi.o(this.element,{actionViewItemProvider:Je}),this._rightActions=new hi.o(this.element,{actionViewItemProvider:Je}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this.element.remove()}show(){const F=this._menuService.createMenu(ye.GI,this._contextKeyService),pe=()=>{const Ne=[],je=[];for(let[Je,St]of F.getActions())Je==="left"?Ne.push(...St):je.push(...St);this._leftActions.clear(),this._leftActions.push(Ne),this._rightActions.clear(),this._rightActions.push(je)};this._menuDisposables.add(F.onDidChange(()=>pe())),this._menuDisposables.add(F)}hide(){this._menuDisposables.clear()}};Pt=Ti([Ni(1,T.TG),Ni(2,K.co),Ni(3,le.i6)],Pt);var Gt=i(45495),st=i(44350),gt=i(32426),ht=i(49055),Qe=i(39665);class $e{constructor(){this._onDidWillResize=new G.Q5,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new G.Q5,this.onDidResize=this._onDidResize.event,this._sashListener=new y.SL,this._size=new He.Ro(0,0),this._minSize=new He.Ro(0,0),this._maxSize=new He.Ro(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new Qe.g(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Qe.g(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Qe.g(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:Qe.l.North}),this._southSash=new Qe.g(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:Qe.l.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let F,pe=0,Ne=0;this._sashListener.add(G.ju.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{F===void 0&&(this._onDidWillResize.fire(),F=this._size,pe=0,Ne=0)})),this._sashListener.add(G.ju.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{F!==void 0&&(F=void 0,pe=0,Ne=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(je=>{F&&(Ne=je.currentX-je.startX,this.layout(F.height+pe,F.width+Ne),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(je=>{F&&(Ne=-(je.currentX-je.startX),this.layout(F.height+pe,F.width+Ne),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(je=>{F&&(pe=-(je.currentY-je.startY),this.layout(F.height+pe,F.width+Ne),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(je=>{F&&(pe=je.currentY-je.startY,this.layout(F.height+pe,F.width+Ne),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(G.ju.any(this._eastSash.onDidReset,this._westSash.onDidReset)(je=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(G.ju.any(this._northSash.onDidReset,this._southSash.onDidReset)(je=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(F,pe,Ne,je){this._northSash.state=F?3:0,this._eastSash.state=pe?3:0,this._southSash.state=Ne?3:0,this._westSash.state=je?3:0}layout(F=this.size.height,pe=this.size.width){const{height:Ne,width:je}=this._minSize,{height:Je,width:St}=this._maxSize;F=Math.max(Ne,Math.min(Je,F)),pe=Math.max(je,Math.min(St,pe));const Rt=new He.Ro(pe,F);He.Ro.equals(Rt,this._size)||(this.domNode.style.height=F+"px",this.domNode.style.width=pe+"px",this._size=Rt,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(F){this._maxSize=F}get maxSize(){return this._maxSize}set minSize(F){this._minSize=F}get minSize(){return this._minSize}set preferredSize(F){this._preferredSize=F}get preferredSize(){return this._preferredSize}}var Ie=i(87783),Oe=i(1336),Ke=i(52615),ct=i(94186),Nt=i(56327),$t=i(97199),Xt=function(Lt,F,pe,Ne){var je=arguments.length,Je=je<3?F:Ne===null?Ne=Object.getOwnPropertyDescriptor(F,pe):Ne,St;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Je=Reflect.decorate(Lt,F,pe,Ne);else for(var Rt=Lt.length-1;Rt>=0;Rt--)(St=Lt[Rt])&&(Je=(je<3?St(Je):je>3?St(F,pe,Je):St(F,pe))||Je);return je>3&&Je&&Object.defineProperty(F,pe,Je),Je},Ci=function(Lt,F){return function(pe,Ne){F(pe,Ne,Lt)}};function Zt(Lt){return!!Lt&&!!(Lt.completion.documentation||Lt.completion.detail&&Lt.completion.detail!==Lt.completion.label)}let mi=class{constructor(F,pe){this._editor=F,this._onDidClose=new G.Q5,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new G.Q5,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new y.SL,this._renderDisposeable=new y.SL,this._borderWidth=1,this._size=new He.Ro(330,0),this.domNode=He.$(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=pe.createInstance(Nt.$,{editor:F}),this._body=He.$(".body"),this._scrollbar=new Oe.s$(this._body,{}),He.R3(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=He.R3(this._body,He.$(".header")),this._close=He.R3(this._header,He.$("span"+Ke.lA.close.cssSelector)),this._close.title=V.N("details.close","Close"),this._type=He.R3(this._header,He.$("p.type")),this._docs=He.R3(this._body,He.$("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(Ne=>{Ne.hasChanged(43)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const F=this._editor.getOptions(),pe=F.get(43),Ne=pe.getMassagedFontFamily(Ie.G6?$t.hL.fontFamily:null),je=F.get(106)||pe.fontSize,Je=F.get(107)||pe.lineHeight,St=pe.fontWeight,Rt=`${je}px`,ti=`${Je}px`;this.domNode.style.fontSize=Rt,this.domNode.style.lineHeight=`${Je/je}`,this.domNode.style.fontWeight=St,this.domNode.style.fontFeatureSettings=pe.fontFeatureSettings,this._type.style.fontFamily=Ne,this._close.style.height=ti,this._close.style.width=ti}getLayoutInfo(){const F=this._editor.getOption(107)||this._editor.getOption(43).lineHeight,pe=this._borderWidth,Ne=pe*2;return{lineHeight:F,borderWidth:pe,borderHeight:Ne,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=V.N("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(F,pe){var Ne,je;this._renderDisposeable.clear();let{detail:Je,documentation:St}=F.completion;if(pe){let Rt="";Rt+=`score: ${F.score[0]}
`,Rt+=`prefix: ${(Ne=F.word)!==null&&Ne!==void 0?Ne:"(no prefix)"}
`,Rt+=`word: ${F.completion.filterText?F.completion.filterText+" (filterText)":F.textLabel}
`,Rt+=`distance: ${F.distance} (localityBonus-setting)
`,Rt+=`index: ${F.idx}, based on ${F.completion.sortText&&`sortText: "${F.completion.sortText}"`||"label"}
`,Rt+=`commit_chars: ${(je=F.completion.commitCharacters)===null||je===void 0?void 0:je.join("")}
`,St=new ct.W5().appendCodeblock("empty",Rt),Je=`Provider: ${F.provider._debugDisplayName}`}if(!pe&&!Zt(F)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),Je){const Rt=Je.length>1e5?`${Je.substr(0,1e5)}\u2026`:Je;this._type.textContent=Rt,this._type.title=Rt,He.$Z(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(Rt))}else He.PO(this._type),this._type.title="",He.Cp(this._type),this.domNode.classList.add("no-type");if(He.PO(this._docs),typeof St=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=St;else if(St){this._docs.classList.add("markdown-docs"),He.PO(this._docs);const Rt=this._markdownRenderer.render(St);this._docs.appendChild(Rt.element),this._renderDisposeable.add(Rt),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=Rt=>{Rt.preventDefault(),Rt.stopPropagation()},this._close.onclick=Rt=>{Rt.preventDefault(),Rt.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get size(){return this._size}layout(F,pe){const Ne=new He.Ro(F,pe);He.Ro.equals(Ne,this._size)||(this._size=Ne,He.dp(this.domNode,F,pe)),this._scrollbar.scanDomNode()}scrollDown(F=8){this._body.scrollTop+=F}scrollUp(F=8){this._body.scrollTop-=F}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(F){this._borderWidth=F}get borderWidth(){return this._borderWidth}};mi=Xt([Ci(1,T.TG)],mi);class mt{constructor(F,pe){this.widget=F,this._editor=pe,this._disposables=new y.SL,this._added=!1,this._resizable=new $e,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(F.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let Ne,je,Je=0,St=0;this._disposables.add(this._resizable.onDidWillResize(()=>{Ne=this._topLeft,je=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(Rt=>{if(Ne&&je){this.widget.layout(Rt.dimension.width,Rt.dimension.height);let ti=!1;Rt.west&&(St=je.width-Rt.dimension.width,ti=!0),Rt.north&&(Je=je.height-Rt.dimension.height,ti=!0),ti&&this._applyTopLeft({top:Ne.top+Je,left:Ne.left+St})}Rt.done&&(Ne=void 0,je=void 0,Je=0,St=0,this._userSize=Rt.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{var Rt;this._anchorBox&&this._placeAtAnchor(this._anchorBox,(Rt=this._userSize)!==null&&Rt!==void 0?Rt:this.widget.size)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return null}show(){this._added||(this._editor.addOverlayWidget(this),this.getDomNode().style.position="fixed",this._added=!0)}hide(F=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),F&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(F){var pe;const Ne=He.i(F);this._anchorBox=Ne,this._placeAtAnchor(this._anchorBox,(pe=this._userSize)!==null&&pe!==void 0?pe:this.widget.size)}_placeAtAnchor(F,pe){var Ne;const je=He.D6(document.body),Je=this.widget.getLayoutInfo(),St=new He.Ro(220,2*Je.lineHeight),Rt=F.top,ti=function(){const Yt=je.width-(F.left+F.width+Je.borderWidth+Je.horizontalPadding),ei=-Je.borderWidth+F.left+F.width,ri=new He.Ro(Yt,je.height-F.top-Je.borderHeight-Je.verticalPadding),gi=ri.with(void 0,F.top+F.height-Je.borderHeight-Je.verticalPadding);return{top:Rt,left:ei,fit:Yt-pe.width,maxSizeTop:ri,maxSizeBottom:gi,minSize:St.with(Math.min(Yt,St.width))}}(),fi=function(){const Yt=F.left-Je.borderWidth-Je.horizontalPadding,ei=Math.max(Je.horizontalPadding,F.left-pe.width-Je.borderWidth),ri=new He.Ro(Yt,je.height-F.top-Je.borderHeight-Je.verticalPadding),gi=ri.with(void 0,F.top+F.height-Je.borderHeight-Je.verticalPadding);return{top:Rt,left:ei,fit:Yt-pe.width,maxSizeTop:ri,maxSizeBottom:gi,minSize:St.with(Math.min(Yt,St.width))}}(),ii=function(){const Yt=F.left,ei=-Je.borderWidth+F.top+F.height,ri=new He.Ro(F.width-Je.borderHeight,je.height-F.top-F.height-Je.verticalPadding);return{top:ei,left:Yt,fit:ri.height-pe.height,maxSizeBottom:ri,maxSizeTop:ri,minSize:St.with(ri.width)}}(),Ct=[ti,fi,ii],k=(Ne=Ct.find(Yt=>Yt.fit>=0))!==null&&Ne!==void 0?Ne:Ct.sort((Yt,ei)=>ei.fit-Yt.fit)[0],Ce=F.top+F.height-Je.borderHeight;let Be,ot=pe.height;const wt=Math.max(k.maxSizeTop.height,k.maxSizeBottom.height);ot>wt&&(ot=wt);let Ut;ot<=k.maxSizeTop.height?(Be=!0,Ut=k.maxSizeTop):(Be=!1,Ut=k.maxSizeBottom),this._applyTopLeft({left:k.left,top:Be?k.top:Ce-ot}),this.getDomNode().style.position="fixed",this._resizable.enableSashes(!Be,k===ti,Be,k!==ti),this._resizable.minSize=k.minSize,this._resizable.maxSize=Ut,this._resizable.layout(ot,Math.min(Ut.width,pe.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(F){this._topLeft=F,this.getDomNode().style.left=`${this._topLeft.left}px`,this.getDomNode().style.top=`${this._topLeft.top}px`}}var ut=i(78032),qe=i(4968),de=i(66657),Se=i(9365),Y=i(3182),_e;(function(Lt){Lt[Lt.FILE=0]="FILE",Lt[Lt.FOLDER=1]="FOLDER",Lt[Lt.ROOT_FOLDER=2]="ROOT_FOLDER"})(_e||(_e={}));function ke(Lt,F,pe,Ne){const je=Ne===_e.ROOT_FOLDER?["rootfolder-icon"]:Ne===_e.FOLDER?["folder-icon"]:["file-icon"];if(pe){let Je;if(pe.scheme===de.lg.data?Je=Se.Vb.parseMetaData(pe).get(Se.Vb.META_DATA_LABEL):Je=nt((0,Se.Hx)(pe).toLowerCase()),Ne===_e.FOLDER)je.push(`${Je}-name-folder-icon`);else{if(Je){if(je.push(`${Je}-name-file-icon`),Je.length<=255){const Rt=Je.split(".");for(let ti=1;ti<Rt.length;ti++)je.push(`${Rt.slice(ti).join(".")}-ext-file-icon`)}je.push("ext-file-icon")}const St=lt(Lt,F,pe);St&&je.push(`${nt(St)}-lang-file-icon`)}}return je}function lt(Lt,F,pe){if(!pe)return null;let Ne=null;if(pe.scheme===de.lg.data){const Je=Se.Vb.parseMetaData(pe).get(Se.Vb.META_DATA_MIME);Je&&(Ne=F.getModeId(Je))}else{const je=Lt.getModel(pe);je&&(Ne=je.getLanguageId())}return Ne&&Ne!==Y.XT?Ne:F.getModeIdByFilepathOrFirstLine(pe)}function nt(Lt){return Lt.replace(/[\11\12\14\15\40]/g,"/")}var pt=i(12027),Dt=i(64992),Vt=i(55773),Mt=function(Lt,F,pe,Ne){var je=arguments.length,Je=je<3?F:Ne===null?Ne=Object.getOwnPropertyDescriptor(F,pe):Ne,St;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Je=Reflect.decorate(Lt,F,pe,Ne);else for(var Rt=Lt.length-1;Rt>=0;Rt--)(St=Lt[Rt])&&(Je=(je<3?St(Je):je>3?St(F,pe,Je):St(F,pe))||Je);return je>3&&Je&&Object.defineProperty(F,pe,Je),Je},Jt=function(Lt,F){return function(pe,Ne){F(pe,Ne,Lt)}},jt;function ui(Lt){return`suggest-aria-id:${Lt}`}const vi=(0,Vt.q5)("suggest-more-info",Ke.lA.chevronRight,V.N("suggestMoreInfoIcon","Icon for more information in the suggest widget.")),Si=new(jt=class Er{extract(F,pe){if(F.textLabel.match(Er._regexStrict))return pe[0]=F.textLabel,!0;if(F.completion.detail&&F.completion.detail.match(Er._regexStrict))return pe[0]=F.completion.detail,!0;if(typeof F.completion.documentation=="string"){const Ne=Er._regexRelaxed.exec(F.completion.documentation);if(Ne&&(Ne.index===0||Ne.index+Ne[0].length===F.completion.documentation.length))return pe[0]=Ne[0],!0}return!1}},jt._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,jt._regexStrict=new RegExp(`^${jt._regexRelaxed.source}$`,"i"),jt);let Oi=class{constructor(F,pe,Ne,je){this._editor=F,this._modelService=pe,this._modeService=Ne,this._themeService=je,this._onDidToggleDetails=new G.Q5,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(F){const pe=Object.create(null);pe.disposables=new y.SL,pe.root=F,pe.root.classList.add("show-file-icons"),pe.icon=(0,He.R3)(F,(0,He.$)(".icon")),pe.colorspan=(0,He.R3)(pe.icon,(0,He.$)("span.colorspan"));const Ne=(0,He.R3)(F,(0,He.$)(".contents")),je=(0,He.R3)(Ne,(0,He.$)(".main"));pe.iconContainer=(0,He.R3)(je,(0,He.$)(".icon-label.codicon")),pe.left=(0,He.R3)(je,(0,He.$)("span.left")),pe.right=(0,He.R3)(je,(0,He.$)("span.right")),pe.iconLabel=new ut.g(pe.left,{supportHighlights:!0,supportIcons:!0}),pe.disposables.add(pe.iconLabel),pe.parametersLabel=(0,He.R3)(pe.left,(0,He.$)("span.signature-label")),pe.qualifierLabel=(0,He.R3)(pe.left,(0,He.$)("span.qualifier-label")),pe.detailsLabel=(0,He.R3)(pe.right,(0,He.$)("span.details-label")),pe.readMore=(0,He.R3)(pe.right,(0,He.$)("span.readMore"+ht.kS.asCSSSelector(vi))),pe.readMore.title=V.N("readMore","Read More");const Je=()=>{const St=this._editor.getOptions(),Rt=St.get(43),ti=Rt.getMassagedFontFamily(Ie.G6?$t.hL.fontFamily:null),fi=Rt.fontFeatureSettings,ii=St.get(106)||Rt.fontSize,Ct=St.get(107)||Rt.lineHeight,k=Rt.fontWeight,Ce=`${ii}px`,Be=`${Ct}px`;pe.root.style.fontSize=Ce,pe.root.style.fontWeight=k,je.style.fontFamily=ti,je.style.fontFeatureSettings=fi,je.style.lineHeight=Be,pe.icon.style.height=Be,pe.icon.style.width=Be,pe.readMore.style.height=Be,pe.readMore.style.width=Be};return Je(),pe.disposables.add(this._editor.onDidChangeConfiguration(St=>{(St.hasChanged(43)||St.hasChanged(106)||St.hasChanged(107))&&Je()})),pe}renderElement(F,pe,Ne){const{completion:je}=F;Ne.root.id=ui(pe),Ne.colorspan.style.backgroundColor="";const Je={labelEscapeNewLines:!0,matches:(0,he.mB)(F.score)};let St=[];if(je.kind===19&&Si.extract(F,St))Ne.icon.className="icon customcolor",Ne.iconContainer.className="icon hide",Ne.colorspan.style.backgroundColor=St[0];else if(je.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){Ne.icon.className="icon hide",Ne.iconContainer.className="icon hide";const Rt=ke(this._modelService,this._modeService,qe.o.from({scheme:"fake",path:F.textLabel}),_e.FILE),ti=ke(this._modelService,this._modeService,qe.o.from({scheme:"fake",path:je.detail}),_e.FILE);Je.extraClasses=Rt.length>ti.length?Rt:ti}else je.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(Ne.icon.className="icon hide",Ne.iconContainer.className="icon hide",Je.extraClasses=(0,H.xH)([ke(this._modelService,this._modeService,qe.o.from({scheme:"fake",path:F.textLabel}),_e.FOLDER),ke(this._modelService,this._modeService,qe.o.from({scheme:"fake",path:je.detail}),_e.FOLDER)])):(Ne.icon.className="icon hide",Ne.iconContainer.className="",Ne.iconContainer.classList.add("suggest-icon",...(0,c.Sy)(je.kind).split(" ")));je.tags&&je.tags.indexOf(1)>=0&&(Je.extraClasses=(Je.extraClasses||[]).concat(["deprecated"]),Je.matches=[]),Ne.iconLabel.setLabel(F.textLabel,void 0,Je),typeof je.label=="string"?(Ne.parametersLabel.textContent="",Ne.detailsLabel.textContent=Ri(je.detail||""),Ne.root.classList.add("string-label")):(Ne.parametersLabel.textContent=Ri(je.label.detail||""),Ne.detailsLabel.textContent=Ri(je.label.description||""),Ne.root.classList.remove("string-label")),this._editor.getOption(105).showInlineDetails?(0,He.$Z)(Ne.detailsLabel):(0,He.Cp)(Ne.detailsLabel),Zt(F)?(Ne.right.classList.add("can-expand-details"),(0,He.$Z)(Ne.readMore),Ne.readMore.onmousedown=Rt=>{Rt.stopPropagation(),Rt.preventDefault()},Ne.readMore.onclick=Rt=>{Rt.stopPropagation(),Rt.preventDefault(),this._onDidToggleDetails.fire()}):(Ne.right.classList.remove("can-expand-details"),(0,He.Cp)(Ne.readMore),Ne.readMore.onmousedown=null,Ne.readMore.onclick=null)}disposeTemplate(F){F.disposables.dispose()}};Oi=Mt([Jt(1,pt.q),Jt(2,Dt.h),Jt(3,ht.XE)],Oi);function Ri(Lt){return Lt.replace(/\r\n|\r|\n/g,"")}var zi=function(Lt,F,pe,Ne){var je=arguments.length,Je=je<3?F:Ne===null?Ne=Object.getOwnPropertyDescriptor(F,pe):Ne,St;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Je=Reflect.decorate(Lt,F,pe,Ne);else for(var Rt=Lt.length-1;Rt>=0;Rt--)(St=Lt[Rt])&&(Je=(je<3?St(Je):je>3?St(F,pe,Je):St(F,pe))||Je);return je>3&&Je&&Object.defineProperty(F,pe,Je),Je},hn=function(Lt,F){return function(pe,Ne){F(pe,Ne,Lt)}},bn=function(Lt,F,pe,Ne){function je(Je){return Je instanceof pe?Je:new pe(function(St){St(Je)})}return new(pe||(pe=Promise))(function(Je,St){function Rt(ii){try{fi(Ne.next(ii))}catch(Ct){St(Ct)}}function ti(ii){try{fi(Ne.throw(ii))}catch(Ct){St(Ct)}}function fi(ii){ii.done?Je(ii.value):je(ii.value).then(Rt,ti)}fi((Ne=Ne.apply(Lt,F||[])).next())})};const qi=(0,st.P6)("editorSuggestWidget.background",{dark:st.D0,light:st.D0,hc:st.D0},V.N("editorSuggestWidgetBackground","Background color of the suggest widget.")),Rn=(0,st.P6)("editorSuggestWidget.border",{dark:st.D1,light:st.D1,hc:st.D1},V.N("editorSuggestWidgetBorder","Border color of the suggest widget.")),yn=(0,st.P6)("editorSuggestWidget.foreground",{dark:st.NO,light:st.NO,hc:st.NO},V.N("editorSuggestWidgetForeground","Foreground color of the suggest widget.")),nn=(0,st.P6)("editorSuggestWidget.selectedForeground",{dark:st.NP,light:st.NP,hc:st.NP},V.N("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget.")),kn=(0,st.P6)("editorSuggestWidget.selectedIconForeground",{dark:st.cb,light:st.cb,hc:st.cb},V.N("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget.")),Dn=(0,st.P6)("editorSuggestWidget.selectedBackground",{dark:st.Vq,light:st.Vq,hc:st.Vq},V.N("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget.")),En=(0,st.P6)("editorSuggestWidget.highlightForeground",{dark:st.Gw,light:st.Gw,hc:st.Gw},V.N("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget.")),Jn=(0,st.P6)("editorSuggestWidget.focusHighlightForeground",{dark:st.PX,light:st.PX,hc:st.PX},V.N("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));class ln{constructor(F,pe){this._service=F,this._key=`suggestWidget.size/${pe.getEditorType()}/${pe instanceof ni.H}`}restore(){var F;const pe=(F=this._service.get(this._key,0))!==null&&F!==void 0?F:"";try{const Ne=JSON.parse(pe);if(He.Ro.is(Ne))return He.Ro.lift(Ne)}catch(Ne){}}store(F){this._service.store(this._key,JSON.stringify(F),0,1)}reset(){this._service.remove(this._key,0)}}let $n=class Ta{constructor(F,pe,Ne,je,Je){this.editor=F,this._storageService=pe,this._state=0,this._isAuto=!1,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new O._F,this._disposables=new y.SL,this._onDidSelect=new G.Q5,this._onDidFocus=new G.Q5,this._onDidHide=new G.Q5,this._onDidShow=new G.Q5,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new G.Q5,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new $e,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new Gn(this,F),this._persistedSize=new ln(pe,F);class St{constructor(Ce,Be,ot=!1,wt=!1){this.persistedSize=Ce,this.currentSize=Be,this.persistHeight=ot,this.persistWidth=wt}}let Rt;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),Rt=new St(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(k=>{var Ce,Be,ot,wt;if(this._resize(k.dimension.width,k.dimension.height),Rt&&(Rt.persistHeight=Rt.persistHeight||!!k.north||!!k.south,Rt.persistWidth=Rt.persistWidth||!!k.east||!!k.west),!!k.done){if(Rt){const{itemHeight:Ut,defaultSize:Yt}=this.getLayoutInfo(),ei=Math.round(Ut/2);let{width:ri,height:gi}=this.element.size;(!Rt.persistHeight||Math.abs(Rt.currentSize.height-gi)<=ei)&&(gi=(Be=(Ce=Rt.persistedSize)===null||Ce===void 0?void 0:Ce.height)!==null&&Be!==void 0?Be:Yt.height),(!Rt.persistWidth||Math.abs(Rt.currentSize.width-ri)<=ei)&&(ri=(wt=(ot=Rt.persistedSize)===null||ot===void 0?void 0:ot.width)!==null&&wt!==void 0?wt:Yt.width),this._persistedSize.store(new He.Ro(ri,gi))}this._contentWidget.unlockPreference(),Rt=void 0}})),this._messageElement=He.R3(this.element.domNode,He.$(".message")),this._listElement=He.R3(this.element.domNode,He.$(".tree"));const ti=Je.createInstance(mi,this.editor);ti.onDidClose(this.toggleDetails,this,this._disposables),this._details=new mt(ti,this.editor);const fi=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(105).showIcons);fi();const ii=Je.createInstance(Oi,this.editor);this._disposables.add(ii),this._disposables.add(ii.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Wt.aV("SuggestWidget",this._listElement,{getHeight:k=>this.getLayoutInfo().itemHeight,getTemplateId:k=>"suggestion"},[ii],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,accessibilityProvider:{getRole:()=>"option",getAriaLabel:k=>{if(k.isResolved&&this._isDetailsVisible()){const{documentation:Ce,detail:Be}=k.completion,ot=Ve.WU("{0}{1}",Be||"",Ce?typeof Ce=="string"?Ce:Ce.value:"");return V.N("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",k.textLabel,ot)}else return k.textLabel},getWidgetAriaLabel:()=>V.N("suggest","Suggest"),getWidgetRole:()=>"listbox"}}),this._status=Je.createInstance(Pt,this.element.domNode);const Ct=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(105).showStatusBar);Ct(),this._disposables.add((0,gt.Jl)(this._list,je,{listInactiveFocusBackground:Dn,listInactiveFocusOutline:st.xL})),this._disposables.add(je.onDidColorThemeChange(k=>this._onThemeChange(k))),this._onThemeChange(je.getColorTheme()),this._disposables.add(this._list.onMouseDown(k=>this._onListMouseDownOrTap(k))),this._disposables.add(this._list.onTap(k=>this._onListMouseDownOrTap(k))),this._disposables.add(this._list.onDidChangeSelection(k=>this._onListSelection(k))),this._disposables.add(this._list.onDidChangeFocus(k=>this._onListFocus(k))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(k=>{k.hasChanged(105)&&(Ct(),fi())})),this._ctxSuggestWidgetVisible=ye._y.Visible.bindTo(Ne),this._ctxSuggestWidgetDetailsVisible=ye._y.DetailsVisible.bindTo(Ne),this._ctxSuggestWidgetMultipleSuggestions=ye._y.MultipleSuggestions.bindTo(Ne),this._disposables.add(He.mu(this._details.widget.domNode,"keydown",k=>{this._onDetailsKeydown.fire(k)})),this._disposables.add(this.editor.onMouseDown(k=>this._onEditorMouseDown(k)))}dispose(){var F;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(F=this._loadingTimeout)===null||F===void 0||F.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(F){this._details.widget.domNode.contains(F.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(F.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(F){typeof F.element=="undefined"||typeof F.index=="undefined"||(F.browserEvent.preventDefault(),F.browserEvent.stopPropagation(),this._select(F.element,F.index))}_onListSelection(F){F.elements.length&&this._select(F.elements[0],F.indexes[0])}_select(F,pe){const Ne=this._completionModel;Ne&&(this._onDidSelect.fire({item:F,index:pe,model:Ne}),this.editor.focus())}_onThemeChange(F){const pe=F.getColor(qi);pe&&(this.element.domNode.style.backgroundColor=pe.toString(),this._messageElement.style.backgroundColor=pe.toString(),this._details.widget.domNode.style.backgroundColor=pe.toString());const Ne=F.getColor(Rn);Ne&&(this.element.domNode.style.borderColor=Ne.toString(),this._messageElement.style.borderColor=Ne.toString(),this._status.element.style.borderTopColor=Ne.toString(),this._details.widget.domNode.style.borderColor=Ne.toString(),this._detailsBorderColor=Ne.toString());const je=F.getColor(st.R8);je&&(this._detailsFocusBorderColor=je.toString()),this._details.widget.borderWidth=F.type==="hc"?2:1}_onListFocus(F){var pe;if(this._ignoreFocusEvents)return;if(!F.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0});return}if(!this._completionModel)return;const Ne=F.elements[0],je=F.indexes[0];Ne!==this._focusedItem&&((pe=this._currentSuggestionDetails)===null||pe===void 0||pe.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=Ne,this._list.reveal(je),this._currentSuggestionDetails=(0,O.PG)(Je=>bn(this,void 0,void 0,function*(){const St=(0,O.Vg)(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250);Je.onCancellationRequested(()=>St.dispose());const Rt=yield Ne.resolve(Je);return St.dispose(),Rt})),this._currentSuggestionDetails.then(()=>{je>=this._list.length||Ne!==this._list.element(je)||(this._ignoreFocusEvents=!0,this._list.splice(je,1,[Ne]),this._list.setFocus([je]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:ui(je)}))}).catch(D.dL)),this._onDidFocus.fire({item:Ne,index:je,model:this._completionModel})}_setState(F){if(this._state!==F)switch(this._state=F,this.element.domNode.classList.toggle("frozen",F===4),this.element.domNode.classList.remove("message"),F){case 0:He.Cp(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=Ta.LOADING_MESSAGE,He.Cp(this._listElement,this._status.element),He.$Z(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0;break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=Ta.NO_SUGGESTIONS_MESSAGE,He.Cp(this._listElement,this._status.element),He.$Z(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0;break;case 3:He.Cp(this._messageElement),He.$Z(this._listElement,this._status.element),this._show();break;case 4:He.Cp(this._messageElement),He.$Z(this._listElement,this._status.element),this._show();break;case 5:He.Cp(this._messageElement),He.$Z(this._listElement,this._status.element),this._details.show(),this._show();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(F,pe){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!F,this._isAuto||(this._loadingTimeout=(0,O.Vg)(()=>this._setState(1),pe)))}showSuggestions(F,pe,Ne,je){var Je,St;if(this._contentWidget.setPosition(this.editor.getPosition()),(Je=this._loadingTimeout)===null||Je===void 0||Je.dispose(),(St=this._currentSuggestionDetails)===null||St===void 0||St.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==F&&(this._completionModel=F),Ne&&this._state!==2&&this._state!==0){this._setState(4);return}const Rt=this._completionModel.items.length,ti=Rt===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(Rt>1),ti){this._setState(je?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._list.splice(0,this._list.length,this._completionModel.items),this._setState(Ne?4:3),this._list.reveal(pe,0),this._list.setFocus([pe]),this._layout(this.element.size),this._detailsBorderColor&&(this._details.widget.domNode.style.borderColor=this._detailsBorderColor)}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._setState(3),this._detailsBorderColor&&(this._details.widget.domNode.style.borderColor=this._detailsBorderColor)):this._state===3&&this._isDetailsVisible()&&(this._setState(5),this._detailsFocusBorderColor&&(this._details.widget.domNode.style.borderColor=this._detailsFocusBorderColor))}toggleDetails(){this._isDetailsVisible()?(this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):(Zt(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(F){this._details.show(),F?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._positionDetails(),this.editor.focus(),this.element.domNode.classList.add("shows-details")}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var F;(F=this._loadingTimeout)===null||F===void 0||F.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const pe=this._persistedSize.restore(),Ne=Math.ceil(this.getLayoutInfo().itemHeight*4.3);pe&&pe.height<Ne&&this._persistedSize.store(pe.with(void 0,Ne))}isFrozen(){return this._state===4}_afterRender(F){if(F===null){this._isDetailsVisible()&&this._details.hide();return}this._state===2||this._state===1||(this._isDetailsVisible()&&this._details.show(),this._positionDetails())}_layout(F){var pe,Ne,je;if(!this.editor.hasModel()||!this.editor.getDomNode())return;const Je=He.D6(document.body),St=this.getLayoutInfo();F||(F=St.defaultSize);let Rt=F.height,ti=F.width;if(this._status.element.style.lineHeight=`${St.itemHeight}px`,this._state===2||this._state===1)Rt=St.itemHeight+St.borderHeight,ti=St.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new He.Ro(ti,Rt),this._contentWidget.setPreference(2);else{const fi=Je.width-St.borderHeight-2*St.horizontalPadding;ti>fi&&(ti=fi);const ii=this._completionModel?this._completionModel.stats.pLabelLen*St.typicalHalfwidthCharacterWidth:ti,Ct=St.statusBarHeight+this._list.contentHeight+St.borderHeight,k=St.itemHeight+St.statusBarHeight,Ce=He.i(this.editor.getDomNode()),Be=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),ot=Ce.top+Be.top+Be.height,wt=Math.min(Je.height-ot-St.verticalPadding,Ct),Ut=Ce.top+Be.top-St.verticalPadding,Yt=Math.min(Ut,Ct);let ei=Math.min(Math.max(Yt,wt)+St.borderHeight,Ct);Rt===((pe=this._cappedHeight)===null||pe===void 0?void 0:pe.capped)&&(Rt=this._cappedHeight.wanted),Rt<k&&(Rt=k),Rt>ei&&(Rt=ei),Rt>wt||this._forceRenderingAbove&&Ut>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),ei=Yt):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),ei=wt),this.element.preferredSize=new He.Ro(ii,St.defaultSize.height),this.element.maxSize=new He.Ro(fi,ei),this.element.minSize=new He.Ro(220,k),this._cappedHeight=Rt===Ct?{wanted:(je=(Ne=this._cappedHeight)===null||Ne===void 0?void 0:Ne.wanted)!==null&&je!==void 0?je:F.height,capped:Rt}:void 0}this._resize(ti,Rt)}_resize(F,pe){const{width:Ne,height:je}=this.element.maxSize;F=Math.min(Ne,F),pe=Math.min(je,pe);const{statusBarHeight:Je}=this.getLayoutInfo();this._list.layout(pe-Je,F),this._listElement.style.height=`${pe-Je}px`,this.element.layout(pe,F),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode)}getLayoutInfo(){const F=this.editor.getOption(43),pe=(0,oi.u)(this.editor.getOption(107)||F.lineHeight,8,1e3),Ne=!this.editor.getOption(105).showStatusBar||this._state===2||this._state===1?0:pe,je=this._details.widget.borderWidth,Je=2*je;return{itemHeight:pe,statusBarHeight:Ne,borderWidth:je,borderHeight:Je,typicalHalfwidthCharacterWidth:F.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new He.Ro(430,Ne+12*pe+Je)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(F){this._storageService.store("expandSuggestionDocs",F,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};$n.LOADING_MESSAGE=V.N("suggestWidget.loading","Loading..."),$n.NO_SUGGESTIONS_MESSAGE=V.N("suggestWidget.noSuggestions","No suggestions."),$n=zi([hn(1,M.Uy),hn(2,le.i6),hn(3,ht.XE),hn(4,T.TG)],$n);class Gn{constructor(F,pe){this._widget=F,this._editor=pe,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){const{height:F,width:pe}=this._widget.element.size,{borderWidth:Ne,horizontalPadding:je}=this._widget.getLayoutInfo();return new He.Ro(pe+2*Ne+je,F+2*Ne)}afterRender(F){this._widget._afterRender(F)}setPreference(F){this._preferenceLocked||(this._preference=F)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(F){this._position=F}}(0,ht.Ic)((Lt,F)=>{const pe=Lt.getColor(En);pe&&F.addRule(`.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-highlighted-label .highlight { color: ${pe}; }`);const Ne=Lt.getColor(Jn);pe&&F.addRule(`.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight { color: ${Ne}; }`);const je=Lt.getColor(yn);je&&F.addRule(`.monaco-editor .suggest-widget, .monaco-editor .suggest-details { color: ${je}; }`);const Je=Lt.getColor(nn);Je&&F.addRule(`.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused { color: ${Je}; }`);const St=Lt.getColor(kn);St&&F.addRule(`.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon { color: ${St}; }`);const Rt=Lt.getColor(st.ur);Rt&&F.addRule(`.monaco-editor .suggest-details a { color: ${Rt}; }`);const ti=Lt.getColor(st.sg);ti&&F.addRule(`.monaco-editor .suggest-details a:hover { color: ${ti}; }`);const fi=Lt.getColor(st.Sw);fi&&F.addRule(`.monaco-editor .suggest-details code { background-color: ${fi}; }`)});var ss=function(Lt,F,pe,Ne){var je=arguments.length,Je=je<3?F:Ne===null?Ne=Object.getOwnPropertyDescriptor(F,pe):Ne,St;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Je=Reflect.decorate(Lt,F,pe,Ne);else for(var Rt=Lt.length-1;Rt>=0;Rt--)(St=Lt[Rt])&&(Je=(je<3?St(Je):je>3?St(F,pe,Je):St(F,pe))||Je);return je>3&&Je&&Object.defineProperty(F,pe,Je),Je},pn=function(Lt,F){return function(pe,Ne){F(pe,Ne,Lt)}};let Yn=!1;class Vn{constructor(F,pe){if(this._model=F,this._position=pe,F.getLineMaxColumn(pe.lineNumber)!==pe.column){const je=F.getOffsetAt(pe),Je=F.getPositionAt(je+1);this._marker=F.deltaDecorations([],[{range:f.e.fromPositions(pe,Je),options:{description:"suggest-line-suffix",stickiness:1}}])}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])}delta(F){if(this._model.isDisposed()||this._position.lineNumber!==F.lineNumber)return 0;if(this._marker){const pe=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(pe.getStartPosition())-this._model.getOffsetAt(F)}else return this._model.getLineMaxColumn(F.lineNumber)-F.column}}let An=class Pl{constructor(F,pe,Ne,je,Je,St){this._memoryService=pe,this._commandService=Ne,this._contextKeyService=je,this._instantiationService=Je,this._logService=St,this._lineSuffix=new y.XK,this._toDispose=new y.SL,this._selectors=new On(ii=>ii.priority),this.editor=F,this.model=Je.createInstance(Ze,this.editor);const Rt=ye._y.InsertMode.bindTo(je);Rt.set(F.getOption(105).insertMode),this.model.onDidTrigger(()=>Rt.set(F.getOption(105).insertMode)),this.widget=this._toDispose.add(new O.Ue(()=>{const ii=this._instantiationService.createInstance($n,this.editor);this._toDispose.add(ii),this._toDispose.add(ii.onDidSelect(ot=>this._insertSuggestion(ot,0),this));const Ct=new ce(this.editor,ii,ot=>this._insertSuggestion(ot,2));this._toDispose.add(Ct),this._toDispose.add(this.model.onDidSuggest(ot=>{ot.completionModel.items.length===0&&Ct.reset()}));const k=ye._y.MakesTextEdit.bindTo(this._contextKeyService),Ce=ye._y.HasInsertAndReplaceRange.bindTo(this._contextKeyService),Be=ye._y.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add((0,y.OF)(()=>{k.reset(),Ce.reset(),Be.reset()})),this._toDispose.add(ii.onDidFocus(({item:ot})=>{const wt=this.editor.getPosition(),Ut=ot.editStart.column,Yt=wt.column;let ei=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!ot.completion.additionalTextEdits&&!(ot.completion.insertTextRules&4)&&Yt-Ut===ot.completion.insertText.length&&(ei=this.editor.getModel().getValueInRange({startLineNumber:wt.lineNumber,startColumn:Ut,endLineNumber:wt.lineNumber,endColumn:Yt})!==ot.completion.insertText),k.set(ei),Ce.set(!C.L.equals(ot.editInsertEnd,ot.editReplaceEnd)),Be.set(!!ot.provider.resolveCompletionItem||!!ot.completion.documentation||ot.completion.detail!==ot.completion.label)})),this._toDispose.add(ii.onDetailsKeyDown(ot=>{if(ot.toKeybinding().equals(new I.QC(!0,!1,!1,!1,33))||E.dz&&ot.toKeybinding().equals(new I.QC(!1,!1,!1,!0,33))){ot.stopPropagation();return}ot.toKeybinding().isModifierKey()||this.editor.focus()})),ii})),this._overtypingCapturer=this._toDispose.add(new O.Ue(()=>this._toDispose.add(new Ae(this.editor,this.model)))),this._alternatives=this._toDispose.add(new O.Ue(()=>this._toDispose.add(new we(this.editor,this._contextKeyService)))),this._toDispose.add(Je.createInstance(R,F)),this._toDispose.add(this.model.onDidTrigger(ii=>{this.widget.value.showTriggered(ii.auto,ii.shy?250:50),this._lineSuffix.value=new Vn(this.editor.getModel(),ii.position)})),this._toDispose.add(this.model.onDidSuggest(ii=>{if(!ii.shy){let Ct=-1;for(const k of this._selectors.itemsOrderedByPriorityDesc)if(Ct=k.select(this.editor.getModel(),this.editor.getPosition(),ii.completionModel.items),Ct!==-1)break;Ct===-1&&(Ct=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),ii.completionModel.items)),this.widget.value.showSuggestions(ii.completionModel,Ct,ii.isFrozen,ii.auto)}})),this._toDispose.add(this.model.onDidCancel(ii=>{ii.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{Yn||(this.model.cancel(),this.model.clear())}));let ti=ye._y.AcceptSuggestionsOnEnter.bindTo(je),fi=()=>{const ii=this.editor.getOption(1);ti.set(ii==="on"||ii==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>fi())),fi()}static get(F){return F.getContribution(Pl.ID)}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose()}_insertSuggestion(F,pe){if(!F||!F.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const Ne=this.editor.getModel(),je=Ne.getAlternativeVersionId(),{item:Je}=F,St=[],Rt=new P.A;pe&1||this.editor.pushUndoStop();const ti=this.getOverwriteInfo(Je,!!(pe&8));if(this._memoryService.memorize(Ne,this.editor.getPosition(),Je),Array.isArray(Je.completion.additionalTextEdits)){const ii=g.ZF.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",Je.completion.additionalTextEdits.map(Ct=>s.h.replace(f.e.lift(Ct.range),Ct.text))),ii.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!Je.isResolved){const ii=new p.G(!0);let Ct;const k=Ne.onDidChangeContent(wt=>{if(wt.isFlush){Rt.cancel(),k.dispose();return}for(let Ut of wt.changes){const Yt=f.e.getEndPosition(Ut.range);(!Ct||C.L.isBefore(Yt,Ct))&&(Ct=Yt)}});let Ce=pe;pe|=2;let Be=!1,ot=this.editor.onWillType(()=>{ot.dispose(),Be=!0,Ce&2||this.editor.pushUndoStop()});St.push(Je.resolve(Rt.token).then(()=>{if(!Je.completion.additionalTextEdits||Rt.token.isCancellationRequested||Ct&&Je.completion.additionalTextEdits.some(Ut=>C.L.isBefore(Ct,f.e.getStartPosition(Ut.range))))return!1;Be&&this.editor.pushUndoStop();const wt=g.ZF.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",Je.completion.additionalTextEdits.map(Ut=>s.h.replace(f.e.lift(Ut.range),Ut.text))),wt.restoreRelativeVerticalPositionOfCursor(this.editor),(Be||!(Ce&2))&&this.editor.pushUndoStop(),!0}).then(wt=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",ii.elapsed(),wt),k.dispose(),ot.dispose()}))}let{insertText:fi}=Je.completion;Je.completion.insertTextRules&4||(fi=l.Yj.escape(fi)),r.SnippetController2.get(this.editor).insert(fi,{overwriteBefore:ti.overwriteBefore,overwriteAfter:ti.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(Je.completion.insertTextRules&1),clipboardText:F.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),pe&2||this.editor.pushUndoStop(),Je.completion.command?Je.completion.command.id===ts.id?this.model.trigger({auto:!0,shy:!1},!0):(St.push(this._commandService.executeCommand(Je.completion.command.id,...Je.completion.command.arguments?[...Je.completion.command.arguments]:[]).catch(D.dL)),this.model.cancel()):this.model.cancel(),pe&4&&this._alternatives.value.set(F,ii=>{for(Rt.cancel();Ne.canUndo();){je!==Ne.getAlternativeVersionId()&&Ne.undo(),this._insertSuggestion(ii,3|(pe&8?8:0));break}}),this._alertCompletionItem(Je),Promise.all(St).finally(()=>{this.model.clear(),Rt.dispose()})}getOverwriteInfo(F,pe){(0,a.p_)(this.editor.hasModel());let Ne=this.editor.getOption(105).insertMode==="replace";pe&&(Ne=!Ne);const je=F.position.column-F.editStart.column,Je=(Ne?F.editReplaceEnd.column:F.editInsertEnd.column)-F.position.column,St=this.editor.getPosition().column-F.position.column,Rt=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:je+St,overwriteAfter:Je+Rt}}_alertCompletionItem(F){if((0,H.Of)(F.completion.additionalTextEdits)){let pe=V.N("aria.alert.snippet","Accepting '{0}' made {1} additional edits",F.textLabel,F.completion.additionalTextEdits.length);(0,h.Z9)(pe)}}triggerSuggest(F){this.editor.hasModel()&&(this.model.trigger({auto:!1,shy:!1},!1,F),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(F){if(!this.editor.hasModel())return;const pe=this.editor.getPosition(),Ne=()=>{pe.equals(this.editor.getPosition())&&this._commandService.executeCommand(F.fallback)},je=Je=>{if(Je.completion.insertTextRules&4||Je.completion.additionalTextEdits)return!0;const St=this.editor.getPosition(),Rt=Je.editStart.column,ti=St.column;return ti-Rt!==Je.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:St.lineNumber,startColumn:Rt,endLineNumber:St.lineNumber,endColumn:ti})!==Je.completion.insertText};G.ju.once(this.model.onDidTrigger)(Je=>{let St=[];G.ju.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{(0,y.B9)(St),Ne()},void 0,St),this.model.onDidSuggest(({completionModel:Rt})=>{if((0,y.B9)(St),Rt.items.length===0){Ne();return}const ti=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),Rt.items),fi=Rt.items[ti];if(!je(fi)){Ne();return}this.editor.pushUndoStop(),this._insertSuggestion({index:ti,item:fi,model:Rt},7)},void 0,St)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(pe,0),this.editor.focus()}acceptSelectedSuggestion(F,pe){const Ne=this.widget.value.getFocusedItem();let je=0;F&&(je|=4),pe&&(je|=8),this._insertSuggestion(Ne,je)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(F){return this._selectors.register(F)}};An.ID="editor.contrib.suggestController",An=ss([pn(1,Q),pn(2,ie.H),pn(3,le.i6),pn(4,T.TG),pn(5,ge.VZ)],An);class On{constructor(F){this.prioritySelector=F,this._items=new Array}register(F){if(this._items.indexOf(F)!==-1)throw new Error("Value is already registered");return this._items.push(F),this._items.sort((pe,Ne)=>this.prioritySelector(Ne)-this.prioritySelector(pe)),{dispose:()=>{const pe=this._items.indexOf(F);pe>=0&&this._items.splice(pe,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class ts extends w.R6{constructor(){super({id:ts.id,label:V.N("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:le.Ao.and(v.u.writable,v.u.hasCompletionItemProvider),kbOpts:{kbExpr:v.u.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(F,pe){const Ne=An.get(pe);Ne&&Ne.triggerSuggest()}}ts.id="editor.action.triggerSuggest",(0,w._K)(An.ID,An),(0,w.Qr)(ts);const Un=190,sn=w._l.bindToContribution(An.get);(0,w.fK)(new sn({id:"acceptSelectedSuggestion",precondition:ye._y.Visible,handler(Lt){Lt.acceptSelectedSuggestion(!0,!1)}})),te.W.registerKeybindingRule({id:"acceptSelectedSuggestion",when:le.Ao.and(ye._y.Visible,v.u.textInputFocus),primary:2,weight:Un}),te.W.registerKeybindingRule({id:"acceptSelectedSuggestion",when:le.Ao.and(ye._y.Visible,v.u.textInputFocus,ye._y.AcceptSuggestionsOnEnter,ye._y.MakesTextEdit),primary:3,weight:Un}),K.BH.appendMenuItem(ye.GI,{command:{id:"acceptSelectedSuggestion",title:V.N("accept.insert","Insert")},group:"left",order:1,when:ye._y.HasInsertAndReplaceRange.toNegated()}),K.BH.appendMenuItem(ye.GI,{command:{id:"acceptSelectedSuggestion",title:V.N("accept.insert","Insert")},group:"left",order:1,when:le.Ao.and(ye._y.HasInsertAndReplaceRange,ye._y.InsertMode.isEqualTo("insert"))}),K.BH.appendMenuItem(ye.GI,{command:{id:"acceptSelectedSuggestion",title:V.N("accept.replace","Replace")},group:"left",order:1,when:le.Ao.and(ye._y.HasInsertAndReplaceRange,ye._y.InsertMode.isEqualTo("replace"))}),(0,w.fK)(new sn({id:"acceptAlternativeSelectedSuggestion",precondition:le.Ao.and(ye._y.Visible,v.u.textInputFocus),kbOpts:{weight:Un,kbExpr:v.u.textInputFocus,primary:1027,secondary:[1026]},handler(Lt){Lt.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:ye.GI,group:"left",order:2,when:le.Ao.and(ye._y.HasInsertAndReplaceRange,ye._y.InsertMode.isEqualTo("insert")),title:V.N("accept.replace","Replace")},{menuId:ye.GI,group:"left",order:2,when:le.Ao.and(ye._y.HasInsertAndReplaceRange,ye._y.InsertMode.isEqualTo("replace")),title:V.N("accept.insert","Insert")}]})),ie.P.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),(0,w.fK)(new sn({id:"hideSuggestWidget",precondition:ye._y.Visible,handler:Lt=>Lt.cancelSuggestWidget(),kbOpts:{weight:Un,kbExpr:v.u.textInputFocus,primary:9,secondary:[1033]}})),(0,w.fK)(new sn({id:"selectNextSuggestion",precondition:le.Ao.and(ye._y.Visible,ye._y.MultipleSuggestions),handler:Lt=>Lt.selectNextSuggestion(),kbOpts:{weight:Un,kbExpr:v.u.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),(0,w.fK)(new sn({id:"selectNextPageSuggestion",precondition:le.Ao.and(ye._y.Visible,ye._y.MultipleSuggestions),handler:Lt=>Lt.selectNextPageSuggestion(),kbOpts:{weight:Un,kbExpr:v.u.textInputFocus,primary:12,secondary:[2060]}})),(0,w.fK)(new sn({id:"selectLastSuggestion",precondition:le.Ao.and(ye._y.Visible,ye._y.MultipleSuggestions),handler:Lt=>Lt.selectLastSuggestion()})),(0,w.fK)(new sn({id:"selectPrevSuggestion",precondition:le.Ao.and(ye._y.Visible,ye._y.MultipleSuggestions),handler:Lt=>Lt.selectPrevSuggestion(),kbOpts:{weight:Un,kbExpr:v.u.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),(0,w.fK)(new sn({id:"selectPrevPageSuggestion",precondition:le.Ao.and(ye._y.Visible,ye._y.MultipleSuggestions),handler:Lt=>Lt.selectPrevPageSuggestion(),kbOpts:{weight:Un,kbExpr:v.u.textInputFocus,primary:11,secondary:[2059]}})),(0,w.fK)(new sn({id:"selectFirstSuggestion",precondition:le.Ao.and(ye._y.Visible,ye._y.MultipleSuggestions),handler:Lt=>Lt.selectFirstSuggestion()})),(0,w.fK)(new sn({id:"toggleSuggestionDetails",precondition:ye._y.Visible,handler:Lt=>Lt.toggleSuggestionDetails(),kbOpts:{weight:Un,kbExpr:v.u.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:ye.GI,group:"right",order:1,when:le.Ao.and(ye._y.DetailsVisible,ye._y.CanResolve),title:V.N("detail.more","show less")},{menuId:ye.GI,group:"right",order:1,when:le.Ao.and(ye._y.DetailsVisible.toNegated(),ye._y.CanResolve),title:V.N("detail.less","show more")}]})),(0,w.fK)(new sn({id:"toggleExplainMode",precondition:ye._y.Visible,handler:Lt=>Lt.toggleExplainMode(),kbOpts:{weight:100,primary:2133}})),(0,w.fK)(new sn({id:"toggleSuggestionFocus",precondition:ye._y.Visible,handler:Lt=>Lt.toggleSuggestionFocus(),kbOpts:{weight:Un,kbExpr:v.u.textInputFocus,primary:2570,mac:{primary:778}}})),(0,w.fK)(new sn({id:"insertBestCompletion",precondition:le.Ao.and(v.u.textInputFocus,le.Ao.equals("config.editor.tabCompletion","on"),R.AtEnd,ye._y.Visible.toNegated(),we.OtherSuggestions.toNegated(),r.SnippetController2.InSnippetMode.toNegated()),handler:(Lt,F)=>{Lt.triggerSuggestAndAcceptBest((0,a.Kn)(F)?Object.assign({fallback:"tab"},F):{fallback:"tab"})},kbOpts:{weight:Un,primary:2}})),(0,w.fK)(new sn({id:"insertNextSuggestion",precondition:le.Ao.and(v.u.textInputFocus,le.Ao.equals("config.editor.tabCompletion","on"),we.OtherSuggestions,ye._y.Visible.toNegated(),r.SnippetController2.InSnippetMode.toNegated()),handler:Lt=>Lt.acceptNextSuggestion(),kbOpts:{weight:Un,kbExpr:v.u.textInputFocus,primary:2}})),(0,w.fK)(new sn({id:"insertPrevSuggestion",precondition:le.Ao.and(v.u.textInputFocus,le.Ao.equals("config.editor.tabCompletion","on"),we.OtherSuggestions,ye._y.Visible.toNegated(),r.SnippetController2.InSnippetMode.toNegated()),handler:Lt=>Lt.acceptPrevSuggestion(),kbOpts:{weight:Un,kbExpr:v.u.textInputFocus,primary:1026}})),(0,w.Qr)(class extends w.R6{constructor(){super({id:"editor.action.resetSuggestSize",label:V.N("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(Lt,F){An.get(F).resetWidgetSize()}})},45495:function(xt,Te,i){"use strict";var h=i(52615),H=i(13268),O=i(44350),P=i(49055);const D=(0,O.P6)("symbolIcon.arrayForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),G=(0,O.P6)("symbolIcon.booleanForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),I=(0,O.P6)("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hc:"#EE9D28"},(0,H.N)("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),y=(0,O.P6)("symbolIcon.colorForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),E=(0,O.P6)("symbolIcon.constantForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),p=(0,O.P6)("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hc:"#B180D7"},(0,H.N)("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),a=(0,O.P6)("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hc:"#EE9D28"},(0,H.N)("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),g=(0,O.P6)("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},(0,H.N)("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),w=(0,O.P6)("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hc:"#EE9D28"},(0,H.N)("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),s=(0,O.P6)("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},(0,H.N)("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),C=(0,O.P6)("symbolIcon.fileForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),f=(0,O.P6)("symbolIcon.folderForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),v=(0,O.P6)("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hc:"#B180D7"},(0,H.N)("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),r=(0,O.P6)("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},(0,H.N)("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),l=(0,O.P6)("symbolIcon.keyForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),m=(0,O.P6)("symbolIcon.keywordForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),c=(0,O.P6)("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hc:"#B180D7"},(0,H.N)("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),b=(0,O.P6)("symbolIcon.moduleForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),L=(0,O.P6)("symbolIcon.namespaceForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),T=(0,O.P6)("symbolIcon.nullForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),M=(0,O.P6)("symbolIcon.numberForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),z=(0,O.P6)("symbolIcon.objectForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),oe=(0,O.P6)("symbolIcon.operatorForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),se=(0,O.P6)("symbolIcon.packageForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re=(0,O.P6)("symbolIcon.propertyForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),De=(0,O.P6)("symbolIcon.referenceForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),J=(0,O.P6)("symbolIcon.snippetForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Z=(0,O.P6)("symbolIcon.stringForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Q=(0,O.P6)("symbolIcon.structForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),le=(0,O.P6)("symbolIcon.textForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),xe=(0,O.P6)("symbolIcon.typeParameterForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),j=(0,O.P6)("symbolIcon.unitForeground",{dark:O.dR,light:O.dR,hc:O.dR},(0,H.N)("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),R=(0,O.P6)("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},(0,H.N)("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));(0,P.Ic)((V,K)=>{const ie=V.getColor(D);ie&&K.addRule(`${h.lA.symbolArray.cssSelector} { color: ${ie}; }`);const te=V.getColor(G);te&&K.addRule(`${h.lA.symbolBoolean.cssSelector} { color: ${te}; }`);const ge=V.getColor(I);ge&&K.addRule(`${h.lA.symbolClass.cssSelector} { color: ${ge}; }`);const ye=V.getColor(c);ye&&K.addRule(`${h.lA.symbolMethod.cssSelector} { color: ${ye}; }`);const ve=V.getColor(y);ve&&K.addRule(`${h.lA.symbolColor.cssSelector} { color: ${ve}; }`);const Fe=V.getColor(E);Fe&&K.addRule(`${h.lA.symbolConstant.cssSelector} { color: ${Fe}; }`);const we=V.getColor(p);we&&K.addRule(`${h.lA.symbolConstructor.cssSelector} { color: ${we}; }`);const ue=V.getColor(a);ue&&K.addRule(`
${h.lA.symbolValue.cssSelector},${h.lA.symbolEnum.cssSelector} { color: ${ue}; }`);const ce=V.getColor(g);ce&&K.addRule(`${h.lA.symbolEnumMember.cssSelector} { color: ${ce}; }`);const Ve=V.getColor(w);Ve&&K.addRule(`${h.lA.symbolEvent.cssSelector} { color: ${Ve}; }`);const We=V.getColor(s);We&&K.addRule(`${h.lA.symbolField.cssSelector} { color: ${We}; }`);const ae=V.getColor(C);ae&&K.addRule(`${h.lA.symbolFile.cssSelector} { color: ${ae}; }`);const fe=V.getColor(f);fe&&K.addRule(`${h.lA.symbolFolder.cssSelector} { color: ${fe}; }`);const ne=V.getColor(v);ne&&K.addRule(`${h.lA.symbolFunction.cssSelector} { color: ${ne}; }`);const W=V.getColor(r);W&&K.addRule(`${h.lA.symbolInterface.cssSelector} { color: ${W}; }`);const $=V.getColor(l);$&&K.addRule(`${h.lA.symbolKey.cssSelector} { color: ${$}; }`);const ee=V.getColor(m);ee&&K.addRule(`${h.lA.symbolKeyword.cssSelector} { color: ${ee}; }`);const he=V.getColor(b);he&&K.addRule(`${h.lA.symbolModule.cssSelector} { color: ${he}; }`);const Pe=V.getColor(L);Pe&&K.addRule(`${h.lA.symbolNamespace.cssSelector} { color: ${Pe}; }`);const Ye=V.getColor(T);Ye&&K.addRule(`${h.lA.symbolNull.cssSelector} { color: ${Ye}; }`);const it=V.getColor(M);it&&K.addRule(`${h.lA.symbolNumber.cssSelector} { color: ${it}; }`);const rt=V.getColor(z);rt&&K.addRule(`${h.lA.symbolObject.cssSelector} { color: ${rt}; }`);const vt=V.getColor(oe);vt&&K.addRule(`${h.lA.symbolOperator.cssSelector} { color: ${vt}; }`);const Ft=V.getColor(se);Ft&&K.addRule(`${h.lA.symbolPackage.cssSelector} { color: ${Ft}; }`);const Ht=V.getColor(re);Ht&&K.addRule(`${h.lA.symbolProperty.cssSelector} { color: ${Ht}; }`);const ze=V.getColor(De);ze&&K.addRule(`${h.lA.symbolReference.cssSelector} { color: ${ze}; }`);const Xe=V.getColor(J);Xe&&K.addRule(`${h.lA.symbolSnippet.cssSelector} { color: ${Xe}; }`);const Ze=V.getColor(Z);Ze&&K.addRule(`${h.lA.symbolString.cssSelector} { color: ${Ze}; }`);const Ae=V.getColor(Q);Ae&&K.addRule(`${h.lA.symbolStruct.cssSelector} { color: ${Ae}; }`);const He=V.getColor(le);He&&K.addRule(`${h.lA.symbolText.cssSelector} { color: ${He}; }`);const Et=V.getColor(xe);Et&&K.addRule(`${h.lA.symbolTypeParameter.cssSelector} { color: ${Et}; }`);const Wt=V.getColor(j);Wt&&K.addRule(`${h.lA.symbolUnit.cssSelector} { color: ${Wt}; }`);const oi=V.getColor(R);oi&&K.addRule(`${h.lA.symbolVariable.cssSelector} { color: ${oi}; }`)})},6410:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{ToggleTabFocusModeAction:function(){return D}});var h=i(58941),H=i(4514),O=i(9729),P=i(13268);class D extends H.R6{constructor(){super({id:D.ID,label:P.N({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),alias:"Toggle Tab Key Moves Focus",precondition:void 0,kbOpts:{kbExpr:null,primary:2091,mac:{primary:1323},weight:100}})}run(I,y){const p=!O.nG.getTabFocusMode();O.nG.setTabFocusMode(p),p?(0,h.Z9)(P.N("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):(0,h.Z9)(P.N("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}}D.ID="editor.action.toggleTabFocusMode",(0,H.Qr)(D)},29111:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{getOccurrencesAtPosition:function(){return z}});var h=i(58941),H=i(43506),O=i(50431),P=i(96283),D=i(79881),G=i(69323),I=i(4514),y=i(17373),E=i(68987),p=i(51682),a=i(31276),g=i(27347),w=i(13268),s=i(90689),C=i(44350),f=i(49055),v=function(R,V,K,ie){var te=arguments.length,ge=te<3?V:ie===null?ie=Object.getOwnPropertyDescriptor(V,K):ie,ye;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ge=Reflect.decorate(R,V,K,ie);else for(var ve=R.length-1;ve>=0;ve--)(ye=R[ve])&&(ge=(te<3?ye(ge):te>3?ye(V,K,ge):ye(V,K))||ge);return te>3&&ge&&Object.defineProperty(V,K,ge),ge},r=function(R,V){return function(K,ie){V(K,ie,R)}};const l=(0,C.P6)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hc:null},w.N("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0),m=(0,C.P6)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hc:null},w.N("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),c=(0,C.P6)("editor.wordHighlightBorder",{light:null,dark:null,hc:C.xL},w.N("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable.")),b=(0,C.P6)("editor.wordHighlightStrongBorder",{light:null,dark:null,hc:C.xL},w.N("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),L=(0,C.P6)("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},w.N("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),T=(0,C.P6)("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hc:"#C0A0C0CC"},w.N("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),M=new s.uy("hasWordHighlights",!1);function z(R,V,K){const ie=g.vH.ordered(R);return(0,O.Ps)(ie.map(te=>()=>Promise.resolve(te.provideDocumentHighlights(R,V,K)).then(void 0,D.Cp)),H.Of)}class oe{constructor(V,K,ie){this._wordRange=this._getCurrentWordRange(V,K),this.result=(0,O.PG)(te=>this._compute(V,K,ie,te))}_getCurrentWordRange(V,K){const ie=V.getWordAtPosition(K.getPosition());return ie?new y.e(K.startLineNumber,ie.startColumn,K.startLineNumber,ie.endColumn):null}isValid(V,K,ie){const te=K.startLineNumber,ge=K.startColumn,ye=K.endColumn,ve=this._getCurrentWordRange(V,K);let Fe=!!(this._wordRange&&this._wordRange.equalsRange(ve));for(let we=0,ue=ie.length;!Fe&&we<ue;we++){let ce=V.getDecorationRange(ie[we]);ce&&ce.startLineNumber===te&&ce.startColumn<=ge&&ce.endColumn>=ye&&(Fe=!0)}return Fe}cancel(){this.result.cancel()}}class se extends oe{_compute(V,K,ie,te){return z(V,K.getPosition(),te).then(ge=>ge||[])}}class re extends oe{constructor(V,K,ie){super(V,K,ie),this._selectionIsEmpty=K.isEmpty()}_compute(V,K,ie,te){return(0,O.Vs)(250,te).then(()=>{if(!K.isEmpty())return[];const ge=V.getWordAtPosition(K.getPosition());return!ge||ge.word.length>1e3?[]:V.findMatches(ge.word,!0,!1,!0,ie,!1).map(ve=>({range:ve.range,kind:g.MY.Text}))})}isValid(V,K,ie){const te=K.isEmpty();return this._selectionIsEmpty!==te?!1:super.isValid(V,K,ie)}}function De(R,V,K){return g.vH.has(R)?new se(R,V,K):new re(R,V,K)}(0,I.sb)("_executeDocumentHighlights",(R,V)=>z(R,V,P.T.None));class J{constructor(V,K){this.toUnhook=new G.SL,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=V,this._hasWordHighlights=M.bindTo(K),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(71),this.model=this.editor.getModel(),this.toUnhook.add(V.onDidChangeCursorPosition(ie=>{this._ignorePositionChangeEvent||this.occurrencesHighlight&&this._onPositionChanged(ie)})),this.toUnhook.add(V.onDidChangeModelContent(ie=>{this._stopAll()})),this.toUnhook.add(V.onDidChangeConfiguration(ie=>{let te=this.editor.getOption(71);this.occurrencesHighlight!==te&&(this.occurrencesHighlight=te,this._stopAll())})),this._decorationIds=[],this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}hasDecorations(){return this._decorationIds.length>0}restore(){this.occurrencesHighlight&&this._run()}_getSortedHighlights(){return H.kX(this._decorationIds.map(V=>this.model.getDecorationRange(V)).sort(y.e.compareRangesUsingStarts))}moveNext(){let V=this._getSortedHighlights(),ie=(V.findIndex(ge=>ge.containsPosition(this.editor.getPosition()))+1)%V.length,te=V[ie];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(te.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(te);const ge=this._getWord();if(ge){const ye=this.editor.getModel().getLineContent(te.startLineNumber);(0,h.Z9)(`${ye}, ${ie+1} of ${V.length} for '${ge.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){let V=this._getSortedHighlights(),ie=(V.findIndex(ge=>ge.containsPosition(this.editor.getPosition()))-1+V.length)%V.length,te=V[ie];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(te.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(te);const ge=this._getWord();if(ge){const ye=this.editor.getModel().getLineContent(te.startLineNumber);(0,h.Z9)(`${ye}, ${ie+1} of ${V.length} for '${ge.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeDecorations(){this._decorationIds.length>0&&(this._decorationIds=this.editor.deltaDecorations(this._decorationIds,[]),this._hasWordHighlights.set(!1))}_stopAll(){this._removeDecorations(),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(V){if(!this.occurrencesHighlight){this._stopAll();return}if(V.reason!==3){this._stopAll();return}this._run()}_getWord(){let V=this.editor.getSelection(),K=V.startLineNumber,ie=V.startColumn;return this.model.getWordAtPosition({lineNumber:K,column:ie})}_run(){let V=this.editor.getSelection();if(V.startLineNumber!==V.endLineNumber){this._stopAll();return}let K=V.startColumn,ie=V.endColumn;const te=this._getWord();if(!te||te.startColumn>K||te.endColumn<ie){this._stopAll();return}const ge=this.workerRequest&&this.workerRequest.isValid(this.model,V,this._decorationIds);if(this.lastCursorPositionChangeTime=new Date().getTime(),ge)this.workerRequestCompleted&&this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else{this._stopAll();let ye=++this.workerRequestTokenId;this.workerRequestCompleted=!1,this.workerRequest=De(this.model,this.editor.getSelection(),this.editor.getOption(115)),this.workerRequest.result.then(ve=>{ye===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=ve||[],this._beginRenderDecorations())},D.dL)}}_beginRenderDecorations(){let V=new Date().getTime(),K=this.lastCursorPositionChangeTime+250;V>=K?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},K-V)}renderDecorations(){this.renderDecorationsTimer=-1;let V=[];for(const K of this.workerRequestValue)K.range&&V.push({range:K.range,options:J._getDecorationOptions(K.kind)});this._decorationIds=this.editor.deltaDecorations(this._decorationIds,V),this._hasWordHighlights.set(this.hasDecorations())}static _getDecorationOptions(V){return V===g.MY.Write?this._WRITE_OPTIONS:V===g.MY.Text?this._TEXT_OPTIONS:this._REGULAR_OPTIONS}dispose(){this._stopAll(),this.toUnhook.dispose()}}J._WRITE_OPTIONS=a.qx.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:(0,f.EN)(T),position:p.sh.Center},minimap:{color:(0,f.EN)(C.IY),position:p.F5.Inline}}),J._TEXT_OPTIONS=a.qx.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight",overviewRuler:{color:(0,f.EN)(C.SP),position:p.sh.Center},minimap:{color:(0,f.EN)(C.IY),position:p.F5.Inline}}),J._REGULAR_OPTIONS=a.qx.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:(0,f.EN)(L),position:p.sh.Center},minimap:{color:(0,f.EN)(C.IY),position:p.F5.Inline}});let Z=class kl extends G.JT{constructor(V,K){super(),this.wordHighlighter=null;const ie=()=>{V.hasModel()&&(this.wordHighlighter=new J(V,K))};this._register(V.onDidChangeModel(te=>{this.wordHighlighter&&(this.wordHighlighter.dispose(),this.wordHighlighter=null),ie()})),ie()}static get(V){return V.getContribution(kl.ID)}saveViewState(){return!!(this.wordHighlighter&&this.wordHighlighter.hasDecorations())}moveNext(){this.wordHighlighter&&this.wordHighlighter.moveNext()}moveBack(){this.wordHighlighter&&this.wordHighlighter.moveBack()}restoreViewState(V){this.wordHighlighter&&V&&this.wordHighlighter.restore()}dispose(){this.wordHighlighter&&(this.wordHighlighter.dispose(),this.wordHighlighter=null),super.dispose()}};Z.ID="editor.contrib.wordHighlighter",Z=v([r(1,s.i6)],Z);class Q extends I.R6{constructor(V,K){super(K),this._isNext=V}run(V,K){const ie=Z.get(K);ie&&(this._isNext?ie.moveNext():ie.moveBack())}}class le extends Q{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:w.N("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:M,kbOpts:{kbExpr:E.u.editorTextFocus,primary:65,weight:100}})}}class xe extends Q{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:w.N("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:M,kbOpts:{kbExpr:E.u.editorTextFocus,primary:1089,weight:100}})}}class j extends I.R6{constructor(){super({id:"editor.action.wordHighlight.trigger",label:w.N("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:M.toNegated(),kbOpts:{kbExpr:E.u.editorTextFocus,primary:0,weight:100}})}run(V,K,ie){const te=Z.get(K);te&&te.restoreViewState(!0)}}(0,I._K)(Z.ID,Z),(0,I.Qr)(le),(0,I.Qr)(xe),(0,I.Qr)(j),(0,f.Ic)((R,V)=>{const K=R.getColor(C.Rz);K&&(V.addRule(`.monaco-editor .focused .selectionHighlight { background-color: ${K}; }`),V.addRule(`.monaco-editor .selectionHighlight { background-color: ${K.transparent(.5)}; }`));const ie=R.getColor(l);ie&&V.addRule(`.monaco-editor .wordHighlight { background-color: ${ie}; }`);const te=R.getColor(m);te&&V.addRule(`.monaco-editor .wordHighlightStrong { background-color: ${te}; }`);const ge=R.getColor(C.g_);ge&&V.addRule(`.monaco-editor .selectionHighlight { border: 1px ${R.type==="hc"?"dotted":"solid"} ${ge}; box-sizing: border-box; }`);const ye=R.getColor(c);ye&&V.addRule(`.monaco-editor .wordHighlight { border: 1px ${R.type==="hc"?"dashed":"solid"} ${ye}; box-sizing: border-box; }`);const ve=R.getColor(b);ve&&V.addRule(`.monaco-editor .wordHighlightStrong { border: 1px ${R.type==="hc"?"dashed":"solid"} ${ve}; box-sizing: border-box; }`)})},63618:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{CursorWordAccessibilityLeft:function(){return M},CursorWordAccessibilityLeftSelect:function(){return z},CursorWordAccessibilityRight:function(){return Q},CursorWordAccessibilityRightSelect:function(){return le},CursorWordEndLeft:function(){return m},CursorWordEndLeftSelect:function(){return L},CursorWordEndRight:function(){return se},CursorWordEndRightSelect:function(){return J},CursorWordLeft:function(){return c},CursorWordLeftSelect:function(){return T},CursorWordRight:function(){return re},CursorWordRightSelect:function(){return Z},CursorWordStartLeft:function(){return l},CursorWordStartLeftSelect:function(){return b},CursorWordStartRight:function(){return oe},CursorWordStartRightSelect:function(){return De},DeleteInsideWord:function(){return ve},DeleteWordCommand:function(){return xe},DeleteWordEndLeft:function(){return K},DeleteWordEndRight:function(){return ge},DeleteWordLeft:function(){return ie},DeleteWordLeftCommand:function(){return j},DeleteWordRight:function(){return ye},DeleteWordRightCommand:function(){return R},DeleteWordStartLeft:function(){return V},DeleteWordStartRight:function(){return te},MoveWordCommand:function(){return f},WordLeftCommand:function(){return v},WordRightCommand:function(){return r}});var h=i(4514),H=i(78529),O=i(97199),P=i(69025),D=i(99292),G=i(21981),I=i(72146),y=i(17373),E=i(17551),p=i(68987),a=i(73468),g=i(13268),w=i(52950),s=i(90689),C=i(75237);class f extends h._l{constructor(we){super(we),this._inSelectionMode=we.inSelectionMode,this._wordNavigationType=we.wordNavigationType}runEditorCommand(we,ue,ce){if(!ue.hasModel())return;const Ve=(0,G.u)(ue.getOption(115)),We=ue.getModel(),fe=ue.getSelections().map(ne=>{const W=new I.L(ne.positionLineNumber,ne.positionColumn),$=this._move(Ve,We,W,this._wordNavigationType);return this._moveTo(ne,$,this._inSelectionMode)});if(We.pushStackElement(),ue._getViewModel().setCursorStates("moveWordCommand",3,fe.map(ne=>P.Vi.fromModelSelection(ne))),fe.length===1){const ne=new I.L(fe[0].positionLineNumber,fe[0].positionColumn);ue.revealPosition(ne,0)}}_moveTo(we,ue,ce){return ce?new E.Y(we.selectionStartLineNumber,we.selectionStartColumn,ue.lineNumber,ue.column):new E.Y(ue.lineNumber,ue.column,ue.lineNumber,ue.column)}}class v extends f{_move(we,ue,ce,Ve){return D.w.moveWordLeft(we,ue,ce,Ve)}}class r extends f{_move(we,ue,ce,Ve){return D.w.moveWordRight(we,ue,ce,Ve)}}class l extends v{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class m extends v{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class c extends v{constructor(){var we;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:s.Ao.and(p.u.textInputFocus,(we=s.Ao.and(w.U,C.c))===null||we===void 0?void 0:we.negate()),primary:2063,mac:{primary:527},weight:100}})}}class b extends v{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class L extends v{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class T extends v{constructor(){var we;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:s.Ao.and(p.u.textInputFocus,(we=s.Ao.and(w.U,C.c))===null||we===void 0?void 0:we.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class M extends v{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(we,ue,ce,Ve){return super._move((0,G.u)(O.BH.wordSeparators.defaultValue),ue,ce,Ve)}}class z extends v{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(we,ue,ce,Ve){return super._move((0,G.u)(O.BH.wordSeparators.defaultValue),ue,ce,Ve)}}class oe extends r{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class se extends r{constructor(){var we;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:s.Ao.and(p.u.textInputFocus,(we=s.Ao.and(w.U,C.c))===null||we===void 0?void 0:we.negate()),primary:2065,mac:{primary:529},weight:100}})}}class re extends r{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class De extends r{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class J extends r{constructor(){var we;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:s.Ao.and(p.u.textInputFocus,(we=s.Ao.and(w.U,C.c))===null||we===void 0?void 0:we.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class Z extends r{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class Q extends r{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(we,ue,ce,Ve){return super._move((0,G.u)(O.BH.wordSeparators.defaultValue),ue,ce,Ve)}}class le extends r{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(we,ue,ce,Ve){return super._move((0,G.u)(O.BH.wordSeparators.defaultValue),ue,ce,Ve)}}class xe extends h._l{constructor(we){super(we),this._whitespaceHeuristics=we.whitespaceHeuristics,this._wordNavigationType=we.wordNavigationType}runEditorCommand(we,ue,ce){if(!ue.hasModel())return;const Ve=(0,G.u)(ue.getOption(115)),We=ue.getModel(),ae=ue.getSelections(),fe=ue.getOption(5),ne=ue.getOption(8),W=a.zu.getAutoClosingPairs(We.getLanguageId()),$=ue._getViewModel(),ee=ae.map(he=>{const Pe=this._delete({wordSeparators:Ve,model:We,selection:he,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:ue.getOption(6),autoClosingBrackets:fe,autoClosingQuotes:ne,autoClosingPairs:W,autoClosedCharacters:$.getCursorAutoClosedCharacters()},this._wordNavigationType);return new H.T4(Pe,"")});ue.pushUndoStop(),ue.executeCommands(this.id,ee),ue.pushUndoStop()}}class j extends xe{_delete(we,ue){let ce=D.w.deleteWordLeft(we,ue);return ce||new y.e(1,1,1,1)}}class R extends xe{_delete(we,ue){let ce=D.w.deleteWordRight(we,ue);if(ce)return ce;const Ve=we.model.getLineCount(),We=we.model.getLineMaxColumn(Ve);return new y.e(Ve,We,Ve,We)}}class V extends j{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:p.u.writable})}}class K extends j{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:p.u.writable})}}class ie extends j{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:p.u.writable,kbOpts:{kbExpr:p.u.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class te extends R{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:p.u.writable})}}class ge extends R{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:p.u.writable})}}class ye extends R{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:p.u.writable,kbOpts:{kbExpr:p.u.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class ve extends h.R6{constructor(){super({id:"deleteInsideWord",precondition:p.u.writable,label:g.N("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(we,ue,ce){if(!ue.hasModel())return;const Ve=(0,G.u)(ue.getOption(115)),We=ue.getModel(),fe=ue.getSelections().map(ne=>{const W=D.w.deleteInsideWord(Ve,We,ne);return new H.T4(W,"")});ue.pushUndoStop(),ue.executeCommands(this.id,fe),ue.pushUndoStop()}}(0,h.fK)(new l),(0,h.fK)(new m),(0,h.fK)(new c),(0,h.fK)(new b),(0,h.fK)(new L),(0,h.fK)(new T),(0,h.fK)(new oe),(0,h.fK)(new se),(0,h.fK)(new re),(0,h.fK)(new De),(0,h.fK)(new J),(0,h.fK)(new Z),(0,h.fK)(new M),(0,h.fK)(new z),(0,h.fK)(new Q),(0,h.fK)(new le),(0,h.fK)(new V),(0,h.fK)(new K),(0,h.fK)(new ie),(0,h.fK)(new te),(0,h.fK)(new ge),(0,h.fK)(new ye),(0,h.Qr)(ve)},74916:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{CursorWordPartLeft:function(){return p},CursorWordPartLeftSelect:function(){return a},CursorWordPartRight:function(){return w},CursorWordPartRightSelect:function(){return s},DeleteWordPartLeft:function(){return I},DeleteWordPartRight:function(){return y},WordPartLeftCommand:function(){return E},WordPartRightCommand:function(){return g}});var h=i(4514),H=i(99292),O=i(17373),P=i(68987),D=i(63618),G=i(35884);class I extends D.DeleteWordCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:P.u.writable,kbOpts:{kbExpr:P.u.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(f,v){let r=H.L.deleteWordPartLeft(f);return r||new O.e(1,1,1,1)}}class y extends D.DeleteWordCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:P.u.writable,kbOpts:{kbExpr:P.u.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(f,v){let r=H.L.deleteWordPartRight(f);if(r)return r;const l=f.model.getLineCount(),m=f.model.getLineMaxColumn(l);return new O.e(l,m,l,m)}}class E extends D.MoveWordCommand{_move(f,v,r,l){return H.L.moveWordPartLeft(f,v,r)}}class p extends E{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:P.u.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}G.P.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class a extends E{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:P.u.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}G.P.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class g extends D.MoveWordCommand{_move(f,v,r,l){return H.L.moveWordPartRight(f,v,r)}}class w extends g{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:P.u.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class s extends g{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:P.u.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}(0,h.fK)(new I),(0,h.fK)(new y),(0,h.fK)(new p),(0,h.fK)(new a),(0,h.fK)(new w),(0,h.fK)(new s)},15638:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{CancellationTokenSource:function(){return Hc},Emitter:function(){return Uc},KeyCode:function(){return zc},KeyMod:function(){return Kc},MarkerSeverity:function(){return Yc},MarkerTag:function(){return Qc},Position:function(){return jc},Range:function(){return $c},Selection:function(){return Gc},SelectionDirection:function(){return Zc},Token:function(){return Jc},Uri:function(){return Xc},editor:function(){return qc},languages:function(){return eu}});var h=i(97199),H=i(96283),O=i(4348),P=i(52411),D=i(4968),G=i(72146),I=i(17373),y=i(17551),E=i(56336),p;(function(S){S[S.Unknown=0]="Unknown",S[S.Disabled=1]="Disabled",S[S.Enabled=2]="Enabled"})(p||(p={}));var a;(function(S){S[S.KeepWhitespace=1]="KeepWhitespace",S[S.InsertAsSnippet=4]="InsertAsSnippet"})(a||(a={}));var g;(function(S){S[S.Method=0]="Method",S[S.Function=1]="Function",S[S.Constructor=2]="Constructor",S[S.Field=3]="Field",S[S.Variable=4]="Variable",S[S.Class=5]="Class",S[S.Struct=6]="Struct",S[S.Interface=7]="Interface",S[S.Module=8]="Module",S[S.Property=9]="Property",S[S.Event=10]="Event",S[S.Operator=11]="Operator",S[S.Unit=12]="Unit",S[S.Value=13]="Value",S[S.Constant=14]="Constant",S[S.Enum=15]="Enum",S[S.EnumMember=16]="EnumMember",S[S.Keyword=17]="Keyword",S[S.Text=18]="Text",S[S.Color=19]="Color",S[S.File=20]="File",S[S.Reference=21]="Reference",S[S.Customcolor=22]="Customcolor",S[S.Folder=23]="Folder",S[S.TypeParameter=24]="TypeParameter",S[S.User=25]="User",S[S.Issue=26]="Issue",S[S.Snippet=27]="Snippet"})(g||(g={}));var w;(function(S){S[S.Deprecated=1]="Deprecated"})(w||(w={}));var s;(function(S){S[S.Invoke=0]="Invoke",S[S.TriggerCharacter=1]="TriggerCharacter",S[S.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(s||(s={}));var C;(function(S){S[S.EXACT=0]="EXACT",S[S.ABOVE=1]="ABOVE",S[S.BELOW=2]="BELOW"})(C||(C={}));var f;(function(S){S[S.NotSet=0]="NotSet",S[S.ContentFlush=1]="ContentFlush",S[S.RecoverFromMarkers=2]="RecoverFromMarkers",S[S.Explicit=3]="Explicit",S[S.Paste=4]="Paste",S[S.Undo=5]="Undo",S[S.Redo=6]="Redo"})(f||(f={}));var v;(function(S){S[S.LF=1]="LF",S[S.CRLF=2]="CRLF"})(v||(v={}));var r;(function(S){S[S.Text=0]="Text",S[S.Read=1]="Read",S[S.Write=2]="Write"})(r||(r={}));var l;(function(S){S[S.None=0]="None",S[S.Keep=1]="Keep",S[S.Brackets=2]="Brackets",S[S.Advanced=3]="Advanced",S[S.Full=4]="Full"})(l||(l={}));var m;(function(S){S[S.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",S[S.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",S[S.accessibilitySupport=2]="accessibilitySupport",S[S.accessibilityPageSize=3]="accessibilityPageSize",S[S.ariaLabel=4]="ariaLabel",S[S.autoClosingBrackets=5]="autoClosingBrackets",S[S.autoClosingDelete=6]="autoClosingDelete",S[S.autoClosingOvertype=7]="autoClosingOvertype",S[S.autoClosingQuotes=8]="autoClosingQuotes",S[S.autoIndent=9]="autoIndent",S[S.automaticLayout=10]="automaticLayout",S[S.autoSurround=11]="autoSurround",S[S.bracketPairColorization=12]="bracketPairColorization",S[S.guides=13]="guides",S[S.codeLens=14]="codeLens",S[S.codeLensFontFamily=15]="codeLensFontFamily",S[S.codeLensFontSize=16]="codeLensFontSize",S[S.colorDecorators=17]="colorDecorators",S[S.columnSelection=18]="columnSelection",S[S.comments=19]="comments",S[S.contextmenu=20]="contextmenu",S[S.copyWithSyntaxHighlighting=21]="copyWithSyntaxHighlighting",S[S.cursorBlinking=22]="cursorBlinking",S[S.cursorSmoothCaretAnimation=23]="cursorSmoothCaretAnimation",S[S.cursorStyle=24]="cursorStyle",S[S.cursorSurroundingLines=25]="cursorSurroundingLines",S[S.cursorSurroundingLinesStyle=26]="cursorSurroundingLinesStyle",S[S.cursorWidth=27]="cursorWidth",S[S.disableLayerHinting=28]="disableLayerHinting",S[S.disableMonospaceOptimizations=29]="disableMonospaceOptimizations",S[S.domReadOnly=30]="domReadOnly",S[S.dragAndDrop=31]="dragAndDrop",S[S.emptySelectionClipboard=32]="emptySelectionClipboard",S[S.extraEditorClassName=33]="extraEditorClassName",S[S.fastScrollSensitivity=34]="fastScrollSensitivity",S[S.find=35]="find",S[S.fixedOverflowWidgets=36]="fixedOverflowWidgets",S[S.folding=37]="folding",S[S.foldingStrategy=38]="foldingStrategy",S[S.foldingHighlight=39]="foldingHighlight",S[S.foldingImportsByDefault=40]="foldingImportsByDefault",S[S.unfoldOnClickAfterEndOfLine=41]="unfoldOnClickAfterEndOfLine",S[S.fontFamily=42]="fontFamily",S[S.fontInfo=43]="fontInfo",S[S.fontLigatures=44]="fontLigatures",S[S.fontSize=45]="fontSize",S[S.fontWeight=46]="fontWeight",S[S.formatOnPaste=47]="formatOnPaste",S[S.formatOnType=48]="formatOnType",S[S.glyphMargin=49]="glyphMargin",S[S.gotoLocation=50]="gotoLocation",S[S.hideCursorInOverviewRuler=51]="hideCursorInOverviewRuler",S[S.hover=52]="hover",S[S.inDiffEditor=53]="inDiffEditor",S[S.inlineSuggest=54]="inlineSuggest",S[S.letterSpacing=55]="letterSpacing",S[S.lightbulb=56]="lightbulb",S[S.lineDecorationsWidth=57]="lineDecorationsWidth",S[S.lineHeight=58]="lineHeight",S[S.lineNumbers=59]="lineNumbers",S[S.lineNumbersMinChars=60]="lineNumbersMinChars",S[S.linkedEditing=61]="linkedEditing",S[S.links=62]="links",S[S.matchBrackets=63]="matchBrackets",S[S.minimap=64]="minimap",S[S.mouseStyle=65]="mouseStyle",S[S.mouseWheelScrollSensitivity=66]="mouseWheelScrollSensitivity",S[S.mouseWheelZoom=67]="mouseWheelZoom",S[S.multiCursorMergeOverlapping=68]="multiCursorMergeOverlapping",S[S.multiCursorModifier=69]="multiCursorModifier",S[S.multiCursorPaste=70]="multiCursorPaste",S[S.occurrencesHighlight=71]="occurrencesHighlight",S[S.overviewRulerBorder=72]="overviewRulerBorder",S[S.overviewRulerLanes=73]="overviewRulerLanes",S[S.padding=74]="padding",S[S.parameterHints=75]="parameterHints",S[S.peekWidgetDefaultFocus=76]="peekWidgetDefaultFocus",S[S.definitionLinkOpensInPeek=77]="definitionLinkOpensInPeek",S[S.quickSuggestions=78]="quickSuggestions",S[S.quickSuggestionsDelay=79]="quickSuggestionsDelay",S[S.readOnly=80]="readOnly",S[S.renameOnType=81]="renameOnType",S[S.renderControlCharacters=82]="renderControlCharacters",S[S.renderFinalNewline=83]="renderFinalNewline",S[S.renderLineHighlight=84]="renderLineHighlight",S[S.renderLineHighlightOnlyWhenFocus=85]="renderLineHighlightOnlyWhenFocus",S[S.renderValidationDecorations=86]="renderValidationDecorations",S[S.renderWhitespace=87]="renderWhitespace",S[S.revealHorizontalRightPadding=88]="revealHorizontalRightPadding",S[S.roundedSelection=89]="roundedSelection",S[S.rulers=90]="rulers",S[S.scrollbar=91]="scrollbar",S[S.scrollBeyondLastColumn=92]="scrollBeyondLastColumn",S[S.scrollBeyondLastLine=93]="scrollBeyondLastLine",S[S.scrollPredominantAxis=94]="scrollPredominantAxis",S[S.selectionClipboard=95]="selectionClipboard",S[S.selectionHighlight=96]="selectionHighlight",S[S.selectOnLineNumbers=97]="selectOnLineNumbers",S[S.showFoldingControls=98]="showFoldingControls",S[S.showUnused=99]="showUnused",S[S.snippetSuggestions=100]="snippetSuggestions",S[S.smartSelect=101]="smartSelect",S[S.smoothScrolling=102]="smoothScrolling",S[S.stickyTabStops=103]="stickyTabStops",S[S.stopRenderingLineAfter=104]="stopRenderingLineAfter",S[S.suggest=105]="suggest",S[S.suggestFontSize=106]="suggestFontSize",S[S.suggestLineHeight=107]="suggestLineHeight",S[S.suggestOnTriggerCharacters=108]="suggestOnTriggerCharacters",S[S.suggestSelection=109]="suggestSelection",S[S.tabCompletion=110]="tabCompletion",S[S.tabIndex=111]="tabIndex",S[S.unusualLineTerminators=112]="unusualLineTerminators",S[S.useShadowDOM=113]="useShadowDOM",S[S.useTabStops=114]="useTabStops",S[S.wordSeparators=115]="wordSeparators",S[S.wordWrap=116]="wordWrap",S[S.wordWrapBreakAfterCharacters=117]="wordWrapBreakAfterCharacters",S[S.wordWrapBreakBeforeCharacters=118]="wordWrapBreakBeforeCharacters",S[S.wordWrapColumn=119]="wordWrapColumn",S[S.wordWrapOverride1=120]="wordWrapOverride1",S[S.wordWrapOverride2=121]="wordWrapOverride2",S[S.wrappingIndent=122]="wrappingIndent",S[S.wrappingStrategy=123]="wrappingStrategy",S[S.showDeprecated=124]="showDeprecated",S[S.inlayHints=125]="inlayHints",S[S.editorClassName=126]="editorClassName",S[S.pixelRatio=127]="pixelRatio",S[S.tabFocusMode=128]="tabFocusMode",S[S.layoutInfo=129]="layoutInfo",S[S.wrappingInfo=130]="wrappingInfo"})(m||(m={}));var c;(function(S){S[S.TextDefined=0]="TextDefined",S[S.LF=1]="LF",S[S.CRLF=2]="CRLF"})(c||(c={}));var b;(function(S){S[S.LF=0]="LF",S[S.CRLF=1]="CRLF"})(b||(b={}));var L;(function(S){S[S.None=0]="None",S[S.Indent=1]="Indent",S[S.IndentOutdent=2]="IndentOutdent",S[S.Outdent=3]="Outdent"})(L||(L={}));var T;(function(S){S[S.Other=0]="Other",S[S.Type=1]="Type",S[S.Parameter=2]="Parameter"})(T||(T={}));var M;(function(S){S[S.Automatic=0]="Automatic",S[S.Explicit=1]="Explicit"})(M||(M={}));var z;(function(S){S[S.DependsOnKbLayout=-1]="DependsOnKbLayout",S[S.Unknown=0]="Unknown",S[S.Backspace=1]="Backspace",S[S.Tab=2]="Tab",S[S.Enter=3]="Enter",S[S.Shift=4]="Shift",S[S.Ctrl=5]="Ctrl",S[S.Alt=6]="Alt",S[S.PauseBreak=7]="PauseBreak",S[S.CapsLock=8]="CapsLock",S[S.Escape=9]="Escape",S[S.Space=10]="Space",S[S.PageUp=11]="PageUp",S[S.PageDown=12]="PageDown",S[S.End=13]="End",S[S.Home=14]="Home",S[S.LeftArrow=15]="LeftArrow",S[S.UpArrow=16]="UpArrow",S[S.RightArrow=17]="RightArrow",S[S.DownArrow=18]="DownArrow",S[S.Insert=19]="Insert",S[S.Delete=20]="Delete",S[S.Digit0=21]="Digit0",S[S.Digit1=22]="Digit1",S[S.Digit2=23]="Digit2",S[S.Digit3=24]="Digit3",S[S.Digit4=25]="Digit4",S[S.Digit5=26]="Digit5",S[S.Digit6=27]="Digit6",S[S.Digit7=28]="Digit7",S[S.Digit8=29]="Digit8",S[S.Digit9=30]="Digit9",S[S.KeyA=31]="KeyA",S[S.KeyB=32]="KeyB",S[S.KeyC=33]="KeyC",S[S.KeyD=34]="KeyD",S[S.KeyE=35]="KeyE",S[S.KeyF=36]="KeyF",S[S.KeyG=37]="KeyG",S[S.KeyH=38]="KeyH",S[S.KeyI=39]="KeyI",S[S.KeyJ=40]="KeyJ",S[S.KeyK=41]="KeyK",S[S.KeyL=42]="KeyL",S[S.KeyM=43]="KeyM",S[S.KeyN=44]="KeyN",S[S.KeyO=45]="KeyO",S[S.KeyP=46]="KeyP",S[S.KeyQ=47]="KeyQ",S[S.KeyR=48]="KeyR",S[S.KeyS=49]="KeyS",S[S.KeyT=50]="KeyT",S[S.KeyU=51]="KeyU",S[S.KeyV=52]="KeyV",S[S.KeyW=53]="KeyW",S[S.KeyX=54]="KeyX",S[S.KeyY=55]="KeyY",S[S.KeyZ=56]="KeyZ",S[S.Meta=57]="Meta",S[S.ContextMenu=58]="ContextMenu",S[S.F1=59]="F1",S[S.F2=60]="F2",S[S.F3=61]="F3",S[S.F4=62]="F4",S[S.F5=63]="F5",S[S.F6=64]="F6",S[S.F7=65]="F7",S[S.F8=66]="F8",S[S.F9=67]="F9",S[S.F10=68]="F10",S[S.F11=69]="F11",S[S.F12=70]="F12",S[S.F13=71]="F13",S[S.F14=72]="F14",S[S.F15=73]="F15",S[S.F16=74]="F16",S[S.F17=75]="F17",S[S.F18=76]="F18",S[S.F19=77]="F19",S[S.NumLock=78]="NumLock",S[S.ScrollLock=79]="ScrollLock",S[S.Semicolon=80]="Semicolon",S[S.Equal=81]="Equal",S[S.Comma=82]="Comma",S[S.Minus=83]="Minus",S[S.Period=84]="Period",S[S.Slash=85]="Slash",S[S.Backquote=86]="Backquote",S[S.BracketLeft=87]="BracketLeft",S[S.Backslash=88]="Backslash",S[S.BracketRight=89]="BracketRight",S[S.Quote=90]="Quote",S[S.OEM_8=91]="OEM_8",S[S.IntlBackslash=92]="IntlBackslash",S[S.Numpad0=93]="Numpad0",S[S.Numpad1=94]="Numpad1",S[S.Numpad2=95]="Numpad2",S[S.Numpad3=96]="Numpad3",S[S.Numpad4=97]="Numpad4",S[S.Numpad5=98]="Numpad5",S[S.Numpad6=99]="Numpad6",S[S.Numpad7=100]="Numpad7",S[S.Numpad8=101]="Numpad8",S[S.Numpad9=102]="Numpad9",S[S.NumpadMultiply=103]="NumpadMultiply",S[S.NumpadAdd=104]="NumpadAdd",S[S.NUMPAD_SEPARATOR=105]="NUMPAD_SEPARATOR",S[S.NumpadSubtract=106]="NumpadSubtract",S[S.NumpadDecimal=107]="NumpadDecimal",S[S.NumpadDivide=108]="NumpadDivide",S[S.KEY_IN_COMPOSITION=109]="KEY_IN_COMPOSITION",S[S.ABNT_C1=110]="ABNT_C1",S[S.ABNT_C2=111]="ABNT_C2",S[S.AudioVolumeMute=112]="AudioVolumeMute",S[S.AudioVolumeUp=113]="AudioVolumeUp",S[S.AudioVolumeDown=114]="AudioVolumeDown",S[S.BrowserSearch=115]="BrowserSearch",S[S.BrowserHome=116]="BrowserHome",S[S.BrowserBack=117]="BrowserBack",S[S.BrowserForward=118]="BrowserForward",S[S.MediaTrackNext=119]="MediaTrackNext",S[S.MediaTrackPrevious=120]="MediaTrackPrevious",S[S.MediaStop=121]="MediaStop",S[S.MediaPlayPause=122]="MediaPlayPause",S[S.LaunchMediaPlayer=123]="LaunchMediaPlayer",S[S.LaunchMail=124]="LaunchMail",S[S.LaunchApp2=125]="LaunchApp2",S[S.MAX_VALUE=126]="MAX_VALUE"})(z||(z={}));var oe;(function(S){S[S.Hint=1]="Hint",S[S.Info=2]="Info",S[S.Warning=4]="Warning",S[S.Error=8]="Error"})(oe||(oe={}));var se;(function(S){S[S.Unnecessary=1]="Unnecessary",S[S.Deprecated=2]="Deprecated"})(se||(se={}));var re;(function(S){S[S.Inline=1]="Inline",S[S.Gutter=2]="Gutter"})(re||(re={}));var De;(function(S){S[S.UNKNOWN=0]="UNKNOWN",S[S.TEXTAREA=1]="TEXTAREA",S[S.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",S[S.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",S[S.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",S[S.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",S[S.CONTENT_TEXT=6]="CONTENT_TEXT",S[S.CONTENT_EMPTY=7]="CONTENT_EMPTY",S[S.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",S[S.CONTENT_WIDGET=9]="CONTENT_WIDGET",S[S.OVERVIEW_RULER=10]="OVERVIEW_RULER",S[S.SCROLLBAR=11]="SCROLLBAR",S[S.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",S[S.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(De||(De={}));var J;(function(S){S[S.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",S[S.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",S[S.TOP_CENTER=2]="TOP_CENTER"})(J||(J={}));var Z;(function(S){S[S.Left=1]="Left",S[S.Center=2]="Center",S[S.Right=4]="Right",S[S.Full=7]="Full"})(Z||(Z={}));var Q;(function(S){S[S.Off=0]="Off",S[S.On=1]="On",S[S.Relative=2]="Relative",S[S.Interval=3]="Interval",S[S.Custom=4]="Custom"})(Q||(Q={}));var le;(function(S){S[S.None=0]="None",S[S.Text=1]="Text",S[S.Blocks=2]="Blocks"})(le||(le={}));var xe;(function(S){S[S.Smooth=0]="Smooth",S[S.Immediate=1]="Immediate"})(xe||(xe={}));var j;(function(S){S[S.Auto=1]="Auto",S[S.Hidden=2]="Hidden",S[S.Visible=3]="Visible"})(j||(j={}));var R;(function(S){S[S.LTR=0]="LTR",S[S.RTL=1]="RTL"})(R||(R={}));var V;(function(S){S[S.Invoke=1]="Invoke",S[S.TriggerCharacter=2]="TriggerCharacter",S[S.ContentChange=3]="ContentChange"})(V||(V={}));var K;(function(S){S[S.File=0]="File",S[S.Module=1]="Module",S[S.Namespace=2]="Namespace",S[S.Package=3]="Package",S[S.Class=4]="Class",S[S.Method=5]="Method",S[S.Property=6]="Property",S[S.Field=7]="Field",S[S.Constructor=8]="Constructor",S[S.Enum=9]="Enum",S[S.Interface=10]="Interface",S[S.Function=11]="Function",S[S.Variable=12]="Variable",S[S.Constant=13]="Constant",S[S.String=14]="String",S[S.Number=15]="Number",S[S.Boolean=16]="Boolean",S[S.Array=17]="Array",S[S.Object=18]="Object",S[S.Key=19]="Key",S[S.Null=20]="Null",S[S.EnumMember=21]="EnumMember",S[S.Struct=22]="Struct",S[S.Event=23]="Event",S[S.Operator=24]="Operator",S[S.TypeParameter=25]="TypeParameter"})(K||(K={}));var ie;(function(S){S[S.Deprecated=1]="Deprecated"})(ie||(ie={}));var te;(function(S){S[S.Hidden=0]="Hidden",S[S.Blink=1]="Blink",S[S.Smooth=2]="Smooth",S[S.Phase=3]="Phase",S[S.Expand=4]="Expand",S[S.Solid=5]="Solid"})(te||(te={}));var ge;(function(S){S[S.Line=1]="Line",S[S.Block=2]="Block",S[S.Underline=3]="Underline",S[S.LineThin=4]="LineThin",S[S.BlockOutline=5]="BlockOutline",S[S.UnderlineThin=6]="UnderlineThin"})(ge||(ge={}));var ye;(function(S){S[S.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",S[S.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",S[S.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",S[S.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(ye||(ye={}));var ve;(function(S){S[S.None=0]="None",S[S.Same=1]="Same",S[S.Indent=2]="Indent",S[S.DeepIndent=3]="DeepIndent"})(ve||(ve={}));class Fe{static chord(t,o){return(0,P.gx)(t,o)}}Fe.CtrlCmd=2048,Fe.Shift=1024,Fe.Alt=512,Fe.WinCtrl=256;function we(){return{editor:void 0,languages:void 0,CancellationTokenSource:H.A,Emitter:O.Q5,KeyCode:z,KeyMod:Fe,Position:G.L,Range:I.e,Selection:y.Y,SelectionDirection:R,MarkerSeverity:oe,MarkerTag:se,Uri:D.o,Token:E.WU}}var ue=i(70827),ce=i(69454),Ve=i(34502),We=i(78421),ae=i(96211),fe=i(66657),ne=i(9365),W=i(35884),$;(function(S){S[S.API=0]="API",S[S.USER=1]="USER"})($||($={}));var ee=i(271),he=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},Pe=function(S,t){return function(o,_){t(o,_,S)}},Ye=function(S,t,o,_){function B(q){return q instanceof o?q:new o(function(me){me(q)})}return new(o||(o=Promise))(function(q,me){function Ee(bt){try{ft(_.next(bt))}catch(Bt){me(Bt)}}function et(bt){try{ft(_.throw(bt))}catch(Bt){me(Bt)}}function ft(bt){bt.done?q(bt.value):B(bt.value).then(Ee,et)}ft((_=_.apply(S,t||[])).next())})};let it=class{constructor(t){this._commandService=t}open(t,o){return Ye(this,void 0,void 0,function*(){if(!(0,ee.xn)(t,fe.lg.command))return!1;if(!(o!=null&&o.allowCommands))return!0;typeof t=="string"&&(t=D.o.parse(t));let _=[];try{_=(0,ae.Q)(decodeURIComponent(t.query))}catch(B){try{_=(0,ae.Q)(t.query)}catch(q){}}return Array.isArray(_)||(_=[_]),yield this._commandService.executeCommand(t.path,..._),!0})}};it=he([Pe(0,W.H)],it);let rt=class{constructor(t){this._editorService=t}open(t,o){return Ye(this,void 0,void 0,function*(){typeof t=="string"&&(t=D.o.parse(t));let _;const B=/^L?(\d+)(?:,(\d+))?/.exec(t.fragment);return B&&(_={startLineNumber:parseInt(B[1]),startColumn:B[2]?parseInt(B[2]):1},t=t.with({fragment:""})),t.scheme===fe.lg.file&&(t=(0,ne.AH)(t)),yield this._editorService.openCodeEditor({resource:t,options:Object.assign({selection:_,context:o!=null&&o.fromUserGesture?$.USER:$.API},o==null?void 0:o.editorOptions)},this._editorService.getFocusedCodeEditor(),o==null?void 0:o.openToSide),!0})}};rt=he([Pe(0,ue.$)],rt);let vt=class{constructor(t,o){this._openers=new Ve.S,this._validators=new Ve.S,this._resolvers=new Ve.S,this._resolvedUriTargets=new We.Y9(_=>_.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new Ve.S,this._defaultExternalOpener={openExternal:_=>Ye(this,void 0,void 0,function*(){return(0,ee.xn)(_,fe.lg.http)||(0,ee.xn)(_,fe.lg.https)?ce.V3(_):window.location.href=_,!0})},this._openers.push({open:(_,B)=>Ye(this,void 0,void 0,function*(){return B!=null&&B.openExternal||(0,ee.xn)(_,fe.lg.mailto)||(0,ee.xn)(_,fe.lg.http)||(0,ee.xn)(_,fe.lg.https)?(yield this._doOpenExternal(_,B),!0):!1})}),this._openers.push(new it(o)),this._openers.push(new rt(t))}registerOpener(t){return{dispose:this._openers.unshift(t)}}registerValidator(t){return{dispose:this._validators.push(t)}}registerExternalUriResolver(t){return{dispose:this._resolvers.push(t)}}setDefaultExternalOpener(t){this._defaultExternalOpener=t}registerExternalOpener(t){return{dispose:this._externalOpeners.push(t)}}open(t,o){var _;return Ye(this,void 0,void 0,function*(){const B=typeof t=="string"?D.o.parse(t):t,q=(_=this._resolvedUriTargets.get(B))!==null&&_!==void 0?_:t;for(const me of this._validators)if(!(yield me.shouldOpen(q)))return!1;for(const me of this._openers)if(yield me.open(t,o))return!0;return!1})}resolveExternalUri(t,o){return Ye(this,void 0,void 0,function*(){for(const _ of this._resolvers)try{const B=yield _.resolveExternalUri(t,o);if(B)return this._resolvedUriTargets.has(B.resolved)||this._resolvedUriTargets.set(B.resolved,t),B}catch(B){}throw new Error("Could not resolve external URI: "+t.toString())})}_doOpenExternal(t,o){return Ye(this,void 0,void 0,function*(){const _=typeof t=="string"?D.o.parse(t):t;let B;try{B=(yield this.resolveExternalUri(_,o)).resolved}catch(me){B=_}let q;if(typeof t=="string"&&_.toString()===B.toString()?q=t:q=encodeURI(B.toString(!0)),o!=null&&o.allowContributedOpeners){const me=typeof(o==null?void 0:o.allowContributedOpeners)=="string"?o==null?void 0:o.allowContributedOpeners:void 0;for(const Ee of this._externalOpeners)if(yield Ee.openExternal(q,{sourceUri:_,preferredOpenerId:me},H.T.None))return!0}return this._defaultExternalOpener.openExternal(q,{sourceUri:_},H.T.None)})}dispose(){this._validators.clear()}};vt=he([Pe(0,ue.$),Pe(1,W.H)],vt);var Ft=i(46810),Ht=i(62635),ze=i(91676),Xe=i(51682),Ze=i(27347),Ae=i(31275),He=i(52645),Et=i(64992),Wt=i(16862),oi=i(50431),ni=i(69323),hi=i(79881),Di=i(23345),Ti=i(72999),Ni=i(82983);const ai="$initialize";let Pt=!1;function Gt(S){Di.$L&&(Pt||(Pt=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(S.message))}class st{constructor(t,o,_,B){this.vsWorker=t,this.req=o,this.method=_,this.args=B,this.type=0}}class gt{constructor(t,o,_,B){this.vsWorker=t,this.seq=o,this.res=_,this.err=B,this.type=1}}class ht{constructor(t,o,_,B){this.vsWorker=t,this.req=o,this.eventName=_,this.arg=B,this.type=2}}class Qe{constructor(t,o,_){this.vsWorker=t,this.req=o,this.event=_,this.type=3}}class $e{constructor(t,o){this.vsWorker=t,this.req=o,this.type=4}}class Ie{constructor(t){this._workerId=-1,this._handler=t,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(t){this._workerId=t}sendMessage(t,o){const _=String(++this._lastSentReq);return new Promise((B,q)=>{this._pendingReplies[_]={resolve:B,reject:q},this._send(new st(this._workerId,_,t,o))})}listen(t,o){let _=null;const B=new O.Q5({onFirstListenerAdd:()=>{_=String(++this._lastSentReq),this._pendingEmitters.set(_,B),this._send(new ht(this._workerId,_,t,o))},onLastListenerRemove:()=>{this._pendingEmitters.delete(_),this._send(new $e(this._workerId,_)),_=null}});return B.event}handleMessage(t){!t||!t.vsWorker||this._workerId!==-1&&t.vsWorker!==this._workerId||this._handleMessage(t)}_handleMessage(t){switch(t.type){case 1:return this._handleReplyMessage(t);case 0:return this._handleRequestMessage(t);case 2:return this._handleSubscribeEventMessage(t);case 3:return this._handleEventMessage(t);case 4:return this._handleUnsubscribeEventMessage(t)}}_handleReplyMessage(t){if(!this._pendingReplies[t.seq]){console.warn("Got reply to unknown seq");return}let o=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let _=t.err;t.err.$isError&&(_=new Error,_.name=t.err.name,_.message=t.err.message,_.stack=t.err.stack),o.reject(_);return}o.resolve(t.res)}_handleRequestMessage(t){let o=t.req;this._handler.handleMessage(t.method,t.args).then(B=>{this._send(new gt(this._workerId,o,B,void 0))},B=>{B.detail instanceof Error&&(B.detail=(0,hi.ri)(B.detail)),this._send(new gt(this._workerId,o,void 0,(0,hi.ri)(B)))})}_handleSubscribeEventMessage(t){const o=t.req,_=this._handler.handleEvent(t.eventName,t.arg)(B=>{this._send(new Qe(this._workerId,o,B))});this._pendingEvents.set(o,_)}_handleEventMessage(t){if(!this._pendingEmitters.has(t.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(t.req).fire(t.event)}_handleUnsubscribeEventMessage(t){if(!this._pendingEvents.has(t.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(t.req).dispose(),this._pendingEvents.delete(t.req)}_send(t){let o=[];if(t.type===0)for(let _=0;_<t.args.length;_++)t.args[_]instanceof ArrayBuffer&&o.push(t.args[_]);else t.type===1&&t.res instanceof ArrayBuffer&&o.push(t.res);this._handler.sendMessage(t,o)}}class Oe extends ni.JT{constructor(t,o,_){super();let B=null;this._worker=this._register(t.create("vs/base/common/worker/simpleWorker",ft=>{this._protocol.handleMessage(ft)},ft=>{B&&B(ft)})),this._protocol=new Ie({sendMessage:(ft,bt)=>{this._worker.postMessage(ft,bt)},handleMessage:(ft,bt)=>{if(typeof _[ft]!="function")return Promise.reject(new Error("Missing method "+ft+" on main thread host."));try{return Promise.resolve(_[ft].apply(_,bt))}catch(Bt){return Promise.reject(Bt)}},handleEvent:(ft,bt)=>{if(ct(ft)){const Bt=_[ft].call(_,bt);if(typeof Bt!="function")throw new Error(`Missing dynamic event ${ft} on main thread host.`);return Bt}if(Ke(ft)){const Bt=_[ft];if(typeof Bt!="function")throw new Error(`Missing event ${ft} on main thread host.`);return Bt}throw new Error(`Malformed event name ${ft}`)}}),this._protocol.setWorkerId(this._worker.getId());let q=null;typeof Di.li.require!="undefined"&&typeof Di.li.require.getConfig=="function"?q=Di.li.require.getConfig():typeof Di.li.requirejs!="undefined"&&(q=Di.li.requirejs.s.contexts._.config);const me=Ti.$E(_);this._onModuleLoaded=this._protocol.sendMessage(ai,[this._worker.getId(),JSON.parse(JSON.stringify(q)),o,me]);const Ee=(ft,bt)=>this._request(ft,bt),et=(ft,bt)=>this._protocol.listen(ft,bt);this._lazyProxy=new Promise((ft,bt)=>{B=bt,this._onModuleLoaded.then(Bt=>{ft(Nt(Bt,Ee,et))},Bt=>{bt(Bt),this._onError("Worker failed to load "+o,Bt)})})}getProxyObject(){return this._lazyProxy}_request(t,o){return new Promise((_,B)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(t,o).then(_,B)},B)})}_onError(t,o){console.error(t),console.info(o)}}function Ke(S){return S[0]==="o"&&S[1]==="n"&&Ni.df(S.charCodeAt(2))}function ct(S){return/^onDynamic/.test(S)&&Ni.df(S.charCodeAt(9))}function Nt(S,t,o){const _=me=>function(){const Ee=Array.prototype.slice.call(arguments,0);return t(me,Ee)},B=me=>function(Ee){return o(me,Ee)};let q={};for(const me of S){if(ct(me)){q[me]=B(me);continue}if(Ke(me)){q[me]=o(me,void 0);continue}q[me]=_(me)}return q}class $t{constructor(t,o){this._requestHandlerFactory=o,this._requestHandler=null,this._protocol=new Ie({sendMessage:(_,B)=>{t(_,B)},handleMessage:(_,B)=>this._handleMessage(_,B),handleEvent:(_,B)=>this._handleEvent(_,B)})}onmessage(t){this._protocol.handleMessage(t)}_handleMessage(t,o){if(t===ai)return this.initialize(o[0],o[1],o[2],o[3]);if(!this._requestHandler||typeof this._requestHandler[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._requestHandler[t].apply(this._requestHandler,o))}catch(_){return Promise.reject(_)}}_handleEvent(t,o){if(!this._requestHandler)throw new Error("Missing requestHandler");if(ct(t)){const _=this._requestHandler[t].call(this._requestHandler,o);if(typeof _!="function")throw new Error(`Missing dynamic event ${t} on request handler.`);return _}if(Ke(t)){const _=this._requestHandler[t];if(typeof _!="function")throw new Error(`Missing event ${t} on request handler.`);return _}throw new Error(`Malformed event name ${t}`)}initialize(t,o,_,B){this._protocol.setWorkerId(t);const Ee=Nt(B,(et,ft)=>this._protocol.sendMessage(et,ft),(et,ft)=>this._protocol.listen(et,ft));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(Ee),Promise.resolve(types.getAllMethodNames(this._requestHandler))):(o&&(typeof o.baseUrl!="undefined"&&delete o.baseUrl,typeof o.paths!="undefined"&&typeof o.paths.vs!="undefined"&&delete o.paths.vs,typeof o.trustedTypesPolicy!==void 0&&delete o.trustedTypesPolicy,o.catchError=!0,globals.require.config(o)),new Promise((et,ft)=>{const bt=globals.require;bt([_],Bt=>{if(this._requestHandler=Bt.create(Ee),!this._requestHandler){ft(new Error("No RequestHandler!"));return}et(types.getAllMethodNames(this._requestHandler))},ft)}))}}function Xt(S){return new $t(S,null)}var Ci;const Zt=(Ci=window.trustedTypes)===null||Ci===void 0?void 0:Ci.createPolicy("defaultWorkerFactory",{createScriptURL:S=>S});function mi(S,t){if(Di.li.MonacoEnvironment){if(typeof Di.li.MonacoEnvironment.getWorker=="function")return Di.li.MonacoEnvironment.getWorker(S,t);if(typeof Di.li.MonacoEnvironment.getWorkerUrl=="function"){const o=Di.li.MonacoEnvironment.getWorkerUrl(S,t);return new Worker(Zt?Zt.createScriptURL(o):o,{name:t})}}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function mt(S){return typeof S.then=="function"}class ut{constructor(t,o,_,B,q){this.id=o;const me=mi("workerMain.js",_);mt(me)?this.worker=me:this.worker=Promise.resolve(me),this.postMessage(t,[]),this.worker.then(Ee=>{Ee.onmessage=function(et){B(et.data)},Ee.onmessageerror=q,typeof Ee.addEventListener=="function"&&Ee.addEventListener("error",q)})}getId(){return this.id}postMessage(t,o){this.worker&&this.worker.then(_=>_.postMessage(t,o))}dispose(){this.worker&&this.worker.then(t=>t.terminate()),this.worker=null}}class qe{constructor(t){this._label=t,this._webWorkerFailedBeforeError=!1}create(t,o,_){let B=++qe.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new ut(t,B,this._label||"anonymous"+B,o,q=>{Gt(q),this._webWorkerFailedBeforeError=q,_(q)})}}qe.LAST_WORKER_ID=0;var de=i(73468),Se=i(23068);const Y=3;function _e(S,t,o,_){return new Se.Hs(S,t,o).ComputeDiff(_)}class ke{constructor(t){const o=[],_=[];for(let B=0,q=t.length;B<q;B++)o[B]=Mt(t[B],1),_[B]=Jt(t[B],1);this.lines=t,this._startColumns=o,this._endColumns=_}getElements(){const t=[];for(let o=0,_=this.lines.length;o<_;o++)t[o]=this.lines[o].substring(this._startColumns[o]-1,this._endColumns[o]-1);return t}getStrictElement(t){return this.lines[t]}getStartLineNumber(t){return t+1}getEndLineNumber(t){return t+1}createCharSequence(t,o,_){const B=[],q=[],me=[];let Ee=0;for(let et=o;et<=_;et++){const ft=this.lines[et],bt=t?this._startColumns[et]:1,Bt=t?this._endColumns[et]:ft.length+1;for(let _i=bt;_i<Bt;_i++)B[Ee]=ft.charCodeAt(_i-1),q[Ee]=et+1,me[Ee]=_i,Ee++}return new lt(B,q,me)}}class lt{constructor(t,o,_){this._charCodes=t,this._lineNumbers=o,this._columns=_}getElements(){return this._charCodes}getStartLineNumber(t){return this._lineNumbers[t]}getStartColumn(t){return this._columns[t]}getEndLineNumber(t){return this._lineNumbers[t]}getEndColumn(t){return this._columns[t]+1}}class nt{constructor(t,o,_,B,q,me,Ee,et){this.originalStartLineNumber=t,this.originalStartColumn=o,this.originalEndLineNumber=_,this.originalEndColumn=B,this.modifiedStartLineNumber=q,this.modifiedStartColumn=me,this.modifiedEndLineNumber=Ee,this.modifiedEndColumn=et}static createFromDiffChange(t,o,_){let B,q,me,Ee,et,ft,bt,Bt;return t.originalLength===0?(B=0,q=0,me=0,Ee=0):(B=o.getStartLineNumber(t.originalStart),q=o.getStartColumn(t.originalStart),me=o.getEndLineNumber(t.originalStart+t.originalLength-1),Ee=o.getEndColumn(t.originalStart+t.originalLength-1)),t.modifiedLength===0?(et=0,ft=0,bt=0,Bt=0):(et=_.getStartLineNumber(t.modifiedStart),ft=_.getStartColumn(t.modifiedStart),bt=_.getEndLineNumber(t.modifiedStart+t.modifiedLength-1),Bt=_.getEndColumn(t.modifiedStart+t.modifiedLength-1)),new nt(B,q,me,Ee,et,ft,bt,Bt)}}function pt(S){if(S.length<=1)return S;const t=[S[0]];let o=t[0];for(let _=1,B=S.length;_<B;_++){const q=S[_],me=q.originalStart-(o.originalStart+o.originalLength),Ee=q.modifiedStart-(o.modifiedStart+o.modifiedLength);Math.min(me,Ee)<Y?(o.originalLength=q.originalStart+q.originalLength-o.originalStart,o.modifiedLength=q.modifiedStart+q.modifiedLength-o.modifiedStart):(t.push(q),o=q)}return t}class Dt{constructor(t,o,_,B,q){this.originalStartLineNumber=t,this.originalEndLineNumber=o,this.modifiedStartLineNumber=_,this.modifiedEndLineNumber=B,this.charChanges=q}static createFromDiffResult(t,o,_,B,q,me,Ee){let et,ft,bt,Bt,_i;if(o.originalLength===0?(et=_.getStartLineNumber(o.originalStart)-1,ft=0):(et=_.getStartLineNumber(o.originalStart),ft=_.getEndLineNumber(o.originalStart+o.originalLength-1)),o.modifiedLength===0?(bt=B.getStartLineNumber(o.modifiedStart)-1,Bt=0):(bt=B.getStartLineNumber(o.modifiedStart),Bt=B.getEndLineNumber(o.modifiedStart+o.modifiedLength-1)),me&&o.originalLength>0&&o.originalLength<20&&o.modifiedLength>0&&o.modifiedLength<20&&q()){const Qi=_.createCharSequence(t,o.originalStart,o.originalStart+o.originalLength-1),$i=B.createCharSequence(t,o.modifiedStart,o.modifiedStart+o.modifiedLength-1);let cn=_e(Qi,$i,q,!0).changes;Ee&&(cn=pt(cn)),_i=[];for(let un=0,jn=cn.length;un<jn;un++)_i.push(nt.createFromDiffChange(cn[un],Qi,$i))}return new Dt(et,ft,bt,Bt,_i)}}class Vt{constructor(t,o,_){this.shouldComputeCharChanges=_.shouldComputeCharChanges,this.shouldPostProcessCharChanges=_.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=_.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=_.shouldMakePrettyDiff,this.originalLines=t,this.modifiedLines=o,this.original=new ke(t),this.modified=new ke(o),this.continueLineDiff=jt(_.maxComputationTime),this.continueCharDiff=jt(_.maxComputationTime===0?0:Math.min(_.maxComputationTime,5e3))}computeDiff(){if(this.original.lines.length===1&&this.original.lines[0].length===0)return this.modified.lines.length===1&&this.modified.lines[0].length===0?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};if(this.modified.lines.length===1&&this.modified.lines[0].length===0)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};const t=_e(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),o=t.changes,_=t.quitEarly;if(this.shouldIgnoreTrimWhitespace){const Ee=[];for(let et=0,ft=o.length;et<ft;et++)Ee.push(Dt.createFromDiffResult(this.shouldIgnoreTrimWhitespace,o[et],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:_,changes:Ee}}const B=[];let q=0,me=0;for(let Ee=-1,et=o.length;Ee<et;Ee++){const ft=Ee+1<et?o[Ee+1]:null,bt=ft?ft.originalStart:this.originalLines.length,Bt=ft?ft.modifiedStart:this.modifiedLines.length;for(;q<bt&&me<Bt;){const _i=this.originalLines[q],Qi=this.modifiedLines[me];if(_i!==Qi){{let $i=Mt(_i,1),cn=Mt(Qi,1);for(;$i>1&&cn>1;){const un=_i.charCodeAt($i-2),jn=Qi.charCodeAt(cn-2);if(un!==jn)break;$i--,cn--}($i>1||cn>1)&&this._pushTrimWhitespaceCharChange(B,q+1,1,$i,me+1,1,cn)}{let $i=Jt(_i,1),cn=Jt(Qi,1);const un=_i.length+1,jn=Qi.length+1;for(;$i<un&&cn<jn;){const In=_i.charCodeAt($i-1),fn=_i.charCodeAt(cn-1);if(In!==fn)break;$i++,cn++}($i<un||cn<jn)&&this._pushTrimWhitespaceCharChange(B,q+1,$i,un,me+1,cn,jn)}}q++,me++}ft&&(B.push(Dt.createFromDiffResult(this.shouldIgnoreTrimWhitespace,ft,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),q+=ft.originalLength,me+=ft.modifiedLength)}return{quitEarly:_,changes:B}}_pushTrimWhitespaceCharChange(t,o,_,B,q,me,Ee){if(this._mergeTrimWhitespaceCharChange(t,o,_,B,q,me,Ee))return;let et;this.shouldComputeCharChanges&&(et=[new nt(o,_,o,B,q,me,q,Ee)]),t.push(new Dt(o,o,q,q,et))}_mergeTrimWhitespaceCharChange(t,o,_,B,q,me,Ee){const et=t.length;if(et===0)return!1;const ft=t[et-1];return ft.originalEndLineNumber===0||ft.modifiedEndLineNumber===0?!1:ft.originalEndLineNumber+1===o&&ft.modifiedEndLineNumber+1===q?(ft.originalEndLineNumber=o,ft.modifiedEndLineNumber=q,this.shouldComputeCharChanges&&ft.charChanges&&ft.charChanges.push(new nt(o,_,o,B,q,me,q,Ee)),!0):!1}}function Mt(S,t){const o=Ni.LC(S);return o===-1?t:o+1}function Jt(S,t){const o=Ni.ow(S);return o===-1?t:o+2}function jt(S){if(S===0)return()=>!0;const t=Date.now();return()=>Date.now()-t<S}var ui=i(90539);class vi{constructor(t,o,_,B){this._uri=t,this._lines=o,this._eol=_,this._versionId=B,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(t){t.eol&&t.eol!==this._eol&&(this._eol=t.eol,this._lineStarts=null);const o=t.changes;for(const _ of o)this._acceptDeleteRange(_.range),this._acceptInsertText(new G.L(_.range.startLineNumber,_.range.startColumn),_.text);this._versionId=t.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const t=this._eol.length,o=this._lines.length,_=new Uint32Array(o);for(let B=0;B<o;B++)_[B]=this._lines[B].length+t;this._lineStarts=new ui.o(_)}}_setLineText(t,o){this._lines[t]=o,this._lineStarts&&this._lineStarts.changeValue(t,this._lines[t].length+this._eol.length)}_acceptDeleteRange(t){if(t.startLineNumber===t.endLineNumber){if(t.startColumn===t.endColumn)return;this._setLineText(t.startLineNumber-1,this._lines[t.startLineNumber-1].substring(0,t.startColumn-1)+this._lines[t.startLineNumber-1].substring(t.endColumn-1));return}this._setLineText(t.startLineNumber-1,this._lines[t.startLineNumber-1].substring(0,t.startColumn-1)+this._lines[t.endLineNumber-1].substring(t.endColumn-1)),this._lines.splice(t.startLineNumber,t.endLineNumber-t.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(t.startLineNumber,t.endLineNumber-t.startLineNumber)}_acceptInsertText(t,o){if(o.length===0)return;let _=(0,Ni.uq)(o);if(_.length===1){this._setLineText(t.lineNumber-1,this._lines[t.lineNumber-1].substring(0,t.column-1)+_[0]+this._lines[t.lineNumber-1].substring(t.column-1));return}_[_.length-1]+=this._lines[t.lineNumber-1].substring(t.column-1),this._setLineText(t.lineNumber-1,this._lines[t.lineNumber-1].substring(0,t.column-1)+_[0]);let B=new Uint32Array(_.length-1);for(let q=1;q<_.length;q++)this._lines.splice(t.lineNumber+q-1,0,_[q]),B[q-1]=_[q].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(t.lineNumber,B)}}var Si=i(87131),Oi=i(14788);class Ri{constructor(t,o,_){const B=new Uint8Array(t*o);for(let q=0,me=t*o;q<me;q++)B[q]=_;this._data=B,this.rows=t,this.cols=o}get(t,o){return this._data[t*this.cols+o]}set(t,o,_){this._data[t*this.cols+o]=_}}class zi{constructor(t){let o=0,_=0;for(let q=0,me=t.length;q<me;q++){let[Ee,et,ft]=t[q];et>o&&(o=et),Ee>_&&(_=Ee),ft>_&&(_=ft)}o++,_++;let B=new Ri(_,o,0);for(let q=0,me=t.length;q<me;q++){let[Ee,et,ft]=t[q];B.set(Ee,et,ft)}this._states=B,this._maxCharCode=o}nextState(t,o){return o<0||o>=this._maxCharCode?0:this._states.get(t,o)}}let hn=null;function bn(){return hn===null&&(hn=new zi([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),hn}let qi=null;function Rn(){if(qi===null){qi=new Oi.N(0);const S=` <>'"\u3001\u3002\uFF61\uFF64\uFF0C\uFF0E\uFF1A\uFF1B\u2018\u3008\u300C\u300E\u3014\uFF08\uFF3B\uFF5B\uFF62\uFF63\uFF5D\uFF3D\uFF09\u3015\u300F\u300D\u3009\u2019\uFF40\uFF5E\u2026`;for(let o=0;o<S.length;o++)qi.set(S.charCodeAt(o),1);const t=".,;";for(let o=0;o<t.length;o++)qi.set(t.charCodeAt(o),2)}return qi}class yn{static _createLink(t,o,_,B,q){let me=q-1;do{const Ee=o.charCodeAt(me);if(t.get(Ee)!==2)break;me--}while(me>B);if(B>0){const Ee=o.charCodeAt(B-1),et=o.charCodeAt(me);(Ee===40&&et===41||Ee===91&&et===93||Ee===123&&et===125)&&me--}return{range:{startLineNumber:_,startColumn:B+1,endLineNumber:_,endColumn:me+2},url:o.substring(B,me+1)}}static computeLinks(t,o=bn()){const _=Rn();let B=[];for(let q=1,me=t.getLineCount();q<=me;q++){const Ee=t.getLineContent(q),et=Ee.length;let ft=0,bt=0,Bt=0,_i=1,Qi=!1,$i=!1,cn=!1,un=!1;for(;ft<et;){let jn=!1;const In=Ee.charCodeAt(ft);if(_i===13){let fn;switch(In){case 40:Qi=!0,fn=0;break;case 41:fn=Qi?0:1;break;case 91:cn=!0,$i=!0,fn=0;break;case 93:cn=!1,fn=$i?0:1;break;case 123:un=!0,fn=0;break;case 125:fn=un?0:1;break;case 39:fn=Bt===34||Bt===96?0:1;break;case 34:fn=Bt===39||Bt===96?0:1;break;case 96:fn=Bt===39||Bt===34?0:1;break;case 42:fn=Bt===42?1:0;break;case 124:fn=Bt===124?1:0;break;case 32:fn=cn?0:1;break;default:fn=_.get(In)}fn===1&&(B.push(yn._createLink(_,Ee,q,bt,ft)),jn=!0)}else if(_i===12){let fn;In===91?($i=!0,fn=0):fn=_.get(In),fn===1?jn=!0:_i=13}else _i=o.nextState(_i,In),_i===0&&(jn=!0);jn&&(_i=1,Qi=!1,$i=!1,un=!1,bt=ft+1,Bt=In),ft++}_i===13&&B.push(yn._createLink(_,Ee,q,bt,et))}return B}}function nn(S){return!S||typeof S.getLineCount!="function"||typeof S.getLineContent!="function"?[]:yn.computeLinks(S)}class kn{constructor(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}navigateValueSet(t,o,_,B,q){if(t&&o){let me=this.doNavigateValueSet(o,q);if(me)return{range:t,value:me}}if(_&&B){let me=this.doNavigateValueSet(B,q);if(me)return{range:_,value:me}}return null}doNavigateValueSet(t,o){let _=this.numberReplace(t,o);return _!==null?_:this.textReplace(t,o)}numberReplace(t,o){let _=Math.pow(10,t.length-(t.lastIndexOf(".")+1)),B=Number(t),q=parseFloat(t);return!isNaN(B)&&!isNaN(q)&&B===q?B===0&&!o?null:(B=Math.floor(B*_),B+=o?_:-_,String(B/_)):null}textReplace(t,o){return this.valueSetsReplace(this._defaultValueSet,t,o)}valueSetsReplace(t,o,_){let B=null;for(let q=0,me=t.length;B===null&&q<me;q++)B=this.valueSetReplace(t[q],o,_);return B}valueSetReplace(t,o,_){let B=t.indexOf(o);return B>=0?(B+=_?1:-1,B<0?B=t.length-1:B%=t.length,t[B]):null}}kn.INSTANCE=new kn;var Dn=i(95830),En=function(S,t,o,_){function B(q){return q instanceof o?q:new o(function(me){me(q)})}return new(o||(o=Promise))(function(q,me){function Ee(bt){try{ft(_.next(bt))}catch(Bt){me(Bt)}}function et(bt){try{ft(_.throw(bt))}catch(Bt){me(Bt)}}function ft(bt){bt.done?q(bt.value):B(bt.value).then(Ee,et)}ft((_=_.apply(S,t||[])).next())})};class Jn extends vi{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(t){return this._lines[t-1]}getWordAtPosition(t,o){let _=(0,Si.t2)(t.column,(0,Si.eq)(o),this._lines[t.lineNumber-1],0);return _?new I.e(t.lineNumber,_.startColumn,t.lineNumber,_.endColumn):null}words(t){const o=this._lines,_=this._wordenize.bind(this);let B=0,q="",me=0,Ee=[];return{*[Symbol.iterator](){for(;;)if(me<Ee.length){const et=q.substring(Ee[me].start,Ee[me].end);me+=1,yield et}else if(B<o.length)q=o[B],Ee=_(q,t),me=0,B+=1;else break}}}getLineWords(t,o){let _=this._lines[t-1],B=this._wordenize(_,o),q=[];for(const me of B)q.push({word:_.substring(me.start,me.end),startColumn:me.start+1,endColumn:me.end+1});return q}_wordenize(t,o){const _=[];let B;for(o.lastIndex=0;(B=o.exec(t))&&B[0].length!==0;)_.push({start:B.index,end:B.index+B[0].length});return _}getValueInRange(t){if(t=this._validateRange(t),t.startLineNumber===t.endLineNumber)return this._lines[t.startLineNumber-1].substring(t.startColumn-1,t.endColumn-1);let o=this._eol,_=t.startLineNumber-1,B=t.endLineNumber-1,q=[];q.push(this._lines[_].substring(t.startColumn-1));for(let me=_+1;me<B;me++)q.push(this._lines[me]);return q.push(this._lines[B].substring(0,t.endColumn-1)),q.join(o)}offsetAt(t){return t=this._validatePosition(t),this._ensureLineStarts(),this._lineStarts.getPrefixSum(t.lineNumber-2)+(t.column-1)}positionAt(t){t=Math.floor(t),t=Math.max(0,t),this._ensureLineStarts();let o=this._lineStarts.getIndexOf(t),_=this._lines[o.index].length;return{lineNumber:1+o.index,column:1+Math.min(o.remainder,_)}}_validateRange(t){const o=this._validatePosition({lineNumber:t.startLineNumber,column:t.startColumn}),_=this._validatePosition({lineNumber:t.endLineNumber,column:t.endColumn});return o.lineNumber!==t.startLineNumber||o.column!==t.startColumn||_.lineNumber!==t.endLineNumber||_.column!==t.endColumn?{startLineNumber:o.lineNumber,startColumn:o.column,endLineNumber:_.lineNumber,endColumn:_.column}:t}_validatePosition(t){if(!G.L.isIPosition(t))throw new Error("bad position");let{lineNumber:o,column:_}=t,B=!1;if(o<1)o=1,_=1,B=!0;else if(o>this._lines.length)o=this._lines.length,_=this._lines[o-1].length+1,B=!0;else{let q=this._lines[o-1].length+1;_<1?(_=1,B=!0):_>q&&(_=q,B=!0)}return B?{lineNumber:o,column:_}:t}}class ln{constructor(t,o){this._host=t,this._models=Object.create(null),this._foreignModuleFactory=o,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(t){return this._models[t]}_getModels(){let t=[];return Object.keys(this._models).forEach(o=>t.push(this._models[o])),t}acceptNewModel(t){this._models[t.url]=new Jn(D.o.parse(t.url),t.lines,t.EOL,t.versionId)}acceptModelChanged(t,o){if(!this._models[t])return;this._models[t].onEvents(o)}acceptRemovedModel(t){this._models[t]&&delete this._models[t]}computeDiff(t,o,_,B){return En(this,void 0,void 0,function*(){const q=this._getModel(t),me=this._getModel(o);if(!q||!me)return null;const Ee=q.getLinesContent(),et=me.getLinesContent(),bt=new Vt(Ee,et,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:_,shouldMakePrettyDiff:!0,maxComputationTime:B}).computeDiff(),Bt=bt.changes.length>0?!1:this._modelsAreIdentical(q,me);return{quitEarly:bt.quitEarly,identical:Bt,changes:bt.changes}})}_modelsAreIdentical(t,o){const _=t.getLineCount(),B=o.getLineCount();if(_!==B)return!1;for(let q=1;q<=_;q++){const me=t.getLineContent(q),Ee=o.getLineContent(q);if(me!==Ee)return!1}return!0}computeMoreMinimalEdits(t,o){return En(this,void 0,void 0,function*(){const _=this._getModel(t);if(!_)return o;const B=[];let q;o=o.slice(0).sort((me,Ee)=>{if(me.range&&Ee.range)return I.e.compareRangesUsingStarts(me.range,Ee.range);let et=me.range?0:1,ft=Ee.range?0:1;return et-ft});for(let{range:me,text:Ee,eol:et}of o){if(typeof et=="number"&&(q=et),I.e.isEmpty(me)&&!Ee)continue;const ft=_.getValueInRange(me);if(Ee=Ee.replace(/\r\n|\n|\r/g,_.eol),ft===Ee)continue;if(Math.max(Ee.length,ft.length)>ln._diffLimit){B.push({range:me,text:Ee});continue}const bt=(0,Se.a$)(ft,Ee,!1),Bt=_.offsetAt(I.e.lift(me).getStartPosition());for(const _i of bt){const Qi=_.positionAt(Bt+_i.originalStart),$i=_.positionAt(Bt+_i.originalStart+_i.originalLength),cn={text:Ee.substr(_i.modifiedStart,_i.modifiedLength),range:{startLineNumber:Qi.lineNumber,startColumn:Qi.column,endLineNumber:$i.lineNumber,endColumn:$i.column}};_.getValueInRange(cn.range)!==cn.text&&B.push(cn)}}return typeof q=="number"&&B.push({eol:q,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),B})}computeLinks(t){return En(this,void 0,void 0,function*(){let o=this._getModel(t);return o?nn(o):null})}textualSuggest(t,o,_,B){return En(this,void 0,void 0,function*(){const q=new Dn.G(!0),me=new RegExp(_,B),Ee=new Set;e:for(let et of t){const ft=this._getModel(et);if(ft){for(let bt of ft.words(me))if(!(bt===o||!isNaN(Number(bt)))&&(Ee.add(bt),Ee.size>ln._suggestionsLimit))break e}}return{words:Array.from(Ee),duration:q.elapsed()}})}computeWordRanges(t,o,_,B){return En(this,void 0,void 0,function*(){let q=this._getModel(t);if(!q)return Object.create(null);const me=new RegExp(_,B),Ee=Object.create(null);for(let et=o.startLineNumber;et<o.endLineNumber;et++){let ft=q.getLineWords(et,me);for(const bt of ft){if(!isNaN(Number(bt.word)))continue;let Bt=Ee[bt.word];Bt||(Bt=[],Ee[bt.word]=Bt),Bt.push({startLineNumber:et,startColumn:bt.startColumn,endLineNumber:et,endColumn:bt.endColumn})}}return Ee})}navigateValueSet(t,o,_,B,q){return En(this,void 0,void 0,function*(){let me=this._getModel(t);if(!me)return null;let Ee=new RegExp(B,q);o.startColumn===o.endColumn&&(o={startLineNumber:o.startLineNumber,startColumn:o.startColumn,endLineNumber:o.endLineNumber,endColumn:o.endColumn+1});let et=me.getValueInRange(o),ft=me.getWordAtPosition({lineNumber:o.startLineNumber,column:o.startColumn},Ee);if(!ft)return null;let bt=me.getValueInRange(ft);return kn.INSTANCE.navigateValueSet(o,et,ft,bt,_)})}loadForeignModule(t,o,_){const B=(Ee,et)=>this._host.fhr(Ee,et);let me={host:Ti.IU(_,B),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(me,o),Promise.resolve(Ti.$E(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(t,o){if(!this._foreignModule||typeof this._foreignModule[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,o))}catch(_){return Promise.reject(_)}}}ln._diffLimit=1e5,ln._suggestionsLimit=1e4;function $n(S){return new ln(S,null)}typeof importScripts=="function"&&(Di.li.monaco=we());var Gn=i(12027),ss=i(62284),pn=i(43506),Yn=i(44182),Vn=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},An=function(S,t){return function(o,_){t(o,_,S)}},On=function(S,t,o,_){function B(q){return q instanceof o?q:new o(function(me){me(q)})}return new(o||(o=Promise))(function(q,me){function Ee(bt){try{ft(_.next(bt))}catch(Bt){me(Bt)}}function et(bt){try{ft(_.throw(bt))}catch(Bt){me(Bt)}}function ft(bt){bt.done?q(bt.value):B(bt.value).then(Ee,et)}ft((_=_.apply(S,t||[])).next())})};const ts=60*1e3,Un=5*60*1e3;function sn(S,t){let o=S.getModel(t);return!(!o||o.isTooLargeForSyncing())}let Lt=class extends ni.JT{constructor(t,o,_){super(),this._modelService=t,this._workerManager=this._register(new pe(this._modelService)),this._logService=_,this._register(Ze.pM.register({language:"*",hasAccessToAllModels:!0},{provideLinks:(B,q)=>sn(this._modelService,B.uri)?this._workerManager.withWorker().then(me=>me.computeLinks(B.uri)).then(me=>me&&{links:me}):Promise.resolve({links:[]})})),this._register(Ze.KZ.register("*",new F(this._workerManager,o,this._modelService)))}dispose(){super.dispose()}computeDiff(t,o,_,B){return this._workerManager.withWorker().then(q=>q.computeDiff(t,o,_,B))}computeMoreMinimalEdits(t,o){if((0,pn.Of)(o)){if(!sn(this._modelService,t))return Promise.resolve(o);const _=Dn.G.create(!0),B=this._workerManager.withWorker().then(q=>q.computeMoreMinimalEdits(t,o));return B.finally(()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",t.toString(!0),_.elapsed())),Promise.race([B,(0,oi.Vs)(1e3).then(()=>o)])}else return Promise.resolve(void 0)}canNavigateValueSet(t){return sn(this._modelService,t)}navigateValueSet(t,o,_){return this._workerManager.withWorker().then(B=>B.navigateValueSet(t,o,_))}canComputeWordRanges(t){return sn(this._modelService,t)}computeWordRanges(t,o){return this._workerManager.withWorker().then(_=>_.computeWordRanges(t,o))}};Lt=Vn([An(0,Gn.q),An(1,ss.V),An(2,Yn.VZ)],Lt);class F{constructor(t,o,_){this._debugDisplayName="wordbasedCompletions",this._workerManager=t,this._configurationService=o,this._modelService=_}provideCompletionItems(t,o){return On(this,void 0,void 0,function*(){const _=this._configurationService.getValue(t.uri,o,"editor");if(!_.wordBasedSuggestions)return;const B=[];if(_.wordBasedSuggestionsMode==="currentDocument")sn(this._modelService,t.uri)&&B.push(t.uri);else for(const Bt of this._modelService.getModels())sn(this._modelService,Bt.uri)&&(Bt===t?B.unshift(Bt.uri):(_.wordBasedSuggestionsMode==="allDocuments"||Bt.getLanguageId()===t.getLanguageId())&&B.push(Bt.uri));if(B.length===0)return;const q=de.zu.getWordDefinition(t.getLanguageId()),me=t.getWordAtPosition(o),Ee=me?new I.e(o.lineNumber,me.startColumn,o.lineNumber,me.endColumn):I.e.fromPositions(o),et=Ee.setEndPosition(o.lineNumber,o.column),bt=yield(yield this._workerManager.withWorker()).textualSuggest(B,me==null?void 0:me.word,q);if(bt)return{duration:bt.duration,suggestions:bt.words.map(Bt=>({kind:18,label:Bt,insertText:Bt,range:{insert:et,replace:Ee}}))}})}}class pe extends ni.JT{constructor(t){super(),this._modelService=t,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new oi.zh).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(Un/2)),this._register(this._modelService.onModelRemoved(_=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient)return;this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){if(!this._editorWorkerClient)return;new Date().getTime()-this._lastWorkerUsedTime>Un&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||(this._editorWorkerClient=new St(this._modelService,!1,"editorWorkerService")),Promise.resolve(this._editorWorkerClient)}}class Ne extends ni.JT{constructor(t,o,_){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=t,this._modelService=o,!_){let B=new oi.zh;B.cancelAndSet(()=>this._checkStopModelSync(),Math.round(ts/2)),this._register(B)}}dispose(){for(let t in this._syncedModels)(0,ni.B9)(this._syncedModels[t]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(t,o){for(const _ of t){let B=_.toString();this._syncedModels[B]||this._beginModelSync(_,o),this._syncedModels[B]&&(this._syncedModelsLastUsedTime[B]=new Date().getTime())}}_checkStopModelSync(){let t=new Date().getTime(),o=[];for(let _ in this._syncedModelsLastUsedTime)t-this._syncedModelsLastUsedTime[_]>ts&&o.push(_);for(const _ of o)this._stopModelSync(_)}_beginModelSync(t,o){let _=this._modelService.getModel(t);if(!_||!o&&_.isTooLargeForSyncing())return;let B=t.toString();this._proxy.acceptNewModel({url:_.uri.toString(),lines:_.getLinesContent(),EOL:_.getEOL(),versionId:_.getVersionId()});const q=new ni.SL;q.add(_.onDidChangeContent(me=>{this._proxy.acceptModelChanged(B.toString(),me)})),q.add(_.onWillDispose(()=>{this._stopModelSync(B)})),q.add((0,ni.OF)(()=>{this._proxy.acceptRemovedModel(B)})),this._syncedModels[B]=q}_stopModelSync(t){let o=this._syncedModels[t];delete this._syncedModels[t],delete this._syncedModelsLastUsedTime[t],(0,ni.B9)(o)}}class je{constructor(t){this._instance=t,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}}class Je{constructor(t){this._workerClient=t}fhr(t,o){return this._workerClient.fhr(t,o)}}class St extends ni.JT{constructor(t,o,_){super(),this._disposed=!1,this._modelService=t,this._keepIdleModels=o,this._workerFactory=new qe(_),this._worker=null,this._modelManager=null}fhr(t,o){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new Oe(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new Je(this)))}catch(t){Gt(t),this._worker=new je(new ln(new Je(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,t=>(Gt(t),this._worker=new je(new ln(new Je(this),null)),this._getOrCreateWorker().getProxyObject()))}_getOrCreateModelManager(t){return this._modelManager||(this._modelManager=this._register(new Ne(t,this._modelService,this._keepIdleModels))),this._modelManager}_withSyncedResources(t,o=!1){return On(this,void 0,void 0,function*(){return this._disposed?Promise.reject((0,hi.F0)()):this._getProxy().then(_=>(this._getOrCreateModelManager(_).ensureSyncedResources(t,o),_))})}computeDiff(t,o,_,B){return this._withSyncedResources([t,o],!0).then(q=>q.computeDiff(t.toString(),o.toString(),_,B))}computeMoreMinimalEdits(t,o){return this._withSyncedResources([t]).then(_=>_.computeMoreMinimalEdits(t.toString(),o))}computeLinks(t){return this._withSyncedResources([t]).then(o=>o.computeLinks(t.toString()))}textualSuggest(t,o,_){return On(this,void 0,void 0,function*(){const B=yield this._withSyncedResources(t),q=_.source,me=(0,Ni.mr)(_);return B.textualSuggest(t.map(Ee=>Ee.toString()),o,q,me)})}computeWordRanges(t,o){return this._withSyncedResources([t]).then(_=>{let B=this._modelService.getModel(t);if(!B)return Promise.resolve(null);let q=de.zu.getWordDefinition(B.getLanguageId()),me=q.source,Ee=(0,Ni.mr)(q);return _.computeWordRanges(t.toString(),o,me,Ee)})}navigateValueSet(t,o,_){return this._withSyncedResources([t]).then(B=>{let q=this._modelService.getModel(t);if(!q)return null;let me=de.zu.getWordDefinition(q.getLanguageId()),Ee=me.source,et=(0,Ni.mr)(me);return B.navigateValueSet(t.toString(),o,_,Ee,et)})}dispose(){super.dispose(),this._disposed=!0}}function Rt(S,t){return new ti(S,t)}class ti extends St{constructor(t,o){super(t,o.keepIdleModels||!1,o.label),this._foreignModuleId=o.moduleId,this._foreignModuleCreateData=o.createData||null,this._foreignModuleHost=o.host||null,this._foreignProxy=null}fhr(t,o){if(!this._foreignModuleHost||typeof this._foreignModuleHost[t]!="function")return Promise.reject(new Error("Missing method "+t+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[t].apply(this._foreignModuleHost,o))}catch(_){return Promise.reject(_)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then(t=>{const o=this._foreignModuleHost?Ti.$E(this._foreignModuleHost):[];return t.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,o).then(_=>{this._foreignModuleCreateData=null;const B=(Ee,et)=>t.fmr(Ee,et),q=(Ee,et)=>function(){const ft=Array.prototype.slice.call(arguments,0);return et(Ee,ft)};let me={};for(const Ee of _)me[Ee]=q(Ee,B);return me})})),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(t){return this._withSyncedResources(t).then(o=>this.getProxy())}}var fi=i(35521),ii=i(28750),Ct=i(8829);function k(S){return Array.isArray(S)}function Ce(S){return!k(S)}function Be(S){return typeof S=="string"}function ot(S){return!Be(S)}function wt(S){return!S}function Ut(S,t){return S.ignoreCase&&t?t.toLowerCase():t}function Yt(S){return S.replace(/[&<>'"_]/g,"-")}function ei(S,t){console.log(`${S.languageId}: ${t}`)}function ri(S,t){return new Error(`${S.languageId}: ${t}`)}function gi(S,t,o,_,B){const q=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;let me=null;return t.replace(q,function(Ee,et,ft,bt,Bt,_i,Qi,$i,cn){return wt(ft)?wt(bt)?!wt(Bt)&&Bt<_.length?Ut(S,_[Bt]):!wt(Qi)&&S&&typeof S[Qi]=="string"?S[Qi]:(me===null&&(me=B.split("."),me.unshift(B)),!wt(_i)&&_i<me.length?Ut(S,me[_i]):""):Ut(S,o):"$"})}function Mi(S,t){let o=t;for(;o&&o.length>0;){const _=S.tokenizer[o];if(_)return _;const B=o.lastIndexOf(".");B<0?o=null:o=o.substr(0,B)}return null}function Ei(S,t){let o=t;for(;o&&o.length>0;){if(S.stateNames[o])return!0;const B=o.lastIndexOf(".");B<0?o=null:o=o.substr(0,B)}return!1}const xi=5;class Pi{constructor(t){this._maxCacheDepth=t,this._entries=Object.create(null)}static create(t,o){return this._INSTANCE.create(t,o)}create(t,o){if(t!==null&&t.depth>=this._maxCacheDepth)return new ki(t,o);let _=ki.getStackElementId(t);_.length>0&&(_+="|"),_+=o;let B=this._entries[_];return B||(B=new ki(t,o),this._entries[_]=B,B)}}Pi._INSTANCE=new Pi(xi);class ki{constructor(t,o){this.parent=t,this.state=o,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(t){let o="";for(;t!==null;)o.length>0&&(o+="|"),o+=t.state,t=t.parent;return o}static _equals(t,o){for(;t!==null&&o!==null;){if(t===o)return!0;if(t.state!==o.state)return!1;t=t.parent,o=o.parent}return t===null&&o===null}equals(t){return ki._equals(this,t)}push(t){return Pi.create(this,t)}pop(){return this.parent}popall(){let t=this;for(;t.parent;)t=t.parent;return t}switchTo(t){return Pi.create(this.parent,t)}}class Bi{constructor(t,o){this.languageId=t,this.state=o}equals(t){return this.languageId===t.languageId&&this.state.equals(t.state)}clone(){return this.state.clone()===this.state?this:new Bi(this.languageId,this.state)}}class on{constructor(t){this._maxCacheDepth=t,this._entries=Object.create(null)}static create(t,o){return this._INSTANCE.create(t,o)}create(t,o){if(o!==null)return new zn(t,o);if(t!==null&&t.depth>=this._maxCacheDepth)return new zn(t,o);let _=ki.getStackElementId(t),B=this._entries[_];return B||(B=new zn(t,null),this._entries[_]=B,B)}}on._INSTANCE=new on(xi);class zn{constructor(t,o){this.stack=t,this.embeddedModeData=o}clone(){return(this.embeddedModeData?this.embeddedModeData.clone():null)===this.embeddedModeData?this:on.create(this.stack,this.embeddedModeData)}equals(t){return!(t instanceof zn)||!this.stack.equals(t.stack)?!1:this.embeddedModeData===null&&t.embeddedModeData===null?!0:this.embeddedModeData===null||t.embeddedModeData===null?!1:this.embeddedModeData.equals(t.embeddedModeData)}}class hs{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterMode(t,o){this._languageId=o}emit(t,o){this._lastTokenType===o&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=o,this._lastTokenLanguage=this._languageId,this._tokens.push(new E.WU(t,o,this._languageId)))}nestedModeTokenize(t,o,_,B){const q=_.languageId,me=_.state,Ee=Ze.RW.get(q);if(!Ee)return this.enterMode(B,q),this.emit(B,""),me;let et=Ee.tokenize(t,o,me,B);return this._tokens=this._tokens.concat(et.tokens),this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,et.endState}finalize(t){return new E.hG(this._tokens,t)}}class en{constructor(t,o){this._modeService=t,this._theme=o,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterMode(t,o){this._currentLanguageId=this._modeService.languageIdCodec.encodeLanguageId(o)}emit(t,o){let _=this._theme.match(this._currentLanguageId,o);this._lastTokenMetadata!==_&&(this._lastTokenMetadata=_,this._tokens.push(t),this._tokens.push(_))}static _merge(t,o,_){let B=t!==null?t.length:0,q=o.length,me=_!==null?_.length:0;if(B===0&&q===0&&me===0)return new Uint32Array(0);if(B===0&&q===0)return _;if(q===0&&me===0)return t;let Ee=new Uint32Array(B+q+me);t!==null&&Ee.set(t);for(let et=0;et<q;et++)Ee[B+et]=o[et];return _!==null&&Ee.set(_,B+q),Ee}nestedModeTokenize(t,o,_,B){const q=_.languageId,me=_.state,Ee=Ze.RW.get(q);if(!Ee)return this.enterMode(B,q),this.emit(B,""),me;let et=Ee.tokenize2(t,o,me,B);return this._prependTokens=en._merge(this._prependTokens,this._tokens,et.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,et.endState}finalize(t){return new E.Hi(en._merge(this._prependTokens,this._tokens,null),t)}}class mn{constructor(t,o,_,B){this._modeService=t,this._standaloneThemeService=o,this._languageId=_,this._lexer=B,this._embeddedModes=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let q=!1;this._tokenizationRegistryListener=Ze.RW.onDidChange(me=>{if(q)return;let Ee=!1;for(let et=0,ft=me.changedLanguages.length;et<ft;et++){let bt=me.changedLanguages[et];if(this._embeddedModes[bt]){Ee=!0;break}}Ee&&(q=!0,Ze.RW.fire([this._languageId]),q=!1)})}dispose(){this._tokenizationRegistryListener.dispose()}getLoadStatus(){let t=[];for(let o in this._embeddedModes){const _=Ze.RW.get(o);if(_){if(_ instanceof mn){const q=_.getLoadStatus();q.loaded===!1&&t.push(q.promise)}continue}const B=Ze.RW.getPromise(o);B&&t.push(B)}return t.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(t).then(o=>{})}}getInitialState(){let t=Pi.create(null,this._lexer.start);return on.create(t,null)}tokenize(t,o,_,B){let q=new hs,me=this._tokenize(t,o,_,B,q);return q.finalize(me)}tokenize2(t,o,_,B){let q=new en(this._modeService,this._standaloneThemeService.getColorTheme().tokenTheme),me=this._tokenize(t,o,_,B,q);return q.finalize(me)}_tokenize(t,o,_,B,q){return _.embeddedModeData?this._nestedTokenize(t,o,_,B,q):this._myTokenize(t,o,_,B,q)}_findLeavingNestedModeOffset(t,o){let _=this._lexer.tokenizer[o.stack.state];if(!_&&(_=Mi(this._lexer,o.stack.state),!_))throw ri(this._lexer,"tokenizer state is not defined: "+o.stack.state);let B=-1,q=!1;for(const me of _){if(!ot(me.action)||me.action.nextEmbedded!=="@pop")continue;q=!0;let Ee=me.regex,et=me.regex.source;if(et.substr(0,4)==="^(?:"&&et.substr(et.length-1,1)===")"){let bt=(Ee.ignoreCase?"i":"")+(Ee.unicode?"u":"");Ee=new RegExp(et.substr(4,et.length-5),bt)}let ft=t.search(Ee);ft===-1||ft!==0&&me.matchOnlyAtLineStart||(B===-1||ft<B)&&(B=ft)}if(!q)throw ri(this._lexer,'no rule containing nextEmbedded: "@pop" in tokenizer embedded state: '+o.stack.state);return B}_nestedTokenize(t,o,_,B,q){let me=this._findLeavingNestedModeOffset(t,_);if(me===-1){let ft=q.nestedModeTokenize(t,o,_.embeddedModeData,B);return on.create(_.stack,new Bi(_.embeddedModeData.languageId,ft))}let Ee=t.substring(0,me);Ee.length>0&&q.nestedModeTokenize(Ee,!1,_.embeddedModeData,B);let et=t.substring(me);return this._myTokenize(et,o,_,B+me,q)}_safeRuleName(t){return t?t.name:"(unknown)"}_myTokenize(t,o,_,B,q){q.enterMode(B,this._languageId);const me=t.length,Ee=o&&this._lexer.includeLF?t+`
`:t,et=Ee.length;let ft=_.embeddedModeData,bt=_.stack,Bt=0,_i=null,Qi=!0;for(;Qi||Bt<et;){const $i=Bt,cn=bt.depth,un=_i?_i.groups.length:0,jn=bt.state;let In=null,fn=null,Ln=null,Ns=null,go=null;if(_i){In=_i.matches;const Wn=_i.groups.shift();fn=Wn.matched,Ln=Wn.action,Ns=_i.rule,_i.groups.length===0&&(_i=null)}else{if(!Qi&&Bt>=et)break;Qi=!1;let Wn=this._lexer.tokenizer[jn];if(!Wn&&(Wn=Mi(this._lexer,jn),!Wn))throw ri(this._lexer,"tokenizer state is not defined: "+jn);let gn=Ee.substr(Bt);for(const gs of Wn)if((Bt===0||!gs.matchOnlyAtLineStart)&&(In=gn.match(gs.regex),In)){fn=In[0],Ln=gs.action;break}}if(In||(In=[""],fn=""),Ln||(Bt<et&&(In=[Ee.charAt(Bt)],fn=In[0]),Ln=this._lexer.defaultToken),fn===null)break;for(Bt+=fn.length;Ce(Ln)&&ot(Ln)&&Ln.test;)Ln=Ln.test(fn,In,jn,Bt===et);let es=null;if(typeof Ln=="string"||Array.isArray(Ln))es=Ln;else if(Ln.group)es=Ln.group;else if(Ln.token!==null&&Ln.token!==void 0){if(Ln.tokenSubst?es=gi(this._lexer,Ln.token,fn,In,jn):es=Ln.token,Ln.nextEmbedded)if(Ln.nextEmbedded==="@pop"){if(!ft)throw ri(this._lexer,"cannot pop embedded mode if not inside one");ft=null}else{if(ft)throw ri(this._lexer,"cannot enter embedded mode from within an embedded mode");go=gi(this._lexer,Ln.nextEmbedded,fn,In,jn)}if(Ln.goBack&&(Bt=Math.max(0,Bt-Ln.goBack)),Ln.switchTo&&typeof Ln.switchTo=="string"){let Wn=gi(this._lexer,Ln.switchTo,fn,In,jn);if(Wn[0]==="@"&&(Wn=Wn.substr(1)),Mi(this._lexer,Wn))bt=bt.switchTo(Wn);else throw ri(this._lexer,"trying to switch to a state '"+Wn+"' that is undefined in rule: "+this._safeRuleName(Ns))}else{if(Ln.transform&&typeof Ln.transform=="function")throw ri(this._lexer,"action.transform not supported");if(Ln.next)if(Ln.next==="@push"){if(bt.depth>=this._lexer.maxStack)throw ri(this._lexer,"maximum tokenizer stack size reached: ["+bt.state+","+bt.parent.state+",...]");bt=bt.push(jn)}else if(Ln.next==="@pop"){if(bt.depth<=1)throw ri(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(Ns));bt=bt.pop()}else if(Ln.next==="@popall")bt=bt.popall();else{let Wn=gi(this._lexer,Ln.next,fn,In,jn);if(Wn[0]==="@"&&(Wn=Wn.substr(1)),Mi(this._lexer,Wn))bt=bt.push(Wn);else throw ri(this._lexer,"trying to set a next state '"+Wn+"' that is undefined in rule: "+this._safeRuleName(Ns))}}Ln.log&&typeof Ln.log=="string"&&ei(this._lexer,this._lexer.languageId+": "+gi(this._lexer,Ln.log,fn,In,jn))}if(es===null)throw ri(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(Ns));const Xo=Wn=>{let gn=this._modeService.getModeIdForLanguageName(Wn);gn&&(Wn=gn);const gs=this._getNestedEmbeddedModeData(Wn);if(Bt<et){const Eo=t.substr(Bt);return this._nestedTokenize(Eo,o,on.create(bt,gs),B+Bt,q)}else return on.create(bt,gs)};if(Array.isArray(es)){if(_i&&_i.groups.length>0)throw ri(this._lexer,"groups cannot be nested: "+this._safeRuleName(Ns));if(In.length!==es.length+1)throw ri(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(Ns));let Wn=0;for(let gn=1;gn<In.length;gn++)Wn+=In[gn].length;if(Wn!==fn.length)throw ri(this._lexer,"with groups, all characters should be matched in consecutive groups in rule: "+this._safeRuleName(Ns));_i={rule:Ns,matches:In,groups:[]};for(let gn=0;gn<es.length;gn++)_i.groups[gn]={action:es[gn],matched:In[gn+1]};Bt-=fn.length;continue}else{if(es==="@rematch"&&(Bt-=fn.length,fn="",In=null,es="",go!==null))return Xo(go);if(fn.length===0){if(et===0||cn!==bt.depth||jn!==bt.state||(_i?_i.groups.length:0)!==un)continue;throw ri(this._lexer,"no progress in tokenizer in rule: "+this._safeRuleName(Ns))}let Wn=null;if(Be(es)&&es.indexOf("@brackets")===0){let gn=es.substr(9),gs=Pn(this._lexer,fn);if(!gs)throw ri(this._lexer,"@brackets token returned but no bracket defined as: "+fn);Wn=Yt(gs.token+gn)}else{let gn=es===""?"":es+this._lexer.tokenPostfix;Wn=Yt(gn)}$i<me&&q.emit($i+B,Wn)}if(go!==null)return Xo(go)}return on.create(bt,ft)}_getNestedEmbeddedModeData(t){let o=this._locateMode(t);if(o){let _=Ze.RW.get(o);if(_)return new Bi(o,_.getInitialState())}return new Bi(o||Ae.TG,Ae.nO)}_locateMode(t){if(!t||!this._modeService.isRegisteredMode(t))return null;if(t===this._languageId)return t;const o=this._modeService.getModeId(t);return o&&(this._modeService.triggerMode(o),this._embeddedModes[o]=!0),o}}function Pn(S,t){if(!t)return null;t=Ut(S,t);let o=S.brackets;for(const _ of o){if(_.open===t)return{token:_.token,bracketType:1};if(_.close===t)return{token:_.token,bracketType:-1}}return null}function Yi(S,t,o,_){return new mn(S,t,o,_)}var tn;const Bn=(tn=window.trustedTypes)===null||tn===void 0?void 0:tn.createPolicy("standaloneColorizer",{createHTML:S=>S});class vs{static colorizeElement(t,o,_,B){B=B||{};let q=B.theme||"vs",me=B.mimeType||_.getAttribute("lang")||_.getAttribute("data-lang");if(!me)return console.error("Mode not detected"),Promise.resolve();t.setTheme(q);let Ee=_.firstChild?_.firstChild.nodeValue:"";_.className+=" "+q;let et=ft=>{var bt;const Bt=(bt=Bn==null?void 0:Bn.createHTML(ft))!==null&&bt!==void 0?bt:ft;_.innerHTML=Bt};return this.colorize(o,Ee||"",me,B).then(et,ft=>console.error(ft))}static colorize(t,o,_,B){const q=t.languageIdCodec;let me=4;B&&typeof B.tabSize=="number"&&(me=B.tabSize),Ni.uS(o)&&(o=o.substr(1));let Ee=Ni.uq(o),et=t.getModeId(_);if(!et)return Promise.resolve(ds(Ee,me,q));t.triggerMode(et);const ft=Ze.RW.get(et);if(ft)return ws(Ee,me,ft,q);const bt=Ze.RW.getPromise(et);return bt?new Promise((Bt,_i)=>{bt.then(Qi=>{ws(Ee,me,Qi,q).then(Bt,_i)},_i)}):new Promise((Bt,_i)=>{let Qi=null,$i=null;const cn=()=>{Qi&&(Qi.dispose(),Qi=null),$i&&($i.dispose(),$i=null);const un=Ze.RW.get(et);if(un){ws(Ee,me,un,q).then(Bt,_i);return}Bt(ds(Ee,me,q))};$i=new oi._F,$i.cancelAndSet(cn,500),Qi=Ze.RW.onDidChange(un=>{un.changedLanguages.indexOf(et)>=0&&cn()})})}static colorizeLine(t,o,_,B,q=4){const me=Ct.wA.isBasicASCII(t,o),Ee=Ct.wA.containsRTL(t,me,_);return(0,ii.tF)(new ii.IJ(!1,!0,t,!1,me,Ee,0,B,[],q,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(t,o,_=4){let B=t.getLineContent(o);t.forceTokenization(o);let me=t.getLineTokens(o).inflate();return this.colorizeLine(B,t.mightContainNonBasicASCII(),t.mightContainRTL(),me,_)}}function ws(S,t,o,_){return new Promise((B,q)=>{const me=()=>{const Ee=ms(S,t,o,_);if(o instanceof mn){const et=o.getLoadStatus();if(et.loaded===!1){et.promise.then(me,q);return}}B(Ee)};me()})}function ds(S,t,o){let _=[];const q=new Uint32Array(2);q[0]=0,q[1]=16793600;for(let me=0,Ee=S.length;me<Ee;me++){let et=S[me];q[0]=et.length;const ft=new fi.A(q,et,o),bt=Ct.wA.isBasicASCII(et,!0),Bt=Ct.wA.containsRTL(et,bt,!0);let _i=(0,ii.tF)(new ii.IJ(!1,!0,et,!1,bt,Bt,0,ft,[],t,0,0,0,0,-1,"none",!1,!1,null));_=_.concat(_i.html),_.push("<br/>")}return _.join("")}function ms(S,t,o,_){let B=[],q=o.getInitialState();for(let me=0,Ee=S.length;me<Ee;me++){let et=S[me],ft=o.tokenize2(et,!0,q,0);fi.A.convertToEndOffset(ft.tokens,et.length);let bt=new fi.A(ft.tokens,et,_);const Bt=Ct.wA.isBasicASCII(et,!0),_i=Ct.wA.containsRTL(et,Bt,!0);let Qi=(0,ii.tF)(new ii.IJ(!1,!0,et,!1,Bt,_i,0,bt.inflate(),[],t,0,0,0,0,-1,"none",!1,!1,null));B=B.concat(Qi.html),B.push("<br/>"),q=ft.endState}return B.join("")}var cs=i(92813),us=i(86354),os=i(37254),to=i(62843),rn=i(97705),li=i(9729),Ai=i(44124),Hi=i(21194),vn=i(80470),is=i(20855);class Tn{constructor(t={},o=[],_=[]){this._contents=t,this._keys=o,this._overrides=_,this.isFrozen=!1,this.overrideConfigurations=new Map}get contents(){return this.checkAndFreeze(this._contents)}get overrides(){return this.checkAndFreeze(this._overrides)}get keys(){return this.checkAndFreeze(this._keys)}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(t){return t?(0,Hi.Mt)(this.contents,t):this.contents}override(t){let o=this.overrideConfigurations.get(t);return o||(o=this.createOverrideConfigurationModel(t),this.overrideConfigurations.set(t,o)),o}merge(...t){const o=vn.I8(this.contents),_=vn.I8(this.overrides),B=[...this.keys];for(const q of t){this.mergeContents(o,q.contents);for(const me of q.overrides){const[Ee]=_.filter(et=>pn.fS(et.identifiers,me.identifiers));Ee?this.mergeContents(Ee.contents,me.contents):_.push(vn.I8(me))}for(const me of q.keys)B.indexOf(me)===-1&&B.push(me)}return new Tn(o,B,_)}freeze(){return this.isFrozen=!0,this}createOverrideConfigurationModel(t){const o=this.getContentsForOverrideIdentifer(t);if(!o||typeof o!="object"||!Object.keys(o).length)return this;let _={};for(const B of pn.EB([...Object.keys(this.contents),...Object.keys(o)])){let q=this.contents[B],me=o[B];me&&(typeof q=="object"&&typeof me=="object"?(q=vn.I8(q),this.mergeContents(q,me)):q=me),_[B]=q}return new Tn(_,this.keys,this.overrides)}mergeContents(t,o){for(const _ of Object.keys(o)){if(_ in t&&Ti.Kn(t[_])&&Ti.Kn(o[_])){this.mergeContents(t[_],o[_]);continue}t[_]=vn.I8(o[_])}}checkAndFreeze(t){return this.isFrozen&&!Object.isFrozen(t)?vn._A(t):t}getContentsForOverrideIdentifer(t){for(const o of this.overrides)if(o.identifiers.indexOf(t)!==-1)return o.contents;return null}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(t,o){this.addKey(t),(0,Hi.KV)(this.contents,t,o,_=>{throw new Error(_)})}removeValue(t){this.removeKey(t)&&(0,Hi.xL)(this.contents,t)}addKey(t){let o=this.keys.length;for(let _=0;_<o;_++)t.indexOf(this.keys[_])===0&&(o=_);this.keys.splice(o,1,t)}removeKey(t){let o=this.keys.indexOf(t);return o!==-1?(this.keys.splice(o,1),!0):!1}}class at extends Tn{constructor(){const t=(0,Hi.O4)(),o=(0,Hi.MR)(),_=[];for(const B of Object.keys(t))is.G1.test(B)&&_.push({identifiers:[(0,is.Uh)(B).trim()],keys:Object.keys(t[B]),contents:(0,Hi.Od)(t[B],q=>console.error(`Conflict in default settings file: ${q}`))});super(t,o,_)}}class u{constructor(t,o,_=new Tn,B=new Tn,q=new We.Y9,me=new Tn,Ee=new We.Y9,et=!0){this._defaultConfiguration=t,this._localUserConfiguration=o,this._remoteUserConfiguration=_,this._workspaceConfiguration=B,this._folderConfigurations=q,this._memoryConfiguration=me,this._memoryConfigurationByResource=Ee,this._freeze=et,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new We.Y9,this._userConfiguration=null}getValue(t,o,_){return this.getConsolidateConfigurationModel(o,_).getValue(t)}updateValue(t,o,_={}){let B;_.resource?(B=this._memoryConfigurationByResource.get(_.resource),B||(B=new Tn,this._memoryConfigurationByResource.set(_.resource,B))):B=this._memoryConfiguration,o===void 0?B.removeValue(t):B.setValue(t,o),_.resource||(this._workspaceConsolidatedConfiguration=null)}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration),this._freeze&&this._userConfiguration.freeze()),this._userConfiguration}getConsolidateConfigurationModel(t,o){let _=this.getConsolidatedConfigurationModelForResource(t,o);return t.overrideIdentifier?_.override(t.overrideIdentifier):_}getConsolidatedConfigurationModelForResource({resource:t},o){let _=this.getWorkspaceConsolidatedConfiguration();if(o&&t){const B=o.getFolder(t);B&&(_=this.getFolderConsolidatedConfiguration(B.uri)||_);const q=this._memoryConfigurationByResource.get(t);q&&(_=_.merge(q))}return _}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration),this._freeze&&(this._workspaceConfiguration=this._workspaceConfiguration.freeze())),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(t){let o=this._foldersConsolidatedConfigurations.get(t);if(!o){const _=this.getWorkspaceConsolidatedConfiguration(),B=this._folderConfigurations.get(t);B?(o=_.merge(B),this._freeze&&(o=o.freeze()),this._foldersConsolidatedConfigurations.set(t,o)):o=_}return o}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((t,o)=>{const{contents:_,overrides:B,keys:q}=this._folderConfigurations.get(o);return t.push([o,{contents:_,overrides:B,keys:q}]),t},[])}}static parse(t){const o=this.parseConfigurationModel(t.defaults),_=this.parseConfigurationModel(t.user),B=this.parseConfigurationModel(t.workspace),q=t.folders.reduce((me,Ee)=>(me.set(D.o.revive(Ee[0]),this.parseConfigurationModel(Ee[1])),me),new We.Y9);return new u(o,_,new Tn,B,q,new Tn,new We.Y9,!1)}static parseConfigurationModel(t){return new Tn(t.contents,t.keys,t.overrides).freeze()}}class x{constructor(t,o,_,B){this.change=t,this.previous=o,this.currentConfiguraiton=_,this.currentWorkspace=B,this._previousConfiguration=void 0;const q=new Set;t.keys.forEach(Ee=>q.add(Ee)),t.overrides.forEach(([,Ee])=>Ee.forEach(et=>q.add(et))),this.affectedKeys=[...q.values()];const me=new Tn;this.affectedKeys.forEach(Ee=>me.setValue(Ee,{})),this.affectedKeysTree=me.contents}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=u.parse(this.previous.data)),this._previousConfiguration}affectsConfiguration(t,o){var _;if(this.doesAffectedKeysTreeContains(this.affectedKeysTree,t)){if(o){const B=this.previousConfiguration?this.previousConfiguration.getValue(t,o,(_=this.previous)===null||_===void 0?void 0:_.workspace):void 0,q=this.currentConfiguraiton.getValue(t,o,this.currentWorkspace);return!vn.fS(B,q)}return!0}return!1}doesAffectedKeysTreeContains(t,o){let _=(0,Hi.Od)({[o]:!0},()=>{}),B;for(;typeof _=="object"&&(B=Object.keys(_)[0]);){if(t=t[B],!t)return!1;_=_[B]}return!0}}var U=i(13268);const be=/^(cursor|delete)/;class Me extends ni.JT{constructor(t,o,_,B,q){super(),this._contextKeyService=t,this._commandService=o,this._telemetryService=_,this._notificationService=B,this._logService=q,this._onDidUpdateKeybindings=this._register(new O.Q5),this._currentChord=null,this._currentChordChecker=new oi.zh,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=Ue.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new oi._F,this._logging=!1}get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:O.ju.None}dispose(){super.dispose()}_log(t){this._logging&&this._logService.info(`[KeybindingService]: ${t}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(t,o){const _=this._getResolver().lookupPrimaryKeybinding(t,o||this._contextKeyService);if(_)return _.resolvedKeybinding}dispatchEvent(t,o){return this._dispatch(t,o)}softDispatch(t,o){const _=this.resolveKeyboardEvent(t);if(_.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),null;const[B]=_.getDispatchParts();if(B===null)return null;const q=this._contextKeyService.getContext(o),me=this._currentChord?this._currentChord.keypress:null;return this._getResolver().resolve(q,me,B)}_enterChordMode(t,o){this._currentChord={keypress:t,label:o},this._currentChordStatusMessage=this._notificationService.status(U.N("first.chord","({0}) was pressed. Waiting for second key of chord...",o));const _=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}Date.now()-_>5e3&&this._leaveChordMode()},500)}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChord=null}_dispatch(t,o){return this._doDispatch(this.resolveKeyboardEvent(t),o,!1)}_singleModifierDispatch(t,o){const _=this.resolveKeyboardEvent(t),[B]=_.getSingleModifierDispatchParts();if(B)return this._ignoreSingleModifiers.has(B)?(this._log(`+ Ignoring single modifier ${B} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=Ue.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=Ue.EMPTY,this._currentSingleModifier===null?(this._log(`+ Storing single modifier for possible chord ${B}.`),this._currentSingleModifier=B,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null},300),!1):B===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${B} ${B}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(_,o,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${B}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[q]=_.getParts();return this._ignoreSingleModifiers=new Ue(q),this._currentSingleModifier!==null&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(t,o,_=!1){let B=!1;if(t.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),!1;let q=null,me=null;if(_){const[bt]=t.getSingleModifierDispatchParts();q=bt,me=bt}else[q]=t.getDispatchParts(),me=this._currentChord?this._currentChord.keypress:null;if(q===null)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),B;const Ee=this._contextKeyService.getContext(o),et=t.getLabel(),ft=this._getResolver().resolve(Ee,me,q);return this._logService.trace("KeybindingService#dispatch",et,ft==null?void 0:ft.commandId),ft&&ft.enterChord?(B=!0,this._enterChordMode(q,et),B):(this._currentChord&&(!ft||!ft.commandId)&&(this._notificationService.status(U.N("missing.chord","The key combination ({0}, {1}) is not a command.",this._currentChord.label,et),{hideAfter:10*1e3}),B=!0),this._leaveChordMode(),ft&&ft.commandId&&(ft.bubble||(B=!0),typeof ft.commandArgs=="undefined"?this._commandService.executeCommand(ft.commandId).then(void 0,bt=>this._notificationService.warn(bt)):this._commandService.executeCommand(ft.commandId,ft.commandArgs).then(void 0,bt=>this._notificationService.warn(bt)),be.test(ft.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:ft.commandId,from:"keybinding"})),B)}mightProducePrintableCharacter(t){return t.ctrlKey||t.metaKey?!1:t.keyCode>=31&&t.keyCode<=56||t.keyCode>=21&&t.keyCode<=30}}class Ue{constructor(t){this._ctrlKey=t?t.ctrlKey:!1,this._shiftKey=t?t.shiftKey:!1,this._altKey=t?t.altKey:!1,this._metaKey=t?t.metaKey:!1}has(t){switch(t){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}}Ue.EMPTY=new Ue(null);var _t=i(90689);class yt{constructor(t,o,_){this._log=_,this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(let B=0,q=t.length;B<q;B++){const me=t[B].command;me&&this._defaultBoundCommands.set(me,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=yt.combine(t,o);for(let B=0,q=this._keybindings.length;B<q;B++){let me=this._keybindings[B];me.keypressParts.length!==0&&(me.when&&me.when.type===0||this._addKeyPress(me.keypressParts[0],me))}}static _isTargetedForRemoval(t,o,_,B,q){return!(t.command!==B||o&&t.keypressParts[0]!==o||_&&t.keypressParts[1]!==_||q&&(!t.when||!(0,_t.Fb)(q,t.when)))}static combine(t,o){t=t.slice(0);let _=[];for(const B of o){if(!B.command||B.command.length===0||B.command.charAt(0)!=="-"){_.push(B);continue}const q=B.command.substr(1),me=B.keypressParts[0],Ee=B.keypressParts[1],et=B.when;for(let ft=t.length-1;ft>=0;ft--)this._isTargetedForRemoval(t[ft],me,Ee,q,et)&&t.splice(ft,1)}return t.concat(_)}_addKeyPress(t,o){const _=this._map.get(t);if(typeof _=="undefined"){this._map.set(t,[o]),this._addToLookupMap(o);return}for(let B=_.length-1;B>=0;B--){let q=_[B];if(q.command===o.command)continue;const me=q.keypressParts.length>1,Ee=o.keypressParts.length>1;me&&Ee&&q.keypressParts[1]!==o.keypressParts[1]||yt.whenIsEntirelyIncluded(q.when,o.when)&&this._removeFromLookupMap(q)}_.push(o),this._addToLookupMap(o)}_addToLookupMap(t){if(!t.command)return;let o=this._lookupMap.get(t.command);typeof o=="undefined"?(o=[t],this._lookupMap.set(t.command,o)):o.push(t)}_removeFromLookupMap(t){if(!t.command)return;let o=this._lookupMap.get(t.command);if(typeof o!="undefined"){for(let _=0,B=o.length;_<B;_++)if(o[_]===t){o.splice(_,1);return}}}static whenIsEntirelyIncluded(t,o){return!o||o.type===1?!0:!t||t.type===1?!1:(0,_t.K8)(t,o)}getKeybindings(){return this._keybindings}lookupPrimaryKeybinding(t,o){const _=this._lookupMap.get(t);if(typeof _=="undefined"||_.length===0)return null;if(_.length===1)return _[0];for(let B=_.length-1;B>=0;B--){const q=_[B];if(o.contextMatchesRules(q.when))return q}return _[_.length-1]}resolve(t,o,_){this._log(`| Resolving ${_}${o?` chorded from ${o}`:""}`);let B=null;if(o!==null){const me=this._map.get(o);if(typeof me=="undefined")return this._log("\\ No keybinding entries."),null;B=[];for(let Ee=0,et=me.length;Ee<et;Ee++){let ft=me[Ee];ft.keypressParts[1]===_&&B.push(ft)}}else{const me=this._map.get(_);if(typeof me=="undefined")return this._log("\\ No keybinding entries."),null;B=me}let q=this._findCommand(t,B);return q?o===null&&q.keypressParts.length>1&&q.keypressParts[1]!==null?(this._log(`\\ From ${B.length} keybinding entries, matched chord, when: ${kt(q.when)}, source: ${At(q)}.`),{enterChord:!0,leaveChord:!1,commandId:null,commandArgs:null,bubble:!1}):(this._log(`\\ From ${B.length} keybinding entries, matched ${q.command}, when: ${kt(q.when)}, source: ${At(q)}.`),{enterChord:!1,leaveChord:q.keypressParts.length>1,commandId:q.command,commandArgs:q.commandArgs,bubble:q.bubble}):(this._log(`\\ From ${B.length} keybinding entries, no when clauses matched the context.`),null)}_findCommand(t,o){for(let _=o.length-1;_>=0;_--){let B=o[_];if(yt.contextMatchesRules(t,B.when))return B}return null}static contextMatchesRules(t,o){return o?o.evaluate(t):!0}}function kt(S){return S?`${S.serialize()}`:"no when condition"}function At(S){return S.extensionId?S.isBuiltinExtension?`built-in extension ${S.extensionId}`:`user extension ${S.extensionId}`:S.isDefault?"built-in":"user"}var zt=i(86414);class Qt{constructor(t,o,_,B,q,me,Ee){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=t,this.keypressParts=t?si(t.getDispatchParts()):[],t&&this.keypressParts.length===0&&(this.keypressParts=si(t.getSingleModifierDispatchParts())),this.bubble=o?o.charCodeAt(0)===94:!1,this.command=this.bubble?o.substr(1):o,this.commandArgs=_,this.when=B,this.isDefault=q,this.extensionId=me,this.isBuiltinExtension=Ee}}function si(S){let t=[];for(let o=0,_=S.length;o<_;o++){const B=S[o];if(!B)return t;t.push(B)}return t}var ci=i(66872);class wi extends us.f1{constructor(t,o){if(super(),o.length===0)throw(0,hi.b1)("parts");this._os=t,this._parts=o}getLabel(){return ci.xo.toLabel(this._os,this._parts,t=>this._getLabel(t))}getAriaLabel(){return ci.X4.toLabel(this._os,this._parts,t=>this._getAriaLabel(t))}getElectronAccelerator(){return this._parts.length>1||this._parts[0].isDuplicateModifierCase()?null:ci.jC.toLabel(this._os,this._parts,t=>this._getElectronAccelerator(t))}isChord(){return this._parts.length>1}getParts(){return this._parts.map(t=>this._getPart(t))}_getPart(t){return new us.BQ(t.ctrlKey,t.shiftKey,t.altKey,t.metaKey,this._getLabel(t),this._getAriaLabel(t))}getDispatchParts(){return this._parts.map(t=>this._getDispatchPart(t))}getSingleModifierDispatchParts(){return this._parts.map(t=>this._getSingleModifierDispatchPart(t))}}class yi extends wi{constructor(t,o){super(o,t.parts)}_keyCodeToUILabel(t){if(this._os===2)switch(t){case 15:return"\u2190";case 16:return"\u2191";case 17:return"\u2192";case 18:return"\u2193"}return P.kL.toString(t)}_getLabel(t){return t.isDuplicateModifierCase()?"":this._keyCodeToUILabel(t.keyCode)}_getAriaLabel(t){return t.isDuplicateModifierCase()?"":P.kL.toString(t.keyCode)}_getElectronAccelerator(t){return P.kL.toElectronAccelerator(t.keyCode)}_getDispatchPart(t){return yi.getDispatchStr(t)}static getDispatchStr(t){if(t.isModifierKey())return null;let o="";return t.ctrlKey&&(o+="ctrl+"),t.shiftKey&&(o+="shift+"),t.altKey&&(o+="alt+"),t.metaKey&&(o+="meta+"),o+=P.kL.toString(t.keyCode),o}_getSingleModifierDispatchPart(t){return t.keyCode===5&&!t.shiftKey&&!t.altKey&&!t.metaKey?"ctrl":t.keyCode===4&&!t.ctrlKey&&!t.altKey&&!t.metaKey?"shift":t.keyCode===6&&!t.ctrlKey&&!t.shiftKey&&!t.metaKey?"alt":t.keyCode===57&&!t.ctrlKey&&!t.shiftKey&&!t.altKey?"meta":null}static _scanCodeToKeyCode(t){const o=P.Vd[t];if(o!==-1)return o;switch(t){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 83;case 52:return 81;case 53:return 87;case 54:return 89;case 55:return 88;case 56:return 0;case 57:return 80;case 58:return 90;case 59:return 86;case 60:return 82;case 61:return 84;case 62:return 85;case 106:return 92}return 0}static _resolveSimpleUserBinding(t){if(!t)return null;if(t instanceof us.QC)return t;const o=this._scanCodeToKeyCode(t.scanCode);return o===0?null:new us.QC(t.ctrlKey,t.shiftKey,t.altKey,t.metaKey,o)}static resolveUserBinding(t,o){const _=si(t.map(B=>this._resolveSimpleUserBinding(B)));return _.length>0?[new yi(new us.X_(_),o)]:[]}}var Ii=i(79504),Ui=i(52648),Ji=i(5530),Vi=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},an=function(S,t){return function(o,_){t(o,_,S)}},Nn=function(S,t,o,_){function B(q){return q instanceof o?q:new o(function(me){me(q)})}return new(o||(o=Promise))(function(q,me){function Ee(bt){try{ft(_.next(bt))}catch(Bt){me(Bt)}}function et(bt){try{ft(_.throw(bt))}catch(Bt){me(Bt)}}function ft(bt){bt.done?q(bt.value):B(bt.value).then(Ee,et)}ft((_=_.apply(S,t||[])).next())})};class Cn{constructor(t){this.disposed=!1,this.model=t,this._onWillDispose=new O.Q5}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}function Sn(S,t,o){return(0,to.CL)(S)?t(S):o(S)}let xn=class{constructor(t){this.modelService=t}setEditor(t){this.editor=t}createModelReference(t){let o=null;return this.editor&&(o=Sn(this.editor,_=>this.findModel(_,t),_=>this.findModel(_.getOriginalEditor(),t)||this.findModel(_.getModifiedEditor(),t))),o?Promise.resolve(new ni.Jz(new Cn(o))):Promise.reject(new Error("Model not found"))}findModel(t,o){let _=this.modelService.getModel(o);return _&&_.uri.toString()!==o.toString()?null:_}};xn=Vi([an(0,Gn.q)],xn);class as{show(){return as.NULL_PROGRESS_RUNNER}showWhile(t,o){return Nn(this,void 0,void 0,function*(){yield t})}}as.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};class bs{confirm(t){return this.doConfirm(t).then(o=>({confirmed:o,checkboxChecked:!1}))}doConfirm(t){let o=t.message;return t.detail&&(o=o+`
`+t.detail),Promise.resolve(window.confirm(o))}show(t,o,_,B){return Promise.resolve({choice:0})}}class fs{info(t){return this.notify({severity:os.Z.Info,message:t})}warn(t){return this.notify({severity:os.Z.Warning,message:t})}error(t){return this.notify({severity:os.Z.Error,message:t})}notify(t){switch(t.severity){case os.Z.Error:console.error(t.message);break;case os.Z.Warning:console.warn(t.message);break;default:console.log(t.message);break}return fs.NO_OP}status(t,o){return ni.JT.None}}fs.NO_OP=new Ii.EO;class Ts{constructor(t){this._onWillExecuteCommand=new O.Q5,this._onDidExecuteCommand=new O.Q5,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=t}executeCommand(t,...o){const _=W.P.getCommand(t);if(!_)return Promise.reject(new Error(`command '${t}' not found`));try{this._onWillExecuteCommand.fire({commandId:t,args:o});const B=this._instantiationService.invokeFunction.apply(this._instantiationService,[_.handler,...o]);return this._onDidExecuteCommand.fire({commandId:t,args:o}),Promise.resolve(B)}catch(B){return Promise.reject(B)}}}class Is extends Me{constructor(t,o,_,B,q,me){super(t,o,_,B,q),this._cachedResolver=null,this._dynamicKeybindings=[],this._register(ce.nm(me,ce.tw.KEY_DOWN,Ee=>{const et=new cs.y(Ee);this._dispatch(et,et.target)&&(et.preventDefault(),et.stopPropagation())})),this._register(ce.nm(window,ce.tw.KEY_UP,Ee=>{const et=new cs.y(Ee);this._singleModifierDispatch(et,et.target)&&et.preventDefault()}))}addDynamicKeybinding(t,o,_,B){const q=(0,us.gm)(o,Di.OS),me=new ni.SL;return q&&(this._dynamicKeybindings.push({keybinding:q.parts,command:t,when:B,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}),me.add((0,ni.OF)(()=>{for(let Ee=0;Ee<this._dynamicKeybindings.length;Ee++)if(this._dynamicKeybindings[Ee].command===t){this._dynamicKeybindings.splice(Ee,1),this.updateResolver({source:1});return}}))),me.add(W.P.registerCommand(t,_)),this.updateResolver({source:1}),me}updateResolver(t){this._cachedResolver=null,this._onDidUpdateKeybindings.fire(t)}_getResolver(){if(!this._cachedResolver){const t=this._toNormalizedKeybindingItems(zt.W.getDefaultKeybindings(),!0),o=this._toNormalizedKeybindingItems(this._dynamicKeybindings,!1);this._cachedResolver=new yt(t,o,_=>this._log(_))}return this._cachedResolver}_documentHasFocus(){return document.hasFocus()}_toNormalizedKeybindingItems(t,o){let _=[],B=0;for(const q of t){const me=q.when||void 0,Ee=q.keybinding;if(!Ee)_[B++]=new Qt(void 0,q.command,q.commandArgs,me,o,null,!1);else{const et=yi.resolveUserBinding(Ee,Di.OS);for(const ft of et)_[B++]=new Qt(ft,q.command,q.commandArgs,me,o,null,!1)}}return _}resolveKeyboardEvent(t){let o=new us.QC(t.ctrlKey,t.shiftKey,t.altKey,t.metaKey,t.keyCode).toChord();return new yi(o,Di.OS)}}function Os(S){return S&&typeof S=="object"&&(!S.overrideIdentifier||typeof S.overrideIdentifier=="string")&&(!S.resource||S.resource instanceof D.o)}class Gs{constructor(){this._onDidChangeConfiguration=new O.Q5,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._configuration=new u(new at,new Tn)}getValue(t,o){const _=typeof t=="string"?t:void 0,B=Os(t)?t:Os(o)?o:{};return this._configuration.getValue(_,B,void 0)}updateValues(t){const o={data:this._configuration.toData()};let _=[];for(const B of t){const[q,me]=B;this.getValue(q)!==me&&(this._configuration.updateValue(q,me),_.push(q))}if(_.length>0){const B=new x({keys:_,overrides:[]},o,this._configuration);B.source=7,B.sourceConfig=null,this._onDidChangeConfiguration.fire(B)}return Promise.resolve()}}class io{constructor(t){this.configurationService=t,this._onDidChangeConfiguration=new O.Q5,this.configurationService.onDidChangeConfiguration(o=>{this._onDidChangeConfiguration.fire({affectedKeys:o.affectedKeys,affectsConfiguration:(_,B)=>o.affectsConfiguration(B)})})}getValue(t,o,_){const q=(G.L.isIPosition(o)?o:null)?typeof _=="string"?_:void 0:typeof o=="string"?o:void 0;return typeof q=="undefined"?this.configurationService.getValue():this.configurationService.getValue(q)}}let Fn=class{constructor(t){this.configurationService=t}getEOL(t,o){const _=this.configurationService.getValue("files.eol",{overrideIdentifier:o,resource:t});return _&&typeof _=="string"&&_!=="auto"?_:Di.IJ||Di.dz?`
`:`\r
`}};Fn=Vi([an(0,Hi.Ui)],Fn);class xr{publicLog(t,o){return Promise.resolve(void 0)}publicLog2(t,o){return this.publicLog(t,o)}}class po{constructor(){const t=D.o.from({scheme:po.SCHEME,authority:"model",path:"/"});this.workspace={id:"4064f6ec-cb38-4ad0-af64-ee6467e63c82",folders:[new Ui.md({uri:t,name:"",index:0})]}}getWorkspace(){return this.workspace}}po.SCHEME="inmemory";function _o(S,t,o){if(!t||!(S instanceof Gs))return;let _=[];Object.keys(t).forEach(B=>{(0,li.ei)(B)&&_.push([`editor.${B}`,t[B]]),o&&(0,li.Pe)(B)&&_.push([`diffEditor.${B}`,t[B]])}),_.length>0&&S.updateValues(_)}class Mr{constructor(t){this._modelService=t}hasPreviewHandler(){return!1}apply(t,o){return Nn(this,void 0,void 0,function*(){const _=new Map;for(let me of t){if(!(me instanceof rn.Gl))throw new Error("bad edit - only text edits are supported");const Ee=this._modelService.getModel(me.resource);if(!Ee)throw new Error("bad edit - model not found");if(typeof me.versionId=="number"&&Ee.getVersionId()!==me.versionId)throw new Error("bad state - model changed in the meantime");let et=_.get(Ee);et||(et=[],_.set(Ee,et)),et.push(Ai.h.replaceMove(I.e.lift(me.textEdit.range),me.textEdit.text))}let B=0,q=0;for(const[me,Ee]of _)me.pushStackElement(),me.pushEditOperations([],Ee,()=>[]),me.pushStackElement(),q+=1,B+=Ee.length;return{ariaSummary:Ni.WU(Ji.UL.bulkEditServiceSummary,B,q)}})}}class no{getUriLabel(t,o){return t.scheme==="file"?t.fsPath:t.path}}class Tr{constructor(t,o){this._codeEditorService=t,this._container=o,this.onDidLayout=O.ju.None}get dimension(){return this._dimension||(this._dimension=ce.D6(window.document.body)),this._dimension}get container(){return this._container}focus(){var t;(t=this._codeEditorService.getFocusedCodeEditor())===null||t===void 0||t.focus()}}var so=i(58941),Rr=i(11036),Ar=i(49140),Or=i(78385),oo=i(63908),ys=i(96236),Rs=i(4999),ps=i(16925),Ps=i(5898),Cs=i(49055),xs=i(52950),Zs=i(54622),xo=i(81641);class Mo extends ni.JT{constructor(){super(),this._onCodeEditorAdd=this._register(new O.Q5),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new O.Q5),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onDiffEditorAdd=this._register(new O.Q5),this._onDiffEditorRemove=this._register(new O.Q5),this._onDecorationTypeRegistered=this._register(new O.Q5),this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null)}addCodeEditor(t){this._codeEditors[t.getId()]=t,this._onCodeEditorAdd.fire(t)}removeCodeEditor(t){delete this._codeEditors[t.getId()]&&this._onCodeEditorRemove.fire(t)}listCodeEditors(){return Object.keys(this._codeEditors).map(t=>this._codeEditors[t])}addDiffEditor(t){this._diffEditors[t.getId()]=t,this._onDiffEditorAdd.fire(t)}removeDiffEditor(t){delete this._diffEditors[t.getId()]&&this._onDiffEditorRemove.fire(t)}listDiffEditors(){return Object.keys(this._diffEditors).map(t=>this._diffEditors[t])}getFocusedCodeEditor(){let t=null;const o=this.listCodeEditors();for(const _ of o){if(_.hasTextFocus())return _;_.hasWidgetFocus()&&(t=_)}return t}setModelProperty(t,o,_){const B=t.toString();let q;this._modelProperties.has(B)?q=this._modelProperties.get(B):(q=new Map,this._modelProperties.set(B,q)),q.set(o,_)}getModelProperty(t,o){const _=t.toString();if(this._modelProperties.has(_))return this._modelProperties.get(_).get(o)}}var ir=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},Pr=function(S,t){return function(o,_){t(o,_,S)}};class To{constructor(t,o,_){this._parent=t,this._editorId=o,this._styleSheet=_,this._refCount=0}ref(){this._refCount++}unref(){var t;this._refCount--,this._refCount===0&&((t=this._styleSheet.parentNode)===null||t===void 0||t.removeChild(this._styleSheet),this._parent._removeEditorStyleSheets(this._editorId))}insertRule(t,o){this._styleSheet.sheet.insertRule(t,o)}removeRulesContainingSelector(t){ce.uN(t,this._styleSheet)}}class kr{constructor(t){this._styleSheet=t}ref(){}unref(){}insertRule(t,o){this._styleSheet.sheet.insertRule(t,o)}removeRulesContainingSelector(t){ce.uN(t,this._styleSheet)}}let Ro=class extends Mo{constructor(t,o){super(),this._decorationOptionProviders=new Map,this._editorStyleSheets=new Map,this._globalStyleSheet=t||null,this._themeService=o}_getOrCreateGlobalStyleSheet(){return this._globalStyleSheet||(this._globalStyleSheet=new kr(ce.dS())),this._globalStyleSheet}_getOrCreateStyleSheet(t){if(!t)return this._getOrCreateGlobalStyleSheet();const o=t.getContainerDomNode();if(!ce.OO(o))return this._getOrCreateGlobalStyleSheet();const _=t.getId();if(!this._editorStyleSheets.has(_)){const B=new To(this,_,ce.dS(o));this._editorStyleSheets.set(_,B)}return this._editorStyleSheets.get(_)}_removeEditorStyleSheets(t){this._editorStyleSheets.delete(t)}registerDecorationType(t,o,_,B,q){let me=this._decorationOptionProviders.get(o);if(!me){const Ee=this._getOrCreateStyleSheet(q),et={styleSheet:Ee,key:o,parentTypeKey:B,options:_||Object.create(null)};B?me=new Fr(this._themeService,Ee,et):me=new Br(t,this._themeService,Ee,et),this._decorationOptionProviders.set(o,me),this._onDecorationTypeRegistered.fire(o)}me.refCount++}removeDecorationType(t){const o=this._decorationOptionProviders.get(t);o&&(o.refCount--,o.refCount<=0&&(this._decorationOptionProviders.delete(t),o.dispose(),this.listCodeEditors().forEach(_=>_.removeDecorations(t))))}resolveDecorationOptions(t,o){const _=this._decorationOptionProviders.get(t);if(!_)throw new Error("Unknown decoration type key: "+t);return _.getOptions(this,o)}};Ro=ir([Pr(1,Cs.XE)],Ro);class Fr{constructor(t,o,_){this._styleSheet=o,this._styleSheet.ref(),this._parentTypeKey=_.parentTypeKey,this.refCount=0,this._beforeContentRules=new vo(3,_,t),this._afterContentRules=new vo(4,_,t)}getOptions(t,o){const _=t.resolveDecorationOptions(this._parentTypeKey,!0);return this._beforeContentRules&&(_.beforeContentClassName=this._beforeContentRules.className),this._afterContentRules&&(_.afterContentClassName=this._afterContentRules.className),_}dispose(){this._beforeContentRules&&(this._beforeContentRules.dispose(),this._beforeContentRules=null),this._afterContentRules&&(this._afterContentRules.dispose(),this._afterContentRules=null),this._styleSheet.unref()}}class Br{constructor(t,o,_,B){this._disposables=new ni.SL,this.description=t,this._styleSheet=_,this._styleSheet.ref(),this.refCount=0;const q=Bt=>{const _i=new vo(Bt,B,o);if(this._disposables.add(_i),_i.hasContent)return _i.className},me=Bt=>{const _i=new vo(Bt,B,o);return this._disposables.add(_i),_i.hasContent?{className:_i.className,hasLetterSpacing:_i.hasLetterSpacing}:null};this.className=q(0);const Ee=me(1);if(Ee&&(this.inlineClassName=Ee.className,this.inlineClassNameAffectsLetterSpacing=Ee.hasLetterSpacing),this.beforeContentClassName=q(3),this.afterContentClassName=q(4),B.options.beforeInjectedText&&B.options.beforeInjectedText.contentText){const Bt=me(5);this.beforeInjectedText={content:B.options.beforeInjectedText.contentText,inlineClassName:Bt==null?void 0:Bt.className,inlineClassNameAffectsLetterSpacing:(Bt==null?void 0:Bt.hasLetterSpacing)||B.options.beforeInjectedText.affectsLetterSpacing}}if(B.options.afterInjectedText&&B.options.afterInjectedText.contentText){const Bt=me(6);this.afterInjectedText={content:B.options.afterInjectedText.contentText,inlineClassName:Bt==null?void 0:Bt.className,inlineClassNameAffectsLetterSpacing:(Bt==null?void 0:Bt.hasLetterSpacing)||B.options.afterInjectedText.affectsLetterSpacing}}this.glyphMarginClassName=q(2);const et=B.options;this.isWholeLine=!!et.isWholeLine,this.stickiness=et.rangeBehavior;const ft=et.light&&et.light.overviewRulerColor||et.overviewRulerColor,bt=et.dark&&et.dark.overviewRulerColor||et.overviewRulerColor;(typeof ft!="undefined"||typeof bt!="undefined")&&(this.overviewRuler={color:ft||bt,darkColor:bt||ft,position:et.overviewRulerLane||Xe.sh.Center})}getOptions(t,o){return o?{description:this.description,inlineClassName:this.inlineClassName,beforeContentClassName:this.beforeContentClassName,afterContentClassName:this.afterContentClassName,className:this.className,glyphMarginClassName:this.glyphMarginClassName,isWholeLine:this.isWholeLine,overviewRuler:this.overviewRuler,stickiness:this.stickiness,before:this.beforeInjectedText,after:this.afterInjectedText}:this}dispose(){this._disposables.dispose(),this._styleSheet.unref()}}const ro={color:"color:{0} !important;",opacity:"opacity:{0};",backgroundColor:"background-color:{0};",outline:"outline:{0};",outlineColor:"outline-color:{0};",outlineStyle:"outline-style:{0};",outlineWidth:"outline-width:{0};",border:"border:{0};",borderColor:"border-color:{0};",borderRadius:"border-radius:{0};",borderSpacing:"border-spacing:{0};",borderStyle:"border-style:{0};",borderWidth:"border-width:{0};",fontStyle:"font-style:{0};",fontWeight:"font-weight:{0};",fontSize:"font-size:{0};",fontFamily:"font-family:{0};",textDecoration:"text-decoration:{0};",cursor:"cursor:{0};",letterSpacing:"letter-spacing:{0};",gutterIconPath:"background:{0} center center no-repeat;",gutterIconSize:"background-size:{0};",contentText:"content:'{0}';",contentIconPath:"content:{0};",margin:"margin:{0};",padding:"padding:{0};",width:"width:{0};",height:"height:{0};",verticalAlign:"vertical-align:{0};"};class vo{constructor(t,o,_){this._theme=_.getColorTheme(),this._ruleType=t,this._providerArgs=o,this._usesThemeColors=!1,this._hasContent=!1,this._hasLetterSpacing=!1;let B=Ao.getClassName(this._providerArgs.key,t);this._providerArgs.parentTypeKey&&(B=B+" "+Ao.getClassName(this._providerArgs.parentTypeKey,t)),this._className=B,this._unThemedSelector=Ao.getSelector(this._providerArgs.key,this._providerArgs.parentTypeKey,t),this._buildCSS(),this._usesThemeColors?this._themeListener=_.onDidColorThemeChange(q=>{this._theme=_.getColorTheme(),this._removeCSS(),this._buildCSS()}):this._themeListener=null}dispose(){this._hasContent&&(this._removeCSS(),this._hasContent=!1),this._themeListener&&(this._themeListener.dispose(),this._themeListener=null)}get hasContent(){return this._hasContent}get hasLetterSpacing(){return this._hasLetterSpacing}get className(){return this._className}_buildCSS(){const t=this._providerArgs.options;let o,_,B;switch(this._ruleType){case 0:o=this.getCSSTextForModelDecorationClassName(t),_=this.getCSSTextForModelDecorationClassName(t.light),B=this.getCSSTextForModelDecorationClassName(t.dark);break;case 1:o=this.getCSSTextForModelDecorationInlineClassName(t),_=this.getCSSTextForModelDecorationInlineClassName(t.light),B=this.getCSSTextForModelDecorationInlineClassName(t.dark);break;case 2:o=this.getCSSTextForModelDecorationGlyphMarginClassName(t),_=this.getCSSTextForModelDecorationGlyphMarginClassName(t.light),B=this.getCSSTextForModelDecorationGlyphMarginClassName(t.dark);break;case 3:o=this.getCSSTextForModelDecorationContentClassName(t.before),_=this.getCSSTextForModelDecorationContentClassName(t.light&&t.light.before),B=this.getCSSTextForModelDecorationContentClassName(t.dark&&t.dark.before);break;case 4:o=this.getCSSTextForModelDecorationContentClassName(t.after),_=this.getCSSTextForModelDecorationContentClassName(t.light&&t.light.after),B=this.getCSSTextForModelDecorationContentClassName(t.dark&&t.dark.after);break;case 5:o=this.getCSSTextForModelDecorationContentClassName(t.beforeInjectedText),_=this.getCSSTextForModelDecorationContentClassName(t.light&&t.light.beforeInjectedText),B=this.getCSSTextForModelDecorationContentClassName(t.dark&&t.dark.beforeInjectedText);break;case 6:o=this.getCSSTextForModelDecorationContentClassName(t.afterInjectedText),_=this.getCSSTextForModelDecorationContentClassName(t.light&&t.light.afterInjectedText),B=this.getCSSTextForModelDecorationContentClassName(t.dark&&t.dark.afterInjectedText);break;default:throw new Error("Unknown rule type: "+this._ruleType)}const q=this._providerArgs.styleSheet;let me=!1;o.length>0&&(q.insertRule(`${this._unThemedSelector} {${o}}`,0),me=!0),_.length>0&&(q.insertRule(`.vs${this._unThemedSelector} {${_}}`,0),me=!0),B.length>0&&(q.insertRule(`.vs-dark${this._unThemedSelector}, .hc-black${this._unThemedSelector} {${B}}`,0),me=!0),this._hasContent=me}_removeCSS(){this._providerArgs.styleSheet.removeRulesContainingSelector(this._unThemedSelector)}getCSSTextForModelDecorationClassName(t){if(!t)return"";const o=[];return this.collectCSSText(t,["backgroundColor"],o),this.collectCSSText(t,["outline","outlineColor","outlineStyle","outlineWidth"],o),this.collectBorderSettingsCSSText(t,o),o.join("")}getCSSTextForModelDecorationInlineClassName(t){if(!t)return"";const o=[];return this.collectCSSText(t,["fontStyle","fontWeight","textDecoration","cursor","color","opacity","letterSpacing"],o),t.letterSpacing&&(this._hasLetterSpacing=!0),o.join("")}getCSSTextForModelDecorationContentClassName(t){if(!t)return"";const o=[];if(typeof t!="undefined"){if(this.collectBorderSettingsCSSText(t,o),typeof t.contentIconPath!="undefined"&&o.push(Ni.WU(ro.contentIconPath,ce.wY(D.o.revive(t.contentIconPath)))),typeof t.contentText=="string"){const B=t.contentText.match(/^.*$/m)[0].replace(/['\\]/g,"\\$&");o.push(Ni.WU(ro.contentText,B))}this.collectCSSText(t,["verticalAlign","fontStyle","fontWeight","fontSize","fontFamily","textDecoration","color","opacity","backgroundColor","margin","padding"],o),this.collectCSSText(t,["width","height"],o)&&o.push("display:inline-block;")}return o.join("")}getCSSTextForModelDecorationGlyphMarginClassName(t){if(!t)return"";const o=[];return typeof t.gutterIconPath!="undefined"&&(o.push(Ni.WU(ro.gutterIconPath,ce.wY(D.o.revive(t.gutterIconPath)))),typeof t.gutterIconSize!="undefined"&&o.push(Ni.WU(ro.gutterIconSize,t.gutterIconSize))),o.join("")}collectBorderSettingsCSSText(t,o){return this.collectCSSText(t,["border","borderColor","borderRadius","borderSpacing","borderStyle","borderWidth"],o)?(o.push(Ni.WU("box-sizing: border-box;")),!0):!1}collectCSSText(t,o,_){const B=_.length;for(let q of o){const me=this.resolveValue(t[q]);typeof me=="string"&&_.push(Ni.WU(ro[q],me))}return _.length!==B}resolveValue(t){if((0,ze.I)(t)){this._usesThemeColors=!0;const o=this._theme.getColor(t.id);return o?o.toString():"transparent"}return t}}class Ao{static getClassName(t,o){return"ced-"+t+"-"+o}static getSelector(t,o,_){let B=".monaco-editor ."+this.getClassName(t,_);return o&&(B=B+"."+this.getClassName(o,_)),_===3?B+="::before":_===4&&(B+="::after"),B}}var Wr=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},Oo=function(S,t){return function(o,_){t(o,_,S)}};let Co=class extends Ro{constructor(t,o,_){super(t,_),this.onCodeEditorAdd(()=>this._checkContextKey()),this.onCodeEditorRemove(()=>this._checkContextKey()),this._editorIsOpen=o.createKey("editorIsOpen",!1),this._activeCodeEditor=null}_checkContextKey(){let t=!1;for(const o of this.listCodeEditors())if(!o.isSimpleWidget){t=!0;break}this._editorIsOpen.set(t)}setActiveCodeEditor(t){this._activeCodeEditor=t}getActiveCodeEditor(){return this._activeCodeEditor}openCodeEditor(t,o,_){return o?Promise.resolve(this.doOpenEditor(o,t)):Promise.resolve(null)}doOpenEditor(t,o){if(!this.findModel(t,o.resource)){if(o.resource){const q=o.resource.scheme;if(q===fe.lg.http||q===fe.lg.https)return(0,ce.V3)(o.resource.toString()),t}return null}const B=o.options?o.options.selection:null;if(B)if(typeof B.endLineNumber=="number"&&typeof B.endColumn=="number")t.setSelection(B),t.revealRangeInCenter(B,1);else{const q={lineNumber:B.startLineNumber,column:B.startColumn};t.setPosition(q),t.revealPositionInCenter(q,1)}return t}findModel(t,o){const _=t.getModel();return _&&_.uri.toString()!==o.toString()?null:_}};Co=Wr([Oo(1,_t.i6),Oo(2,Cs.XE)],Co);var Us=i(8473),Po=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},Hn=function(S,t){return function(o,_){t(o,_,S)}};let Vr=0,nr=!1;function ko(S){if(!S){if(nr)return;nr=!0}so.wW(S||document.body)}let Ys=class extends Rr.Gm{constructor(t,o,_,B,q,me,Ee,et,ft,bt){const Bt=Object.assign({},o);Bt.ariaLabel=Bt.ariaLabel||Ji.B8.editorViewAccessibleLabel,Bt.ariaLabel=Bt.ariaLabel+";"+Ji.B8.accessibilityHelpMessage,super(t,Bt,{},_,B,q,me,et,ft,bt),Ee instanceof Is?this._standaloneKeybindingService=Ee:this._standaloneKeybindingService=null,ko(Bt.ariaContainerElement)}addCommand(t,o,_){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;let B="DYNAMIC_"+ ++Vr,q=_t.Ao.deserialize(_);return this._standaloneKeybindingService.addDynamicKeybinding(B,t,o,q),B}createContextKey(t,o){return this._contextKeyService.createKey(t,o)}addAction(t){if(typeof t.id!="string"||typeof t.label!="string"||typeof t.run!="function")throw new 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"),ni.JT.None;const o=t.id,_=t.label,B=_t.Ao.and(_t.Ao.equals("editorId",this.getId()),_t.Ao.deserialize(t.precondition)),q=t.keybindings,me=_t.Ao.and(B,_t.Ao.deserialize(t.keybindingContext)),Ee=t.contextMenuGroupId||null,et=t.contextMenuOrder||0,ft=(Qi,...$i)=>Promise.resolve(t.run(this,...$i)),bt=new ni.SL,Bt=this.getId()+":"+o;if(bt.add(W.P.registerCommand(Bt,ft)),Ee){let Qi={command:{id:Bt,title:_},when:B,group:Ee,order:et};bt.add(ys.BH.appendMenuItem(ys.eH.EditorContext,Qi))}if(Array.isArray(q))for(const Qi of q)bt.add(this._standaloneKeybindingService.addDynamicKeybinding(Bt,Qi,ft,me));let _i=new Or.p(Bt,_,_,B,ft,this._contextKeyService);return this._actions[o]=_i,bt.add((0,ni.OF)(()=>{delete this._actions[o]})),bt}_triggerCommand(t,o){if(this._codeEditorService instanceof Co)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(t,o)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(t,o)}};Ys=Po([Hn(2,ps.TG),Hn(3,ue.$),Hn(4,W.H),Hn(5,_t.i6),Hn(6,Ps.d),Hn(7,Cs.XE),Hn(8,Ii.lT),Hn(9,xs.F)],Ys);let ao=class extends Ys{constructor(t,o,_,B,q,me,Ee,et,ft,bt,Bt,_i,Qi,$i,cn){const un=Object.assign({},o);_o(_i,un,!1);const jn=bt.registerEditorContainer(t);typeof un.theme=="string"&&bt.setTheme(un.theme),typeof un.autoDetectHighContrast!="undefined"&&bt.setAutoDetectHighContrast(!!un.autoDetectHighContrast);let In=un.model;delete un.model,super(t,un,B,q,me,Ee,et,bt,Bt,Qi),this._contextViewService=ft,this._configurationService=_i,this._standaloneThemeService=bt,this._register(_),this._register(jn);let fn;if(typeof In=="undefined"?(fn=sr($i,cn,un.value||"",un.language||Us.vW.text,void 0),this._ownsModel=!0):(fn=In,this._ownsModel=!1),this._attachModel(fn),fn){let Ln={oldModelUrl:null,newModelUrl:fn.uri};this._onDidChangeModel.fire(Ln)}}dispose(){super.dispose()}updateOptions(t){_o(this._configurationService,t,!1),typeof t.theme=="string"&&this._standaloneThemeService.setTheme(t.theme),typeof t.autoDetectHighContrast!="undefined"&&this._standaloneThemeService.setAutoDetectHighContrast(!!t.autoDetectHighContrast),super.updateOptions(t)}_attachModel(t){super._attachModel(t),this._modelData&&this._contextViewService.setContainer(this._modelData.view.domNode.domNode)}_postDetachModelCleanup(t){super._postDetachModelCleanup(t),t&&this._ownsModel&&(t.dispose(),this._ownsModel=!1)}};ao=Po([Hn(3,ps.TG),Hn(4,ue.$),Hn(5,W.H),Hn(6,_t.i6),Hn(7,Ps.d),Hn(8,Rs.u),Hn(9,oo.Z),Hn(10,Ii.lT),Hn(11,Hi.Ui),Hn(12,xs.F),Hn(13,Gn.q),Hn(14,Et.h)],ao);let Fo=class extends Ar.p{constructor(t,o,_,B,q,me,Ee,et,ft,bt,Bt,_i,Qi,$i,cn){const un=Object.assign({},o);_o(_i,un,!0);const jn=bt.registerEditorContainer(t);typeof un.theme=="string"&&bt.setTheme(un.theme),typeof un.autoDetectHighContrast!="undefined"&&bt.setAutoDetectHighContrast(!!un.autoDetectHighContrast),super(t,un,{},cn,et,q,B,ft,bt,Bt,Qi,$i),this._contextViewService=Ee,this._configurationService=_i,this._standaloneThemeService=bt,this._register(_),this._register(jn),this._contextViewService.setContainer(this._containerDomElement)}dispose(){super.dispose()}updateOptions(t){_o(this._configurationService,t,!0),typeof t.theme=="string"&&this._standaloneThemeService.setTheme(t.theme),typeof t.autoDetectHighContrast!="undefined"&&this._standaloneThemeService.setAutoDetectHighContrast(!!t.autoDetectHighContrast),super.updateOptions(t)}_createInnerEditor(t,o,_){return t.createInstance(Ys,o,_)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(t,o,_){return this.getModifiedEditor().addCommand(t,o,_)}createContextKey(t,o){return this.getModifiedEditor().createContextKey(t,o)}addAction(t){return this.getModifiedEditor().addAction(t)}};Fo=Po([Hn(3,ps.TG),Hn(4,_t.i6),Hn(5,Ps.d),Hn(6,Rs.u),Hn(7,He.p),Hn(8,ue.$),Hn(9,oo.Z),Hn(10,Ii.lT),Hn(11,Hi.Ui),Hn(12,Rs.i),Hn(13,xo.e),Hn(14,Zs.p)],Fo);function sr(S,t,o,_,B){if(o=o||"",!_){const q=o.indexOf(`
`);let me=o;return q!==-1&&(me=o.substring(0,q)),Qs(S,o,t.createByFilepathOrFirstLine(B||null,me),B)}return Qs(S,o,t.create(_),B)}function Qs(S,t,o,_){return S.createModel(t,o,_)}var zs=i(3182),Xs=i(44650);const ks=Object.prototype.hasOwnProperty;class Bo{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(Ae.TG,0),this._register(zs.XT,1),this._nextLanguageId=2}_register(t,o){this._languageIdToLanguage[o]=t,this._languageToLanguageId.set(t,o)}register(t){if(this._languageToLanguageId.has(t))return;const o=this._nextLanguageId++;this._register(t,o)}encodeLanguageId(t){return this._languageToLanguageId.get(t)||0}decodeLanguageId(t){return this._languageIdToLanguage[t]||Ae.TG}}class Ks extends ni.JT{constructor(t=!0,o=!1){super(),this._onDidChange=this._register(new O.Q5),this.onDidChange=this._onDidChange.event,Ks.instanceCount++,this._warnOnOverwrite=o,this.languageIdCodec=new Bo,this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},t&&(this._initializeFromRegistry(),this._register(zs.dQ.onDidChangeLanguages(_=>{this._initializeFromRegistry()})))}dispose(){Ks.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Us.bS();const t=zs.dQ.getLanguages();this._registerLanguages(t)}_registerLanguages(t){for(const o of t)this._registerLanguage(o);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(o=>{let _=this._languages[o];_.name&&(this._nameMap[_.name]=_.identifier),_.aliases.forEach(B=>{this._lowercaseNameMap[B.toLowerCase()]=_.identifier}),_.mimetypes.forEach(B=>{this._mimeTypesMap[B]=_.identifier})}),Xs.B.as(is.IP.Configuration).registerOverrideIdentifiers(zs.dQ.getLanguages().map(o=>o.id)),this._onDidChange.fire()}_registerLanguage(t){const o=t.id;let _;ks.call(this._languages,o)?_=this._languages[o]:(this.languageIdCodec.register(o),_={identifier:o,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[]},this._languages[o]=_),this._mergeLanguage(_,t)}_mergeLanguage(t,o){const _=o.id;let B=null;if(Array.isArray(o.mimetypes)&&o.mimetypes.length>0&&(t.mimetypes.push(...o.mimetypes),B=o.mimetypes[0]),B||(B=`text/x-${_}`,t.mimetypes.push(B)),Array.isArray(o.extensions)){o.configuration?t.extensions=o.extensions.concat(t.extensions):t.extensions=t.extensions.concat(o.extensions);for(let Ee of o.extensions)Us.sA({id:_,mime:B,extension:Ee},this._warnOnOverwrite)}if(Array.isArray(o.filenames))for(let Ee of o.filenames)Us.sA({id:_,mime:B,filename:Ee},this._warnOnOverwrite),t.filenames.push(Ee);if(Array.isArray(o.filenamePatterns))for(let Ee of o.filenamePatterns)Us.sA({id:_,mime:B,filepattern:Ee},this._warnOnOverwrite);if(typeof o.firstLine=="string"&&o.firstLine.length>0){let Ee=o.firstLine;Ee.charAt(0)!=="^"&&(Ee="^"+Ee);try{let et=new RegExp(Ee);Ni.IO(et)||Us.sA({id:_,mime:B,firstline:et},this._warnOnOverwrite)}catch(et){(0,hi.dL)(et)}}t.aliases.push(_);let q=null;if(typeof o.aliases!="undefined"&&Array.isArray(o.aliases)&&(o.aliases.length===0?q=[null]:q=o.aliases),q!==null)for(const Ee of q)!Ee||Ee.length===0||t.aliases.push(Ee);let me=q!==null&&q.length>0;if(!(me&&q[0]===null)){let Ee=(me?q[0]:null)||_;(me||!t.name)&&(t.name=Ee)}o.configuration&&t.configurationFiles.push(o.configuration)}isRegisteredMode(t){return ks.call(this._mimeTypesMap,t)?!0:ks.call(this._languages,t)}getModeIdForLanguageNameLowercase(t){return ks.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}extractModeIds(t){return t?t.split(",").map(o=>o.trim()).map(o=>ks.call(this._mimeTypesMap,o)?this._mimeTypesMap[o]:o).filter(o=>ks.call(this._languages,o)):[]}validateLanguageId(t){return!t||t===Ae.TG?Ae.TG:ks.call(this._languages,t)?t:null}getModeIdsFromFilepathOrFirstLine(t,o){if(!t&&!o)return[];let _=Us.G8(t,o);return this.extractModeIds(_.join(","))}}Ks.instanceCount=0;class bo{constructor(t,o){this._selector=o,this.languageId=this._selector();let _;this._onDidChange=new O.Q5({onFirstListenerAdd:()=>{_=t(()=>this._evaluate())},onLastListenerRemove:()=>{_.dispose()}}),this.onDidChange=this._onDidChange.event}_evaluate(){const t=this._selector();t!==this.languageId&&(this.languageId=t,this._onDidChange.fire(this.languageId))}}class lo extends ni.JT{constructor(t=!1){super(),this._onDidEncounterLanguage=this._register(new O.Q5),this.onDidEncounterLanguage=this._onDidEncounterLanguage.event,this._onLanguagesMaybeChanged=this._register(new O.Q5({leakWarningThreshold:200})),this.onLanguagesMaybeChanged=this._onLanguagesMaybeChanged.event,lo.instanceCount++,this._encounteredLanguages=new Set,this._registry=this._register(new Ks(!0,t)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onLanguagesMaybeChanged.fire()))}dispose(){lo.instanceCount--,super.dispose()}isRegisteredMode(t){return this._registry.isRegisteredMode(t)}getModeIdForLanguageName(t){return this._registry.getModeIdForLanguageNameLowercase(t)}getModeIdByFilepathOrFirstLine(t,o){const _=this._registry.getModeIdsFromFilepathOrFirstLine(t,o);return(0,pn.Xh)(_,null)}getModeId(t){const o=this._registry.extractModeIds(t);return(0,pn.Xh)(o,null)}validateLanguageId(t){return this._registry.validateLanguageId(t)}create(t){return new bo(this.onLanguagesMaybeChanged,()=>{const o=this.getModeId(t);return this._createModeAndGetLanguageIdentifier(o)})}createByFilepathOrFirstLine(t,o){return new bo(this.onLanguagesMaybeChanged,()=>{const _=this.getModeIdByFilepathOrFirstLine(t,o);return this._createModeAndGetLanguageIdentifier(_)})}_createModeAndGetLanguageIdentifier(t){const o=this.validateLanguageId(t||"plaintext")||Ae.TG;return this._getOrCreateMode(o),o}triggerMode(t){const o=this.getModeId(t);this._getOrCreateMode(o||"plaintext")}_getOrCreateMode(t){if(!this._encounteredLanguages.has(t)){this._encounteredLanguages.add(t);const o=this.validateLanguageId(t)||Ae.TG;this._onDidEncounterLanguage.fire(o)}}}lo.instanceCount=0;var Hr=i(17539),Fs=i(51737);class Wo{constructor(t,o,_,B,q){this._parsedThemeRuleBrand=void 0,this.token=t,this.index=o,this.fontStyle=_,this.foreground=B,this.background=q}}function Vo(S){if(!S||!Array.isArray(S))return[];let t=[],o=0;for(let _=0,B=S.length;_<B;_++){let q=S[_],me=-1;if(typeof q.fontStyle=="string"){me=0;let ft=q.fontStyle.split(" ");for(let bt=0,Bt=ft.length;bt<Bt;bt++)switch(ft[bt]){case"italic":me=me|1;break;case"bold":me=me|2;break;case"underline":me=me|4;break}}let Ee=null;typeof q.foreground=="string"&&(Ee=q.foreground);let et=null;typeof q.background=="string"&&(et=q.background),t[o++]=new Wo(q.token||"",_,me,Ee,et)}return t}function Ur(S,t){S.sort((bt,Bt)=>{let _i=rr(bt.token,Bt.token);return _i!==0?_i:bt.index-Bt.index});let o=0,_="000000",B="ffffff";for(;S.length>=1&&S[0].token==="";){let bt=S.shift();bt.fontStyle!==-1&&(o=bt.fontStyle),bt.foreground!==null&&(_=bt.foreground),bt.background!==null&&(B=bt.background)}let q=new js;for(let bt of t)q.getId(bt);let me=q.getId(_),Ee=q.getId(B),et=new Uo(o,me,Ee),ft=new zo(et);for(let bt=0,Bt=S.length;bt<Bt;bt++){let _i=S[bt];ft.insert(_i.token,_i.fontStyle,q.getId(_i.foreground),q.getId(_i.background))}return new or(q,ft)}const zr=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;class js{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(t){if(t===null)return 0;const o=t.match(zr);if(!o)throw new Error("Illegal value for token color: "+t);t=o[1].toUpperCase();let _=this._color2id.get(t);return _||(_=++this._lastColorId,this._color2id.set(t,_),this._id2color[_]=Fs.Il.fromHex("#"+t),_)}getColorMap(){return this._id2color.slice(0)}}class or{constructor(t,o){this._colorMap=t,this._root=o,this._cache=new Map}static createFromRawTokenTheme(t,o){return this.createFromParsedTokenTheme(Vo(t),o)}static createFromParsedTokenTheme(t,o){return Ur(t,o)}getColorMap(){return this._colorMap.getColorMap()}_match(t){return this._root.match(t)}match(t,o){let _=this._cache.get(o);if(typeof _=="undefined"){let B=this._match(o),q=Ho(o);_=(B.metadata|q<<8)>>>0,this._cache.set(o,_)}return(_|t<<0)>>>0}}const Kr=/\b(comment|string|regex|regexp)\b/;function Ho(S){let t=S.match(Kr);if(!t)return 0;switch(t[1]){case"comment":return 1;case"string":return 2;case"regex":return 4;case"regexp":return 4}throw new Error("Unexpected match for standard token type!")}function rr(S,t){return S<t?-1:S>t?1:0}class Uo{constructor(t,o,_){this._themeTrieElementRuleBrand=void 0,this._fontStyle=t,this._foreground=o,this._background=_,this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0}clone(){return new Uo(this._fontStyle,this._foreground,this._background)}acceptOverwrite(t,o,_){t!==-1&&(this._fontStyle=t),o!==0&&(this._foreground=o),_!==0&&(this._background=_),this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0}}class zo{constructor(t){this._themeTrieElementBrand=void 0,this._mainRule=t,this._children=new Map}match(t){if(t==="")return this._mainRule;let o=t.indexOf("."),_,B;o===-1?(_=t,B=""):(_=t.substring(0,o),B=t.substring(o+1));let q=this._children.get(_);return typeof q!="undefined"?q.match(B):this._mainRule}insert(t,o,_,B){if(t===""){this._mainRule.acceptOverwrite(o,_,B);return}let q=t.indexOf("."),me,Ee;q===-1?(me=t,Ee=""):(me=t.substring(0,q),Ee=t.substring(q+1));let et=this._children.get(me);typeof et=="undefined"&&(et=new zo(this._mainRule.clone()),this._children.set(me,et)),et.insert(Ee,o,_,B)}}function jr(S){let t=[];for(let o=1,_=S.length;o<_;o++){let B=S[o];t[o]=`.mtk${o} { color: ${B}; }`}return t.push(".mtki { font-style: italic; }"),t.push(".mtkb { font-weight: bold; }"),t.push(".mtku { text-decoration: underline; text-underline-position: under; }"),t.join(`
`)}var As=i(30297),dn=i(44350);const Ko={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:{[dn.cv]:"#FFFFFE",[dn.NO]:"#000000",[dn.ES]:"#E5EBF1",[As.tR]:"#D3D3D3",[As.Ym]:"#939393",[dn.Rz]:"#ADD6FF4D"}},$r={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:{[dn.cv]:"#1E1E1E",[dn.NO]:"#D4D4D4",[dn.ES]:"#3A3D41",[As.tR]:"#404040",[As.Ym]:"#707070",[dn.Rz]:"#ADD6FF26"}},Gr={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:{[dn.cv]:"#000000",[dn.NO]:"#FFFFFF",[As.tR]:"#FFFFFF",[As.Ym]:"#FFFFFF"}};var jo=i(66213),Tt=i(55773);function e(){const S=new O.Q5,t=(0,Tt.Ks)();return t.onDidChange(()=>S.fire()),{onDidChange:S.event,getCSS(){const o={},_=q=>{let me=q.defaults;for(;Cs.kS.isThemeIcon(me);){const et=t.getIcon(me.id);if(!et)return;me=et.defaults}const Ee=me.fontId;if(Ee){const et=t.getIconFont(Ee);if(et)return o[Ee]=et,`.codicon-${q.id}:before { content: '${me.fontCharacter}'; font-family: ${(0,ce._h)(Ee)}; }`}return`.codicon-${q.id}:before { content: '${me.fontCharacter}'; }`},B=[];for(let q of t.getIcons()){const me=_(q);me&&B.push(me)}for(let q in o){const Ee=o[q].definition.src.map(et=>`${(0,ce.wY)(et.location)} format('${et.format}')`).join(", ");B.push(`@font-face { src: ${Ee}; font-family: ${(0,ce._h)(q)}; font-display: block; }`)}return B.join(`
`)}}}const n="vs",d="vs-dark",N="hc-black",A=Xs.B.as(dn.IP.ColorContribution),X=Xs.B.as(Cs.IP.ThemingContribution);class Le{constructor(t,o){this.semanticHighlighting=!1,this.themeData=o;let _=o.base;t.length>0?(Re(t)?this.id=t:this.id=_+" "+t,this.themeName=t):(this.id=_,this.themeName=_),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){const t=new Map;for(let o in this.themeData.colors)t.set(o,Fs.Il.fromHex(this.themeData.colors[o]));if(this.themeData.inherit){let o=Ge(this.themeData.base);for(let _ in o.colors)t.has(_)||t.set(_,Fs.Il.fromHex(o.colors[_]))}this.colors=t}return this.colors}getColor(t,o){const _=this.getColors().get(t);if(_)return _;if(o!==!1)return this.getDefault(t)}getDefault(t){let o=this.defaultColors[t];return o||(o=A.resolveDefaultColor(t,this),this.defaultColors[t]=o,o)}defines(t){return Object.prototype.hasOwnProperty.call(this.getColors(),t)}get type(){switch(this.base){case n:return jo.e.LIGHT;case N:return jo.e.HIGH_CONTRAST;default:return jo.e.DARK}}get tokenTheme(){if(!this._tokenTheme){let t=[],o=[];if(this.themeData.inherit){let q=Ge(this.themeData.base);t=q.rules,q.encodedTokensColors&&(o=q.encodedTokensColors)}const _=this.themeData.colors["editor.foreground"],B=this.themeData.colors["editor.background"];if(_||B){const q={token:""};_&&(q.foreground=_),B&&(q.background=B),t.push(q)}t=t.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(o=this.themeData.encodedTokensColors),this._tokenTheme=or.createFromRawTokenTheme(t,o)}return this._tokenTheme}getTokenStyleMetadata(t,o,_){const q=this.tokenTheme._match([t].concat(o).join(".")).metadata,me=Ze.NX.getForeground(q),Ee=Ze.NX.getFontStyle(q);return{foreground:me,italic:!!(Ee&1),bold:!!(Ee&2),underline:!!(Ee&4)}}}function Re(S){return S===n||S===d||S===N}function Ge(S){switch(S){case n:return Ko;case d:return $r;case N:return Gr}}function tt(S){let t=Ge(S);return new Le(S,t)}class dt extends ni.JT{constructor(){super(),this._onColorThemeChange=this._register(new O.Q5),this.onDidColorThemeChange=this._onColorThemeChange.event,this._environment=Object.create(null),this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(n,tt(n)),this._knownThemes.set(d,tt(d)),this._knownThemes.set(N,tt(N));const t=e();this._codiconCSS=t.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS}
${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(n),t.onDidChange(()=>{this._codiconCSS=t.getCSS(),this._updateCSS()}),ce.uB("(forced-colors: active)",()=>{this._updateActualTheme()})}registerEditorContainer(t){return ce.OO(t)?this._registerShadowDomContainer(t):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=ce.dS(),this._globalStyleElement.className="monaco-colors",this._globalStyleElement.textContent=this._allCSS,this._styleElements.push(this._globalStyleElement)),ni.JT.None}_registerShadowDomContainer(t){const o=ce.dS(t);return o.className="monaco-colors",o.textContent=this._allCSS,this._styleElements.push(o),{dispose:()=>{for(let _=0;_<this._styleElements.length;_++)if(this._styleElements[_]===o){this._styleElements.splice(_,1);return}}}}defineTheme(t,o){if(!/^[a-z0-9\-]+$/i.test(t))throw new Error("Illegal theme name!");if(!Re(o.base)&&!Re(t))throw new Error("Illegal theme base!");this._knownThemes.set(t,new Le(t,o)),Re(t)&&this._knownThemes.forEach(_=>{_.base===t&&_.notifyBaseUpdated()}),this._theme.themeName===t&&this.setTheme(t)}getColorTheme(){return this._theme}setColorMapOverride(t){this._colorMapOverride=t,this._updateThemeOrColorMap()}setTheme(t){let o;this._knownThemes.has(t)?o=this._knownThemes.get(t):o=this._knownThemes.get(n),this._desiredTheme=o,this._updateActualTheme()}_updateActualTheme(){const t=this._autoDetectHighContrast&&window.matchMedia("(forced-colors: active)").matches?this._knownThemes.get(N):this._desiredTheme;this._theme!==t&&(this._theme=t,this._updateThemeOrColorMap())}setAutoDetectHighContrast(t){this._autoDetectHighContrast=t,this._updateActualTheme()}_updateThemeOrColorMap(){let t=[],o={},_={addRule:q=>{o[q]||(t.push(q),o[q]=!0)}};X.getThemingParticipants().forEach(q=>q(this._theme,_,this._environment));const B=this._colorMapOverride||this._theme.tokenTheme.getColorMap();_.addRule(jr(B)),this._themeCSS=t.join(`
`),this._updateCSS(),Ze.RW.setColorMap(B),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS}
${this._themeCSS}`,this._styleElements.forEach(t=>t.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}}var Ot=i(88226),It=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},Kt=function(S,t){return function(o,_){t(o,_,S)}};const qt="data-keybinding-context";class di{constructor(t,o){this._id=t,this._parent=o,this._value=Object.create(null),this._value._contextId=t}setValue(t,o){return this._value[t]!==o?(this._value[t]=o,!0):!1}removeValue(t){return t in this._value?(delete this._value[t],!0):!1}getValue(t){const o=this._value[t];return typeof o=="undefined"&&this._parent?this._parent.getValue(t):o}}class pi extends di{constructor(){super(-1,null)}setValue(t,o){return!1}removeValue(t){return!1}getValue(t){}}pi.INSTANCE=new pi;class Li extends di{constructor(t,o,_){super(t,null),this._configurationService=o,this._values=We.Id.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(B=>{if(B.source===6){const q=Array.from(Ot.$.map(this._values,([me])=>me));this._values.clear(),_.fire(new Wi(q))}else{const q=[];for(const me of B.affectedKeys){const Ee=`config.${me}`,et=this._values.findSuperstr(Ee);et!==void 0&&(q.push(...Ot.$.map(et,([ft])=>ft)),this._values.deleteSuperstr(Ee)),this._values.has(Ee)&&(q.push(Ee),this._values.delete(Ee))}_.fire(new Wi(q))}})}dispose(){this._listener.dispose()}getValue(t){if(t.indexOf(Li._keyPrefix)!==0)return super.getValue(t);if(this._values.has(t))return this._values.get(t);const o=t.substr(Li._keyPrefix.length),_=this._configurationService.getValue(o);let B;switch(typeof _){case"number":case"boolean":case"string":B=_;break;default:Array.isArray(_)?B=JSON.stringify(_):B=_}return this._values.set(t,B),B}setValue(t,o){return super.setValue(t,o)}removeValue(t){return super.removeValue(t)}}Li._keyPrefix="config.";class bi{constructor(t,o,_){this._service=t,this._key=o,this._defaultValue=_,this.reset()}set(t){this._service.setContext(this._key,t)}reset(){typeof this._defaultValue=="undefined"?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class Ki{constructor(t){this.key=t}affectsSome(t){return t.has(this.key)}}class Wi{constructor(t){this.keys=t}affectsSome(t){for(const o of this.keys)if(t.has(o))return!0;return!1}}class Zi{constructor(t){this.events=t}affectsSome(t){for(const o of this.events)if(o.affectsSome(t))return!0;return!1}}class ji{constructor(t){this._onDidChangeContext=new O.K3({merge:o=>new Zi(o)}),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=t}createKey(t,o){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new bi(this,t,o)}bufferChangeEvents(t){this._onDidChangeContext.pause();try{t()}finally{this._onDidChangeContext.resume()}}createScoped(t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new Gi(this,t)}contextMatchesRules(t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const o=this.getContextValuesContainer(this._myContextId);return yt.contextMatchesRules(o,t)}getContextKeyValue(t){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(t)}setContext(t,o){if(this._isDisposed)return;const _=this.getContextValuesContainer(this._myContextId);_&&_.setValue(t,o)&&this._onDidChangeContext.fire(new Ki(t))}removeContext(t){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(t)&&this._onDidChangeContext.fire(new Ki(t))}getContext(t){return this._isDisposed?pi.INSTANCE:this.getContextValuesContainer(_n(t))}}let Fi=class extends ji{constructor(t){super(0),this._contexts=new Map,this._toDispose=new ni.SL,this._lastContextId=0;const o=new Li(this._myContextId,t,this._onDidChangeContext);this._contexts.set(this._myContextId,o),this._toDispose.add(o)}dispose(){this._onDidChangeContext.dispose(),this._isDisposed=!0,this._toDispose.dispose()}getContextValuesContainer(t){return this._isDisposed?pi.INSTANCE:this._contexts.get(t)||pi.INSTANCE}createChildContext(t=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");let o=++this._lastContextId;return this._contexts.set(o,new di(o,this.getContextValuesContainer(t))),o}disposeContext(t){this._isDisposed||this._contexts.delete(t)}};Fi=It([Kt(0,Hi.Ui)],Fi);class Gi extends ji{constructor(t,o){if(super(t.createChildContext()),this._parentChangeListener=new ni.XK,this._parent=t,this._updateParentChangeListener(),this._domNode=o,this._domNode.hasAttribute(qt)){let _="";this._domNode.classList&&(_=Array.from(this._domNode.classList.values()).join(", ")),console.error(`Element already has context attribute${_?": "+_:""}`)}this._domNode.setAttribute(qt,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(this._onDidChangeContext.fire,this._onDidChangeContext)}dispose(){this._isDisposed||(this._onDidChangeContext.dispose(),this._parent.disposeContext(this._myContextId),this._parentChangeListener.dispose(),this._domNode.removeAttribute(qt),this._isDisposed=!0)}getContextValuesContainer(t){return this._isDisposed?pi.INSTANCE:this._parent.getContextValuesContainer(t)}createChildContext(t=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(t)}disposeContext(t){this._isDisposed||this._parent.disposeContext(t)}}function _n(S){for(;S;){if(S.hasAttribute(qt)){const t=S.getAttribute(qt);return t?parseInt(t,10):NaN}S=S.parentElement}return 0}W.P.registerCommand(_t.Eq,function(S,t,o){S.get(_t.i6).createKey(String(t),o)}),W.P.registerCommand({id:"getContextKeyInfo",handler(){return[..._t.uy.all()].sort((S,t)=>S.key.localeCompare(t.key))},description:{description:(0,U.N)("getContextKeyInfo","A command that returns information about context keys"),args:[]}}),W.P.registerCommand("_generateContextKeyInfo",function(){const S=[],t=new Set;for(let o of _t.uy.all())t.has(o.key)||(t.add(o.key),S.push(o));S.sort((o,_)=>o.key.localeCompare(_.key)),console.log(JSON.stringify(S,void 0,2))});var Xi=i(14347),Kn=i(52390),Zn=i(87783),Qn=i(60537),wn=i(21784),rs=i(10081),qn=i(40745),ns=i(23725),Ls=i(17981),Js;(function(S){S[S.AVOID=0]="AVOID",S[S.ALIGN=1]="ALIGN"})(Js||(Js={}));function So(S,t,o){const _=o.mode===Js.ALIGN?o.offset:o.offset+o.size,B=o.mode===Js.ALIGN?o.offset+o.size:o.offset;return o.position===0?t<=S-_?_:t<=B?B-t:Math.max(S-t,0):t<=B?B-t:t<=S-_?_:0}class wo extends ni.JT{constructor(t,o){super(),this.container=null,this.delegate=null,this.toDisposeOnClean=ni.JT.None,this.toDisposeOnSetContainer=ni.JT.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=ce.$(".context-view"),this.useFixedPosition=!1,this.useShadowDOM=!1,ce.Cp(this.view),this.setContainer(t,o),this._register((0,ni.OF)(()=>this.setContainer(null,1)))}setContainer(t,o){var _;if(this.container&&(this.toDisposeOnSetContainer.dispose(),this.shadowRoot?(this.shadowRoot.removeChild(this.view),this.shadowRoot=null,(_=this.shadowRootHostElement)===null||_===void 0||_.remove(),this.shadowRootHostElement=null):this.container.removeChild(this.view),this.container=null),t){if(this.container=t,this.useFixedPosition=o!==1,this.useShadowDOM=o===3,this.useShadowDOM){this.shadowRootHostElement=ce.$(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const q=document.createElement("style");q.textContent=Wl,this.shadowRoot.appendChild(q),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(ce.$("slot"))}else this.container.appendChild(this.view);const B=new ni.SL;wo.BUBBLE_UP_EVENTS.forEach(q=>{B.add(ce.mu(this.container,q,me=>{this.onDOMEvent(me,!1)}))}),wo.BUBBLE_DOWN_EVENTS.forEach(q=>{B.add(ce.mu(this.container,q,me=>{this.onDOMEvent(me,!0)},!0))}),this.toDisposeOnSetContainer=B}}show(t){this.isVisible()&&this.hide(),ce.PO(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex="2500",this.view.style.position=this.useFixedPosition?"fixed":"absolute",ce.$Z(this.view),this.toDisposeOnClean=t.render(this.view)||ni.JT.None,this.delegate=t,this.doLayout(),this.delegate.focus&&this.delegate.focus()}getViewElement(){return this.view}layout(){if(this.isVisible()){if(this.delegate.canRelayout===!1&&!(Di.gn&&ns.D.pointerEvents)){this.hide();return}this.delegate.layout&&this.delegate.layout(),this.doLayout()}}doLayout(){if(!this.isVisible())return;let t=this.delegate.getAnchor(),o;if(ce.Re(t)){let Bt=ce.i(t);o={top:Bt.top,left:Bt.left,width:Bt.width,height:Bt.height}}else o={top:t.y,left:t.x,width:t.width||1,height:t.height||2};const _=ce.w(this.view),B=ce.wn(this.view),q=this.delegate.anchorPosition||0,me=this.delegate.anchorAlignment||0,Ee=this.delegate.anchorAxisAlignment||0;let et,ft;if(Ee===0){const Bt={offset:o.top-window.pageYOffset,size:o.height,position:q===0?0:1},_i={offset:o.left,size:o.width,position:me===0?0:1,mode:Js.ALIGN};et=So(window.innerHeight,B,Bt)+window.pageYOffset,Ls.e.intersects({start:et,end:et+B},{start:Bt.offset,end:Bt.offset+Bt.size})&&(_i.mode=Js.AVOID),ft=So(window.innerWidth,_,_i)}else{const Bt={offset:o.left,size:o.width,position:me===0?0:1},_i={offset:o.top,size:o.height,position:q===0?0:1,mode:Js.ALIGN};ft=So(window.innerWidth,_,Bt),Ls.e.intersects({start:ft,end:ft+_},{start:Bt.offset,end:Bt.offset+Bt.size})&&(_i.mode=Js.AVOID),et=So(window.innerHeight,B,_i)+window.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(q===0?"bottom":"top"),this.view.classList.add(me===0?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const bt=ce.i(this.container);this.view.style.top=`${et-(this.useFixedPosition?ce.i(this.view).top:bt.top)}px`,this.view.style.left=`${ft-(this.useFixedPosition?ce.i(this.view).left:bt.left)}px`,this.view.style.width="initial"}hide(t){const o=this.delegate;this.delegate=null,o!=null&&o.onHide&&o.onHide(t),this.toDisposeOnClean.dispose(),ce.Cp(this.view)}isVisible(){return!!this.delegate}onDOMEvent(t,o){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(t,document.activeElement):o&&!ce.jg(t.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}wo.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],wo.BUBBLE_DOWN_EVENTS=["click"];let Wl=`
:host {
all: initial; /* 1st rule so subsequent properties are reset. */
}
@font-face {
font-family: "codicon";
font-display: block;
src: url("./codicon.ttf?5d4d76ab2ce5108968ad644d591a16a6") format("truetype");
}
.codicon[class*='codicon-'] {
font: normal normal normal 16px/1 codicon;
display: inline-block;
text-decoration: none;
text-rendering: auto;
text-align: center;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
:host {
font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;
}
:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }
:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }
:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }
:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }
:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }
:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }
:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }
:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }
:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }
:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }
:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }
:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }
:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }
:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }
:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }
`;var Vl=i(1336),qs=i(75918),co=i(52615),$s=i(38940);const Zr=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,Yr=/(&amp;)?(&amp;)([^\s&])/g,Ra=(0,co.CM)("menu-selection",co.lA.check),Aa=(0,co.CM)("menu-submenu",co.lA.chevronRight);var ar;(function(S){S[S.Right=0]="Right",S[S.Left=1]="Left"})(ar||(ar={}));class uo extends wn.o{constructor(t,o,_={}){t.classList.add("monaco-menu-container"),t.setAttribute("role","presentation");const B=document.createElement("div");B.classList.add("monaco-menu"),B.setAttribute("role","presentation"),super(B,{orientation:1,actionViewItemProvider:Ee=>this.doGetActionViewItem(Ee,_,q),context:_.context,actionRunner:_.actionRunner,ariaLabel:_.ariaLabel,focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...Di.dz||Di.IJ?[10]:[]],keyDown:!0}}),this.menuElement=B,this.actionsList.setAttribute("role","menu"),this.actionsList.tabIndex=0,this.menuDisposables=this._register(new ni.SL),this.initializeStyleSheet(t),this._register(Qn.o.addTarget(B)),(0,ce.nm)(B,ce.tw.KEY_DOWN,Ee=>{new cs.y(Ee).equals(2)&&Ee.preventDefault()}),_.enableMnemonics&&this.menuDisposables.add((0,ce.nm)(B,ce.tw.KEY_DOWN,Ee=>{const et=Ee.key.toLocaleLowerCase();if(this.mnemonics.has(et)){ce.zB.stop(Ee,!0);const ft=this.mnemonics.get(et);if(ft.length===1&&(ft[0]instanceof Oa&&ft[0].container&&this.focusItemByElement(ft[0].container),ft[0].onClick(Ee)),ft.length>1){const bt=ft.shift();bt&&bt.container&&(this.focusItemByElement(bt.container),ft.push(bt)),this.mnemonics.set(et,ft)}}})),Di.IJ&&this._register((0,ce.nm)(B,ce.tw.KEY_DOWN,Ee=>{const et=new cs.y(Ee);et.equals(14)||et.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),ce.zB.stop(Ee,!0)):(et.equals(13)||et.equals(12))&&(this.focusedItem=0,this.focusPrevious(),ce.zB.stop(Ee,!0))})),this._register((0,ce.nm)(this.domNode,ce.tw.MOUSE_OUT,Ee=>{let et=Ee.relatedTarget;(0,ce.jg)(et,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),Ee.stopPropagation())})),this._register((0,ce.nm)(this.actionsList,ce.tw.MOUSE_OVER,Ee=>{let et=Ee.target;if(!(!et||!(0,ce.jg)(et,this.actionsList)||et===this.actionsList)){for(;et.parentElement!==this.actionsList&&et.parentElement!==null;)et=et.parentElement;if(et.classList.contains("action-item")){const ft=this.focusedItem;this.setFocusedItem(et),ft!==this.focusedItem&&this.updateFocus()}}})),this._register(Qn.o.addTarget(this.actionsList)),this._register((0,ce.nm)(this.actionsList,Qn.t.Tap,Ee=>{let et=Ee.initialTarget;if(!(!et||!(0,ce.jg)(et,this.actionsList)||et===this.actionsList)){for(;et.parentElement!==this.actionsList&&et.parentElement!==null;)et=et.parentElement;if(et.classList.contains("action-item")){const ft=this.focusedItem;this.setFocusedItem(et),ft!==this.focusedItem&&this.updateFocus()}}}));let q={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new Vl.s$(B,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const me=this.scrollableElement.getDomNode();me.style.position="",this._register((0,ce.nm)(B,Qn.t.Change,Ee=>{ce.zB.stop(Ee,!0);const et=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:et-Ee.translationY})})),this._register((0,ce.nm)(me,ce.tw.MOUSE_UP,Ee=>{Ee.preventDefault()})),B.style.maxHeight=`${Math.max(10,window.innerHeight-t.getBoundingClientRect().top-35)}px`,o=o.filter(Ee=>{var et;return!((et=_.submenuIds)===null||et===void 0)&&et.has(Ee.id)?(console.warn(`Found submenu cycle: ${Ee.id}`),!1):!0}),this.push(o,{icon:!0,label:!0,isMenu:!0}),t.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(Ee=>!(Ee instanceof Xr)).forEach((Ee,et,ft)=>{Ee.updatePositionInSet(et+1,ft.length)})}initializeStyleSheet(t){(0,ce.OO)(t)?(this.styleSheet=(0,ce.dS)(t),this.styleSheet.textContent=Pa):(uo.globalStyleSheet||(uo.globalStyleSheet=(0,ce.dS)(),uo.globalStyleSheet.textContent=Pa),this.styleSheet=uo.globalStyleSheet)}style(t){const o=this.getContainer(),_=t.foregroundColor?`${t.foregroundColor}`:"",B=t.backgroundColor?`${t.backgroundColor}`:"",q=t.borderColor?`1px solid ${t.borderColor}`:"",me=t.shadowColor?`0 2px 4px ${t.shadowColor}`:"";o.style.border=q,this.domNode.style.color=_,this.domNode.style.backgroundColor=B,o.style.boxShadow=me,this.viewItems&&this.viewItems.forEach(Ee=>{(Ee instanceof Qr||Ee instanceof Xr)&&Ee.style(t)})}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(t){const o=this.focusedItem;this.setFocusedItem(t),o!==this.focusedItem&&this.updateFocus()}setFocusedItem(t){for(let o=0;o<this.actionsList.children.length;o++){let _=this.actionsList.children[o];if(t===_){this.focusedItem=o;break}}}updateFocus(t){super.updateFocus(t,!0),typeof this.focusedItem!="undefined"&&this.scrollableElement.setScrollPosition({scrollTop:Math.round(this.menuElement.scrollTop)})}doGetActionViewItem(t,o,_){if(t instanceof qs.Z0)return new Xr(o.context,t,{icon:!0});if(t instanceof qs.wY){const B=new Oa(t,t.actions,_,Object.assign(Object.assign({},o),{submenuIds:new Set([...o.submenuIds||[],t.id])}));if(o.enableMnemonics){const q=B.getMnemonic();if(q&&B.isEnabled()){let me=[];this.mnemonics.has(q)&&(me=this.mnemonics.get(q)),me.push(B),this.mnemonics.set(q,me)}}return B}else{const B={enableMnemonics:o.enableMnemonics,useEventAsContext:o.useEventAsContext};if(o.getKeyBinding){const me=o.getKeyBinding(t);if(me){const Ee=me.getLabel();Ee&&(B.keybinding=Ee)}}const q=new Qr(o.context,t,B);if(o.enableMnemonics){const me=q.getMnemonic();if(me&&q.isEnabled()){let Ee=[];this.mnemonics.has(me)&&(Ee=this.mnemonics.get(me)),Ee.push(q),this.mnemonics.set(me,Ee)}}return q}}}class Qr extends rs.Y{constructor(t,o,_={}){if(_.isMenu=!0,super(o,o,_),this.options=_,this.options.icon=_.icon!==void 0?_.icon:!1,this.options.label=_.label!==void 0?_.label:!0,this.cssClass="",this.options.label&&_.enableMnemonics){let B=this.getAction().label;if(B){let q=Zr.exec(B);q&&(this.mnemonic=(q[1]?q[1]:q[3]).toLocaleLowerCase())}}this.runOnceToEnableMouseUp=new oi.pY(()=>{this.element&&(this._register((0,ce.nm)(this.element,ce.tw.MOUSE_UP,B=>{if(ce.zB.stop(B,!0),Zn.vU){if(new Kn.n(B).rightButton)return;this.onClick(B)}else setTimeout(()=>{this.onClick(B)},0)})),this._register((0,ce.nm)(this.element,ce.tw.CONTEXT_MENU,B=>{ce.zB.stop(B,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(t){super.render(t),this.element&&(this.container=t,this.item=(0,ce.R3)(this.element,(0,ce.$)("a.action-menu-item")),this._action.id===qs.Z0.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=(0,ce.R3)(this.item,(0,ce.$)("span.menu-item-check"+Ra.cssSelector)),this.check.setAttribute("role","none"),this.label=(0,ce.R3)(this.item,(0,ce.$)("span.action-label")),this.options.label&&this.options.keybinding&&((0,ce.R3)(this.item,(0,ce.$)("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item&&this.item.focus(),this.applyStyle()}updatePositionInSet(t,o){this.item&&(this.item.setAttribute("aria-posinset",`${t}`),this.item.setAttribute("aria-setsize",`${o}`))}updateLabel(){if(this.label&&this.options.label){(0,ce.PO)(this.label);let t=(0,$s.x$)(this.getAction().label);if(t){const o=Hl(t);this.options.enableMnemonics||(t=o),this.label.setAttribute("aria-label",o.replace(/&&/g,"&"));const _=Zr.exec(t);if(_){t=Ni.YU(t),Yr.lastIndex=0;let B=Yr.exec(t);for(;B&&B[1];)B=Yr.exec(t);const q=me=>me.replace(/&amp;&amp;/g,"&amp;");B?this.label.append(Ni.j3(q(t.substr(0,B.index))," "),(0,ce.$)("u",{"aria-hidden":"true"},B[3]),Ni.oL(q(t.substr(B.index+B[0].length))," ")):this.label.innerText=q(t).trim(),this.item&&this.item.setAttribute("aria-keyshortcuts",(_[1]?_[1]:_[3]).toLocaleLowerCase())}else this.label.innerText=t.replace(/&&/g,"&").trim()}}}updateTooltip(){let t=null;this.getAction().tooltip?t=this.getAction().tooltip:!this.options.label&&this.getAction().label&&this.options.icon&&(t=this.getAction().label,this.options.keybinding&&(t=U.N({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",t,this.options.keybinding))),t&&this.item&&(this.item.title=t)}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.getAction().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.getAction().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;const t=this.getAction().checked;this.item.classList.toggle("checked",!!t),t!==void 0?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",t?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){if(!this.menuStyle)return;const t=this.element&&this.element.classList.contains("focused"),o=t&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,_=t&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,B=t&&this.menuStyle.selectionBorderColor?`thin solid ${this.menuStyle.selectionBorderColor}`:"";this.item&&(this.item.style.color=o?o.toString():"",this.item.style.backgroundColor=_?_.toString():""),this.check&&(this.check.style.color=o?o.toString():""),this.container&&(this.container.style.border=B)}style(t){this.menuStyle=t,this.applyStyle()}}class Oa extends Qr{constructor(t,o,_,B){super(t,t,B),this.submenuActions=o,this.parentData=_,this.submenuOptions=B,this.mysubmenu=null,this.submenuDisposables=this._register(new ni.SL),this.mouseOver=!1,this.expandDirection=B&&B.expandDirection!==void 0?B.expandDirection:ar.Right,this.showScheduler=new oi.pY(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new oi.pY(()=>{this.element&&!(0,ce.jg)((0,ce.vY)(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(t){super.render(t),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=(0,ce.R3)(this.item,(0,ce.$)("span.submenu-indicator"+Aa.cssSelector)),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register((0,ce.nm)(this.element,ce.tw.KEY_UP,o=>{let _=new cs.y(o);(_.equals(17)||_.equals(3))&&(ce.zB.stop(o,!0),this.createSubmenu(!0))})),this._register((0,ce.nm)(this.element,ce.tw.KEY_DOWN,o=>{let _=new cs.y(o);(0,ce.vY)()===this.item&&(_.equals(17)||_.equals(3))&&ce.zB.stop(o,!0)})),this._register((0,ce.nm)(this.element,ce.tw.MOUSE_OVER,o=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register((0,ce.nm)(this.element,ce.tw.MOUSE_LEAVE,o=>{this.mouseOver=!1})),this._register((0,ce.nm)(this.element,ce.tw.FOCUS_OUT,o=>{this.element&&!(0,ce.jg)((0,ce.vY)(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!1)})))}updateEnabled(){}onClick(t){ce.zB.stop(t,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(t){if(this.parentData.submenu&&(t||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch(o){}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(t,o,_,B){const q={top:0,left:0};return q.left=So(t.width,o.width,{position:B===ar.Right?0:1,offset:_.left,size:_.width}),q.left>=_.left&&q.left<_.left+_.width&&(_.left+10+o.width<=t.width&&(q.left=_.left+10),_.top+=10,_.height=0),q.top=So(t.height,o.height,{position:0,offset:_.top,size:0}),q.top+o.height===_.top&&q.top+_.height+o.height<=t.height&&(q.top+=_.height),q}createSubmenu(t=!0){if(this.element)if(this.parentData.submenu)this.parentData.submenu.focus(!1);else{this.updateAriaExpanded("true"),this.submenuContainer=(0,ce.R3)(this.element,(0,ce.$)("div.monaco-submenu")),this.submenuContainer.classList.add("menubar-menu-items-holder","context-view");const o=getComputedStyle(this.parentData.parent.domNode),_=parseFloat(o.paddingTop||"0")||0;this.submenuContainer.style.zIndex="1",this.submenuContainer.style.position="fixed",this.submenuContainer.style.top="0",this.submenuContainer.style.left="0",this.parentData.submenu=new uo(this.submenuContainer,this.submenuActions.length?this.submenuActions:[new qs.eZ],this.submenuOptions),this.menuStyle&&this.parentData.submenu.style(this.menuStyle);const B=this.element.getBoundingClientRect(),q={top:B.top-_,left:B.left,height:B.height+2*_,width:B.width},me=this.submenuContainer.getBoundingClientRect(),{top:Ee,left:et}=this.calculateSubmenuMenuLayout(new ce.Ro(window.innerWidth,window.innerHeight),ce.Ro.lift(me),q,this.expandDirection);this.submenuContainer.style.left=`${et-me.left}px`,this.submenuContainer.style.top=`${Ee-me.top}px`,this.submenuDisposables.add((0,ce.nm)(this.submenuContainer,ce.tw.KEY_UP,ft=>{new cs.y(ft).equals(15)&&(ce.zB.stop(ft,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add((0,ce.nm)(this.submenuContainer,ce.tw.KEY_DOWN,ft=>{new cs.y(ft).equals(15)&&ce.zB.stop(ft,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(t),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(t){var o;this.item&&((o=this.item)===null||o===void 0||o.setAttribute("aria-expanded",t))}applyStyle(){if(super.applyStyle(),!this.menuStyle)return;const o=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=o?`${o}`:""),this.parentData.submenu&&this.parentData.submenu.style(this.menuStyle)}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class Xr extends rs.g{style(t){this.label&&(this.label.style.borderBottomColor=t.separatorColor?`${t.separatorColor}`:"")}}function Hl(S){const t=Zr,o=t.exec(S);if(!o)return S;const _=!o[1];return S.replace(t,_?"$2$3":"").trim()}let Pa=`
.monaco-menu {
font-size: 13px;
}
${(0,qn.a)(Ra)}
${(0,qn.a)(Aa)}
.monaco-menu .monaco-action-bar {
text-align: right;
overflow: hidden;
white-space: nowrap;
}
.monaco-menu .monaco-action-bar .actions-container {
display: flex;
margin: 0 auto;
padding: 0;
width: 100%;
justify-content: flex-end;
}
.monaco-menu .monaco-action-bar.vertical .actions-container {
display: inline-block;
}
.monaco-menu .monaco-action-bar.reverse .actions-container {
flex-direction: row-reverse;
}
.monaco-menu .monaco-action-bar .action-item {
cursor: pointer;
display: inline-block;
transition: transform 50ms ease;
position: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */
}
.monaco-menu .monaco-action-bar .action-item.disabled {
cursor: default;
}
.monaco-menu .monaco-action-bar.animated .action-item.active {
transform: scale(1.272019649, 1.272019649); /* 1.272019649 = \u221A\u03C6 */
}
.monaco-menu .monaco-action-bar .action-item .icon,
.monaco-menu .monaco-action-bar .action-item .codicon {
display: inline-block;
}
.monaco-menu .monaco-action-bar .action-item .codicon {
display: flex;
align-items: center;
}
.monaco-menu .monaco-action-bar .action-label {
font-size: 11px;
margin-right: 4px;
}
.monaco-menu .monaco-action-bar .action-item.disabled .action-label,
.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {
opacity: 0.4;
}
/* Vertical actions */
.monaco-menu .monaco-action-bar.vertical {
text-align: left;
}
.monaco-menu .monaco-action-bar.vertical .action-item {
display: block;
}
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
display: block;
border-bottom: 1px solid #bbb;
padding-top: 1px;
margin-left: .8em;
margin-right: .8em;
}
.monaco-menu .secondary-actions .monaco-action-bar .action-label {
margin-left: 6px;
}
/* Action Items */
.monaco-menu .monaco-action-bar .action-item.select-container {
overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */
flex: 1;
max-width: 170px;
min-width: 60px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 10px;
}
.monaco-menu .monaco-action-bar.vertical {
margin-left: 0;
overflow: visible;
}
.monaco-menu .monaco-action-bar.vertical .actions-container {
display: block;
}
.monaco-menu .monaco-action-bar.vertical .action-item {
padding: 0;
transform: none;
display: flex;
}
.monaco-menu .monaco-action-bar.vertical .action-item.active {
transform: none;
}
.monaco-menu .monaco-action-bar.vertical .action-menu-item {
flex: 1 1 auto;
display: flex;
height: 2em;
align-items: center;
position: relative;
}
.monaco-menu .monaco-action-bar.vertical .action-label {
flex: 1 1 auto;
text-decoration: none;
padding: 0 1em;
background: none;
font-size: 12px;
line-height: 1;
}
.monaco-menu .monaco-action-bar.vertical .keybinding,
.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
display: inline-block;
flex: 2 1 auto;
padding: 0 1em;
text-align: right;
font-size: 12px;
line-height: 1;
}
.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
height: 100%;
}
.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {
font-size: 16px !important;
display: flex;
align-items: center;
}
.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {
margin-left: auto;
margin-right: -20px;
}
.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,
.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {
opacity: 0.4;
}
.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {
display: inline-block;
box-sizing: border-box;
margin: 0;
}
.monaco-menu .monaco-action-bar.vertical .action-item {
position: static;
overflow: visible;
}
.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {
position: absolute;
}
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
padding: 0.5em 0 0 0;
margin-bottom: 0.5em;
width: 100%;
height: 0px !important;
margin-left: .8em !important;
margin-right: .8em !important;
}
.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {
padding: 0.7em 1em 0.1em 1em;
font-weight: bold;
opacity: 1;
}
.monaco-menu .monaco-action-bar.vertical .action-label:hover {
color: inherit;
}
.monaco-menu .monaco-action-bar.vertical .menu-item-check {
position: absolute;
visibility: hidden;
width: 1em;
height: 100%;
}
.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {
visibility: visible;
display: flex;
align-items: center;
justify-content: center;
}
/* Context Menu */
.context-view.monaco-menu-container {
outline: 0;
border: none;
animation: fadeIn 0.083s linear;
-webkit-app-region: no-drag;
}
.context-view.monaco-menu-container :focus,
.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,
.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {
outline: 0;
}
.monaco-menu .monaco-action-bar.vertical .action-item {
border: thin solid transparent; /* prevents jumping behaviour on hover or focus */
}
/* High Contrast Theming */
:host-context(.hc-black) .context-view.monaco-menu-container {
box-shadow: none;
}
:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused {
background: none;
}
/* Vertical Action Bar Styles */
.monaco-menu .monaco-action-bar.vertical {
padding: .5em 0;
}
.monaco-menu .monaco-action-bar.vertical .action-menu-item {
height: 1.8em;
}
.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),
.monaco-menu .monaco-action-bar.vertical .keybinding {
font-size: inherit;
padding: 0 2em;
}
.monaco-menu .monaco-action-bar.vertical .menu-item-check {
font-size: inherit;
width: 2em;
}
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
font-size: inherit;
padding: 0.2em 0 0 0;
margin-bottom: 0.2em;
}
:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {
margin-left: 0;
margin-right: 0;
}
.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
font-size: 60%;
padding: 0 1.8em;
}
:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {
height: 100%;
mask-size: 10px 10px;
-webkit-mask-size: 10px 10px;
}
.monaco-menu .action-item {
cursor: default;
}
/* Arrows */
.monaco-scrollable-element > .scrollbar > .scra {
cursor: pointer;
font-size: 11px !important;
}
.monaco-scrollable-element > .visible {
opacity: 1;
/* Background rule added for IE9 - to allow clicks on dom node */
background:rgba(0,0,0,0);
transition: opacity 100ms linear;
}
.monaco-scrollable-element > .invisible {
opacity: 0;
pointer-events: none;
}
.monaco-scrollable-element > .invisible.fade {
transition: opacity 800ms linear;
}
/* Scrollable Content Inset Shadow */
.monaco-scrollable-element > .shadow {
position: absolute;
display: none;
}
.monaco-scrollable-element > .shadow.top {
display: block;
top: 0;
left: 3px;
height: 3px;
width: 100%;
box-shadow: #DDD 0 6px 6px -6px inset;
}
.monaco-scrollable-element > .shadow.left {
display: block;
top: 3px;
left: 0;
height: 100%;
width: 3px;
box-shadow: #DDD 6px 0 6px -6px inset;
}
.monaco-scrollable-element > .shadow.top-left-corner {
display: block;
top: 0;
left: 0;
height: 3px;
width: 3px;
}
.monaco-scrollable-element > .shadow.top.left {
box-shadow: #DDD 6px 6px 6px -6px inset;
}
/* ---------- Default Style ---------- */
:host-context(.vs) .monaco-scrollable-element > .scrollbar > .slider {
background: rgba(100, 100, 100, .4);
}
:host-context(.vs-dark) .monaco-scrollable-element > .scrollbar > .slider {
background: rgba(121, 121, 121, .4);
}
:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider {
background: rgba(111, 195, 223, .6);
}
.monaco-scrollable-element > .scrollbar > .slider:hover {
background: rgba(100, 100, 100, .7);
}
:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider:hover {
background: rgba(111, 195, 223, .8);
}
.monaco-scrollable-element > .scrollbar > .slider.active {
background: rgba(0, 0, 0, .6);
}
:host-context(.vs-dark) .monaco-scrollable-element > .scrollbar > .slider.active {
background: rgba(191, 191, 191, .4);
}
:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider.active {
background: rgba(111, 195, 223, 1);
}
:host-context(.vs-dark) .monaco-scrollable-element .shadow.top {
box-shadow: none;
}
:host-context(.vs-dark) .monaco-scrollable-element .shadow.left {
box-shadow: #000 6px 0 6px -6px inset;
}
:host-context(.vs-dark) .monaco-scrollable-element .shadow.top.left {
box-shadow: #000 6px 6px 6px -6px inset;
}
:host-context(.hc-black) .monaco-scrollable-element .shadow.top {
box-shadow: none;
}
:host-context(.hc-black) .monaco-scrollable-element .shadow.left {
box-shadow: none;
}
:host-context(.hc-black) .monaco-scrollable-element .shadow.top.left {
box-shadow: none;
}
`;var eo=i(32426);class Ul{constructor(t,o,_,B,q){this.contextViewService=t,this.telemetryService=o,this.notificationService=_,this.keybindingService=B,this.themeService=q,this.focusToReturn=null,this.block=null,this.options={blockMouse:!0}}configure(t){this.options=t}showContextMenu(t){const o=t.getActions();if(!o.length)return;this.focusToReturn=document.activeElement;let _,B=(0,ce.Re)(t.domForShadowRoot)?t.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>t.getAnchor(),canRelayout:!1,anchorAlignment:t.anchorAlignment,anchorAxisAlignment:t.anchorAxisAlignment,render:q=>{let me=t.getMenuClassName?t.getMenuClassName():"";me&&(q.className+=" "+me),this.options.blockMouse&&(this.block=q.appendChild((0,ce.$)(".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",(0,ce.nm)(this.block,ce.tw.MOUSE_DOWN,ft=>ft.stopPropagation()));const Ee=new ni.SL,et=t.actionRunner||new qs.Wi;return et.onBeforeRun(this.onActionRun,this,Ee),et.onDidRun(this.onDidActionRun,this,Ee),_=new uo(q,o,{actionViewItemProvider:t.getActionViewItem,context:t.getActionsContext?t.getActionsContext():null,actionRunner:et,getKeyBinding:t.getKeyBinding?t.getKeyBinding:ft=>this.keybindingService.lookupKeybinding(ft.id)}),Ee.add((0,eo.tj)(_,this.themeService)),_.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,Ee),_.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,Ee),Ee.add((0,ce.nm)(window,ce.tw.BLUR,()=>this.contextViewService.hideContextView(!0))),Ee.add((0,ce.nm)(window,ce.tw.MOUSE_DOWN,ft=>{if(ft.defaultPrevented)return;let bt=new Kn.n(ft),Bt=bt.target;if(!bt.rightButton){for(;Bt;){if(Bt===q)return;Bt=Bt.parentElement}this.contextViewService.hideContextView(!0)}})),(0,ni.F8)(Ee,_)},focus:()=>{_&&_.focus(!!t.autoSelectFirstItem)},onHide:q=>{t.onHide&&t.onHide(!!q),this.block&&(this.block.remove(),this.block=null),this.focusToReturn&&this.focusToReturn.focus()}},B,!!B)}onActionRun(t){this.telemetryService.publicLog2("workbenchActionExecuted",{id:t.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1),this.focusToReturn&&this.focusToReturn.focus()}onDidActionRun(t){t.error&&!(0,hi.VV)(t.error)&&this.notificationService.error(t.error)}}var zl=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},$o=function(S,t){return function(o,_){t(o,_,S)}};let Jr=class extends ni.JT{constructor(t,o,_,B,q){super(),this.contextMenuHandler=new Ul(_,t,o,B,q)}configure(t){this.contextMenuHandler.configure(t)}showContextMenu(t){this.contextMenuHandler.showContextMenu(t),ce._q.getInstance().resetKeyStatus()}};Jr=zl([$o(0,Xi.b),$o(1,Ii.lT),$o(2,Rs.u),$o(3,Ps.d),$o(4,Cs.XE)],Jr);const lr=(0,ps.yh)("layoutService");var Kl=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},jl=function(S,t){return function(o,_){t(o,_,S)}};let qr=class extends ni.JT{constructor(t){super(),this.layoutService=t,this.currentViewDisposable=ni.JT.None,this.container=t.container,this.contextView=this._register(new wo(this.container,1)),this.layout(),this._register(t.onDidLayout(()=>this.layout()))}setContainer(t,o){this.contextView.setContainer(t,o||1)}showContextView(t,o,_){o?o!==this.container&&(this.container=o,this.setContainer(o,_?3:2)):this.container!==this.layoutService.container&&(this.container=this.layoutService.container,this.setContainer(this.container,1)),this.contextView.show(t);const B=(0,ni.OF)(()=>{this.currentViewDisposable===B&&this.hideContextView()});return this.currentViewDisposable=B,B}getContextViewElement(){return this.contextView.getViewElement()}layout(){this.contextView.layout()}hideContextView(t){this.contextView.hide(t)}};qr=Kl([jl(0,lr)],qr);var ka=i(94726),yo=i(64441);class $l{constructor(t){this.incoming=new Map,this.outgoing=new Map,this.data=t}}class Gl{constructor(t){this._hashFn=t,this._nodes=new Map}roots(){const t=[];for(let o of this._nodes.values())o.outgoing.size===0&&t.push(o);return t}insertEdge(t,o){const _=this.lookupOrInsertNode(t),B=this.lookupOrInsertNode(o);_.outgoing.set(this._hashFn(o),B),B.incoming.set(this._hashFn(t),_)}removeNode(t){const o=this._hashFn(t);this._nodes.delete(o);for(let _ of this._nodes.values())_.outgoing.delete(o),_.incoming.delete(o)}lookupOrInsertNode(t){const o=this._hashFn(t);let _=this._nodes.get(o);return _||(_=new $l(t),this._nodes.set(o,_)),_}isEmpty(){return this._nodes.size===0}toString(){let t=[];for(let[o,_]of this._nodes)t.push(`${o}, (incoming)[${[..._.incoming.keys()].join(", ")}], (outgoing)[${[..._.outgoing.keys()].join(",")}]`);return t.join(`
`)}findCycleSlow(){for(let[t,o]of this._nodes){const _=new Set([t]),B=this._findCycle(o,_);if(B)return B}}_findCycle(t,o){for(let[_,B]of t.outgoing){if(o.has(_))return[...o,_].join(" -> ");o.add(_);const q=this._findCycle(B,o);if(q)return q;o.delete(_)}}}var ea=i(36916);const Fa=!1;class Ba extends Error{constructor(t){var o;super("cyclic dependency between services"),this.message=(o=t.findCycleSlow())!==null&&o!==void 0?o:`UNABLE to detect cycle, dumping graph:
${t.toString()}`}}class dr{constructor(t=new ea.y,o=!1,_){this._activeInstantiations=new Set,this._services=t,this._strict=o,this._parent=_,this._services.set(ps.TG,this)}createChild(t){return new dr(t,this._strict,this)}invokeFunction(t,...o){let _=Ds.traceInvocation(t),B=!1;try{return t({get:(me,Ee)=>{if(B)throw(0,hi.L6)("service accessor is only valid during the invocation of its target method");const et=this._getOrCreateServiceInstance(me,_);if(!et&&Ee!==ps.jt)throw new Error(`[invokeFunction] unknown service '${me}'`);return et}},...o)}finally{B=!0,_.stop()}}createInstance(t,...o){let _,B;return t instanceof yo.M?(_=Ds.traceCreation(t.ctor),B=this._createInstance(t.ctor,t.staticArguments.concat(o),_)):(_=Ds.traceCreation(t),B=this._createInstance(t,o,_)),_.stop(),B}_createInstance(t,o=[],_){let B=ps.I8.getServiceDependencies(t).sort((Ee,et)=>Ee.index-et.index),q=[];for(const Ee of B){let et=this._getOrCreateServiceInstance(Ee.id,_);if(!et&&this._strict&&!Ee.optional)throw new Error(`[createInstance] ${t.name} depends on UNKNOWN service ${Ee.id}.`);q.push(et)}let me=B.length>0?B[0].index:o.length;if(o.length!==me){console.warn(`[createInstance] First service dependency of ${t.name} at position ${me+1} conflicts with ${o.length} static arguments`);let Ee=me-o.length;Ee>0?o=o.concat(new Array(Ee)):o=o.slice(0,me)}return new t(...o,...q)}_setServiceInstance(t,o){if(this._services.get(t)instanceof yo.M)this._services.set(t,o);else if(this._parent)this._parent._setServiceInstance(t,o);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(t){let o=this._services.get(t);return!o&&this._parent?this._parent._getServiceInstanceOrDescriptor(t):o}_getOrCreateServiceInstance(t,o){let _=this._getServiceInstanceOrDescriptor(t);return _ instanceof yo.M?this._safeCreateAndCacheServiceInstance(t,_,o.branch(t,!0)):(o.branch(t,!1),_)}_safeCreateAndCacheServiceInstance(t,o,_){if(this._activeInstantiations.has(t))throw new Error(`illegal state - RECURSIVELY instantiating service '${t}'`);this._activeInstantiations.add(t);try{return this._createAndCacheServiceInstance(t,o,_)}finally{this._activeInstantiations.delete(t)}}_createAndCacheServiceInstance(t,o,_){const B=new Gl(Ee=>Ee.id.toString());let q=0;const me=[{id:t,desc:o,_trace:_}];for(;me.length;){const Ee=me.pop();if(B.lookupOrInsertNode(Ee),q++>1e3)throw new Ba(B);for(let et of ps.I8.getServiceDependencies(Ee.desc.ctor)){let ft=this._getServiceInstanceOrDescriptor(et.id);if(!ft&&!et.optional&&console.warn(`[createInstance] ${t} depends on ${et.id} which is NOT registered.`),ft instanceof yo.M){const bt={id:et.id,desc:ft,_trace:Ee._trace.branch(et.id,!0)};B.insertEdge(Ee,bt),me.push(bt)}}}for(;;){const Ee=B.roots();if(Ee.length===0){if(!B.isEmpty())throw new Ba(B);break}for(const{data:et}of Ee){if(this._getServiceInstanceOrDescriptor(et.id)instanceof yo.M){const bt=this._createServiceInstanceWithOwner(et.id,et.desc.ctor,et.desc.staticArguments,et.desc.supportsDelayedInstantiation,et._trace);this._setServiceInstance(et.id,bt)}B.removeNode(et)}}return this._getServiceInstanceOrDescriptor(t)}_createServiceInstanceWithOwner(t,o,_=[],B,q){if(this._services.get(t)instanceof yo.M)return this._createServiceInstance(o,_,B,q);if(this._parent)return this._parent._createServiceInstanceWithOwner(t,o,_,B,q);throw new Error(`illegalState - creating UNKNOWN service instance ${o.name}`)}_createServiceInstance(t,o=[],_,B){if(_){const q=new oi.Ue(()=>this._createInstance(t,o,B));return new Proxy(Object.create(null),{get(me,Ee){if(Ee in me)return me[Ee];let et=q.value,ft=et[Ee];return typeof ft!="function"||(ft=ft.bind(et),me[Ee]=ft),ft},set(me,Ee,et){return q.value[Ee]=et,!0}})}else return this._createInstance(t,o,B)}}class Ds{constructor(t,o){this.type=t,this.name=o,this._start=Date.now(),this._dep=[]}static traceInvocation(t){return Fa?new Ds(1,t.name||t.toString().substring(0,42).replace(/\n/g,"")):Ds._None}static traceCreation(t){return Fa?new Ds(0,t.name):Ds._None}branch(t,o){let _=new Ds(2,t.toString());return this._dep.push([t,o,_]),_}stop(){let t=Date.now()-this._start;Ds._totals+=t;let o=!1;function _(q,me){let Ee=[],et=new Array(q+1).join(" ");for(const[ft,bt,Bt]of me._dep)if(bt&&Bt){o=!0,Ee.push(`${et}CREATES -> ${ft}`);let _i=_(q+1,Bt);_i&&Ee.push(_i)}else Ee.push(`${et}uses -> ${ft}`);return Ee.join(`
`)}let B=[`${this.type===0?"CREATE":"CALL"} ${this.name}`,`${_(1,this)}`,`DONE, took ${t.toFixed(2)}ms (grand total ${Ds._totals.toFixed(2)}ms)`];(t>2||o)&&console.log(B.join(`
`))}}Ds._None=new class extends Ds{constructor(){super(-1,null)}stop(){}branch(){return this}},Ds._totals=0;var Zl=i(6629),ta=i(59168),Bs=i(12145);class Yl{constructor(){this._byResource=new We.Y9,this._byOwner=new Map}set(t,o,_){let B=this._byResource.get(t);B||(B=new Map,this._byResource.set(t,B)),B.set(o,_);let q=this._byOwner.get(o);q||(q=new We.Y9,this._byOwner.set(o,q)),q.set(t,_)}get(t,o){let _=this._byResource.get(t);return _==null?void 0:_.get(o)}delete(t,o){let _=!1,B=!1,q=this._byResource.get(t);q&&(_=q.delete(o));let me=this._byOwner.get(o);if(me&&(B=me.delete(t)),_!==B)throw new Error("illegal state");return _&&B}values(t){var o,_,B,q;return typeof t=="string"?(_=(o=this._byOwner.get(t))===null||o===void 0?void 0:o.values())!==null&&_!==void 0?_:Ot.$.empty():D.o.isUri(t)?(q=(B=this._byResource.get(t))===null||B===void 0?void 0:B.values())!==null&&q!==void 0?q:Ot.$.empty():Ot.$.map(Ot.$.concat(...this._byOwner.values()),me=>me[1])}}class Ql{constructor(t){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new We.Y9,this._service=t,this._subscription=t.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(t){for(const o of t){const _=this._data.get(o);_&&this._substract(_);const B=this._resourceStats(o);this._add(B),this._data.set(o,B)}}_resourceStats(t){const o={errors:0,warnings:0,infos:0,unknowns:0};if(t.scheme===fe.lg.inMemory||t.scheme===fe.lg.walkThrough||t.scheme===fe.lg.walkThroughSnippet)return o;for(const{severity:_}of this._service.read({resource:t}))_===Bs.ZL.Error?o.errors+=1:_===Bs.ZL.Warning?o.warnings+=1:_===Bs.ZL.Info?o.infos+=1:o.unknowns+=1;return o}_substract(t){this.errors-=t.errors,this.warnings-=t.warnings,this.infos-=t.infos,this.unknowns-=t.unknowns}_add(t){this.errors+=t.errors,this.warnings+=t.warnings,this.infos+=t.infos,this.unknowns+=t.unknowns}}class ho{constructor(){this._onMarkerChanged=new O.D0({delay:0,merge:ho._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new Yl,this._stats=new Ql(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(t,o){for(const _ of o||[])this.changeOne(t,_,[])}changeOne(t,o,_){if((0,pn.XY)(_))this._data.delete(o,t)&&this._onMarkerChanged.fire([o]);else{const B=[];for(const q of _){const me=ho._toMarker(t,o,q);me&&B.push(me)}this._data.set(o,t,B),this._onMarkerChanged.fire([o])}}static _toMarker(t,o,_){let{code:B,severity:q,message:me,source:Ee,startLineNumber:et,startColumn:ft,endLineNumber:bt,endColumn:Bt,relatedInformation:_i,tags:Qi}=_;if(me)return et=et>0?et:1,ft=ft>0?ft:1,bt=bt>=et?bt:et,Bt=Bt>0?Bt:ft,{resource:o,owner:t,code:B,severity:q,message:me,source:Ee,startLineNumber:et,startColumn:ft,endLineNumber:bt,endColumn:Bt,relatedInformation:_i,tags:Qi}}read(t=Object.create(null)){let{owner:o,resource:_,severities:B,take:q}=t;if((!q||q<0)&&(q=-1),o&&_){const me=this._data.get(_,o);if(me){const Ee=[];for(const et of me)if(ho._accept(et,B)){const ft=Ee.push(et);if(q>0&&ft===q)break}return Ee}else return[]}else if(!o&&!_){const me=[];for(let Ee of this._data.values())for(let et of Ee)if(ho._accept(et,B)){const ft=me.push(et);if(q>0&&ft===q)return me}return me}else{const me=this._data.values(_!=null?_:o),Ee=[];for(const et of me)for(const ft of et)if(ho._accept(ft,B)){const bt=Ee.push(ft);if(q>0&&bt===q)return Ee}return Ee}}static _accept(t,o){return o===void 0||(o&t.severity)===t.severity}static _merge(t){const o=new We.Y9;for(let _ of t)for(let B of _)o.set(B,!0);return Array.from(o.keys())}}var Wa=i(19490),Va=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},cr=function(S,t){return function(o,_){t(o,_,S)}};let ia=class{constructor(t){this._commandService=t}createMenu(t,o,_){return new na(t,Object.assign({emitEventsForSubmenuChanges:!1,eventDebounceDelay:50},_),this._commandService,o,this)}};ia=Va([cr(0,W.H)],ia);let na=class Io{constructor(t,o,_,B,q){this._id=t,this._options=o,this._commandService=_,this._contextKeyService=B,this._menuService=q,this._disposables=new ni.SL,this._menuGroups=[],this._contextKeys=new Set,this._build();const me=new oi.pY(()=>{this._build(),this._onDidChange.fire(this)},o.eventDebounceDelay);this._disposables.add(me),this._disposables.add(ys.BH.onDidChangeMenu(ft=>{ft.has(t)&&me.schedule()}));const Ee=this._disposables.add(new ni.SL),et=()=>{const ft=new oi.pY(()=>this._onDidChange.fire(this),o.eventDebounceDelay);Ee.add(ft),Ee.add(B.onDidChangeContext(bt=>{bt.affectsSome(this._contextKeys)&&ft.schedule()}))};this._onDidChange=new O.Q5({onFirstListenerAdd:et,onLastListenerRemove:Ee.clear.bind(Ee)}),this.onDidChange=this._onDidChange.event}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}_build(){this._menuGroups.length=0,this._contextKeys.clear();const t=ys.BH.getMenuItems(this._id);let o;t.sort(Io._compareMenuItems);for(const _ of t){const B=_.group||"";(!o||o[0]!==B)&&(o=[B,[]],this._menuGroups.push(o)),o[1].push(_),this._collectContextKeys(_)}}_collectContextKeys(t){if(Io._fillInKbExprKeys(t.when,this._contextKeys),(0,ys.vr)(t)){if(t.command.precondition&&Io._fillInKbExprKeys(t.command.precondition,this._contextKeys),t.command.toggled){const o=t.command.toggled.condition||t.command.toggled;Io._fillInKbExprKeys(o,this._contextKeys)}}else this._options.emitEventsForSubmenuChanges&&ys.BH.getMenuItems(t.submenu).forEach(this._collectContextKeys,this)}getActions(t){const o=[];for(let _ of this._menuGroups){const[B,q]=_,me=[];for(const Ee of q)if(this._contextKeyService.contextMatchesRules(Ee.when)){const et=(0,ys.vr)(Ee)?new ys.U8(Ee.command,Ee.alt,t,this._contextKeyService,this._commandService):new ys.NZ(Ee,this._menuService,this._contextKeyService,t);me.push(et)}me.length>0&&o.push([B,me])}return o}static _fillInKbExprKeys(t,o){if(t)for(let _ of t.keys())o.add(_)}static _compareMenuItems(t,o){let _=t.group,B=o.group;if(_!==B){if(_){if(!B)return-1}else return 1;if(_==="navigation")return-1;if(B==="navigation")return 1;let Ee=_.localeCompare(B);if(Ee!==0)return Ee}let q=t.order||0,me=o.order||0;return q<me?-1:q>me?1:Io._compareTitles((0,ys.vr)(t)?t.command.title:t.title,(0,ys.vr)(o)?o.command.title:o.title)}static _compareTitles(t,o){const _=typeof t=="string"?t:t.original,B=typeof o=="string"?o:o.original;return _.localeCompare(B)}};na=Va([cr(2,W.H),cr(3,_t.i6),cr(4,ys.co)],na);var Xl=i(49178),Jl=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},Ha=function(S,t){return function(o,_){t(o,_,S)}};class ql extends ni.JT{constructor(t){super(),this.model=t,this._markersData=new Map,this._register((0,ni.OF)(()=>{this.model.deltaDecorations([...this._markersData.keys()],[]),this._markersData.clear()}))}update(t,o){const _=[...this._markersData.keys()];this._markersData.clear();const B=this.model.deltaDecorations(_,o);for(let q=0;q<B.length;q++)this._markersData.set(B[q],t[q]);return _.length!==0||B.length!==0}getMarker(t){return this._markersData.get(t.id)}}let sa=class extends ni.JT{constructor(t,o){super(),this._markerService=o,this._onDidChangeMarker=this._register(new O.Q5),this._markerDecorations=new We.Y9,t.getModels().forEach(_=>this._onModelAdded(_)),this._register(t.onModelAdded(this._onModelAdded,this)),this._register(t.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(t=>t.dispose()),this._markerDecorations.clear()}getMarker(t,o){const _=this._markerDecorations.get(t);return _&&_.getMarker(o)||null}_handleMarkerChange(t){t.forEach(o=>{const _=this._markerDecorations.get(o);_&&this._updateDecorations(_)})}_onModelAdded(t){const o=new ql(t);this._markerDecorations.set(t.uri,o),this._updateDecorations(o)}_onModelRemoved(t){const o=this._markerDecorations.get(t.uri);o&&(o.dispose(),this._markerDecorations.delete(t.uri)),(t.uri.scheme===fe.lg.inMemory||t.uri.scheme===fe.lg.internal||t.uri.scheme===fe.lg.vscode)&&this._markerService&&this._markerService.read({resource:t.uri}).map(_=>_.owner).forEach(_=>this._markerService.remove(_,[t.uri]))}_updateDecorations(t){const o=this._markerService.read({resource:t.model.uri,take:500});let _=o.map(B=>({range:this._createDecorationRange(t.model,B),options:this._createDecorationOption(B)}));t.update(o,_)&&this._onDidChangeMarker.fire(t.model)}_createDecorationRange(t,o){let _=I.e.lift(o);return o.severity===Bs.ZL.Hint&&!this._hasMarkerTag(o,1)&&!this._hasMarkerTag(o,2)&&(_=_.setEndPosition(_.startLineNumber,_.startColumn+2)),t.validateRange(_)}_createDecorationOption(t){let o,_,B,q,me;switch(t.severity){case Bs.ZL.Hint:this._hasMarkerTag(t,2)?o=void 0:this._hasMarkerTag(t,1)?o="squiggly-unnecessary":o="squiggly-hint",B=0;break;case Bs.ZL.Warning:o="squiggly-warning",_=(0,Cs.EN)(As.Re),B=20,me={color:(0,Cs.EN)(dn.Iv),position:Xe.F5.Inline};break;case Bs.ZL.Info:o="squiggly-info",_=(0,Cs.EN)(As.eS),B=10;break;case Bs.ZL.Error:default:o="squiggly-error",_=(0,Cs.EN)(As.lK),B=30,me={color:(0,Cs.EN)(dn.Gj),position:Xe.F5.Inline};break}return t.tags&&(t.tags.indexOf(1)!==-1&&(q="squiggly-inline-unnecessary"),t.tags.indexOf(2)!==-1&&(q="squiggly-inline-deprecated")),{description:"marker-decoration",stickiness:1,className:o,showIfCollapsed:!0,overviewRuler:{color:_,position:Xe.sh.Right},minimap:me,zIndex:B,inlineClassName:q}}_hasMarkerTag(t,o){return t.tags?t.tags.indexOf(o)>=0:!1}};sa=Jl([Ha(0,Gn.q),Ha(1,Bs.lT)],sa);var Ua=i(7335),ed=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},za=function(S,t){return function(o,_){t(o,_,S)}};let oa=class extends ni.JT{constructor(t,o){super(),this._contextKeyService=t,this._configurationService=o,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new O.Q5,this._accessibilityModeEnabledContext=xs.U.bindTo(this._contextKeyService);const _=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(B=>{B.affectsConfiguration("editor.accessibilitySupport")&&(_(),this._onDidChangeScreenReaderOptimized.fire())})),_(),this.onDidChangeScreenReaderOptimized(()=>_())}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const t=this._configurationService.getValue("editor.accessibilitySupport");return t==="on"||t==="auto"&&this._accessibilitySupport===2}getAccessibilitySupport(){return this._accessibilitySupport}};oa=ed([za(0,_t.i6),za(1,Hi.Ui)],oa);var ur=function(S,t,o,_){function B(q){return q instanceof o?q:new o(function(me){me(q)})}return new(o||(o=Promise))(function(q,me){function Ee(bt){try{ft(_.next(bt))}catch(Bt){me(Bt)}}function et(bt){try{ft(_.throw(bt))}catch(Bt){me(Bt)}}function ft(bt){bt.done?q(bt.value):B(bt.value).then(Ee,et)}ft((_=_.apply(S,t||[])).next())})};class td{constructor(){this.mapTextToType=new Map,this.findText=""}writeText(t,o){return ur(this,void 0,void 0,function*(){if(o){this.mapTextToType.set(o,t);return}try{return yield navigator.clipboard.writeText(t)}catch(q){console.error(q)}const _=document.activeElement,B=document.body.appendChild((0,ce.$)("textarea",{"aria-hidden":!0}));B.style.height="1px",B.style.width="1px",B.style.position="absolute",B.value=t,B.focus(),B.select(),document.execCommand("copy"),_ instanceof HTMLElement&&_.focus(),document.body.removeChild(B)})}readText(t){return ur(this,void 0,void 0,function*(){if(t)return this.mapTextToType.get(t)||"";try{return yield navigator.clipboard.readText()}catch(o){return console.error(o),""}})}readFindText(){return ur(this,void 0,void 0,function*(){return this.findText})}writeFindText(t){return ur(this,void 0,void 0,function*(){this.findText=t})}}var Ws=i(1085),id=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},Ka=function(S,t){return function(o,_){t(o,_,S)}},hr=function(S,t,o,_){function B(q){return q instanceof o?q:new o(function(me){me(q)})}return new(o||(o=Promise))(function(q,me){function Ee(bt){try{ft(_.next(bt))}catch(Bt){me(Bt)}}function et(bt){try{ft(_.throw(bt))}catch(Bt){me(Bt)}}function ft(bt){bt.done?q(bt.value):B(bt.value).then(Ee,et)}ft((_=_.apply(S,t||[])).next())})};const Lo=!1;function fr(S){return S.scheme===fe.lg.file?S.fsPath:S.path}let ja=0;class gr{constructor(t,o,_,B,q,me,Ee){this.id=++ja,this.type=0,this.actual=t,this.label=t.label,this.confirmBeforeUndo=t.confirmBeforeUndo||!1,this.resourceLabel=o,this.strResource=_,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=B,this.groupOrder=q,this.sourceId=me,this.sourceOrder=Ee,this.isValid=!0}setValid(t){this.isValid=t}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class $a{constructor(t,o){this.resourceLabel=t,this.reason=o}}class Ga{constructor(){this.elements=new Map}createMessage(){const t=[],o=[];for(const[,B]of this.elements)(B.reason===0?t:o).push(B.resourceLabel);let _=[];return t.length>0&&_.push(U.N({key:"externalRemoval",comment:["{0} is a list of filenames"]},"The following files have been closed and modified on disk: {0}.",t.join(", "))),o.length>0&&_.push(U.N({key:"noParallelUniverses",comment:["{0} is a list of filenames"]},"The following files have been modified in an incompatible way: {0}.",o.join(", "))),_.join(`
`)}get size(){return this.elements.size}has(t){return this.elements.has(t)}set(t,o){this.elements.set(t,o)}delete(t){return this.elements.delete(t)}}class nd{constructor(t,o,_,B,q,me,Ee){this.id=++ja,this.type=1,this.actual=t,this.label=t.label,this.confirmBeforeUndo=t.confirmBeforeUndo||!1,this.resourceLabels=o,this.strResources=_,this.groupId=B,this.groupOrder=q,this.sourceId=me,this.sourceOrder=Ee,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split=="function"}removeResource(t,o,_){this.removedResources||(this.removedResources=new Ga),this.removedResources.has(o)||this.removedResources.set(o,new $a(t,_))}setValid(t,o,_){_?this.invalidatedResources&&(this.invalidatedResources.delete(o),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new Ga),this.invalidatedResources.has(o)||this.invalidatedResources.set(o,new $a(t,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class Za{constructor(t,o){this.resourceLabel=t,this.strResource=o,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const t of this._past)t.type===1&&t.removeResource(this.resourceLabel,this.strResource,0);for(const t of this._future)t.type===1&&t.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){let t=[];t.push(`* ${this.strResource}:`);for(let o=0;o<this._past.length;o++)t.push(` * [UNDO] ${this._past[o]}`);for(let o=this._future.length-1;o>=0;o--)t.push(` * [REDO] ${this._future[o]}`);return t.join(`
`)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(t,o){t.type===1?t.setValid(this.resourceLabel,this.strResource,o):t.setValid(o)}setElementsValidFlag(t,o){for(const _ of this._past)o(_.actual)&&this._setElementValidFlag(_,t);for(const _ of this._future)o(_.actual)&&this._setElementValidFlag(_,t)}pushElement(t){for(const o of this._future)o.type===1&&o.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(t),this.versionId++}createSnapshot(t){const o=[];for(let _=0,B=this._past.length;_<B;_++)o.push(this._past[_].id);for(let _=this._future.length-1;_>=0;_--)o.push(this._future[_].id);return new Ws.YO(t,o)}restoreSnapshot(t){const o=t.elements.length;let _=!0,B=0,q=-1;for(let Ee=0,et=this._past.length;Ee<et;Ee++,B++){const ft=this._past[Ee];_&&(B>=o||ft.id!==t.elements[B])&&(_=!1,q=0),!_&&ft.type===1&&ft.removeResource(this.resourceLabel,this.strResource,0)}let me=-1;for(let Ee=this._future.length-1;Ee>=0;Ee--,B++){const et=this._future[Ee];_&&(B>=o||et.id!==t.elements[B])&&(_=!1,me=Ee),!_&&et.type===1&&et.removeResource(this.resourceLabel,this.strResource,0)}q!==-1&&(this._past=this._past.slice(0,q)),me!==-1&&(this._future=this._future.slice(me+1)),this.versionId++}getElements(){const t=[],o=[];for(const _ of this._past)t.push(_.actual);for(const _ of this._future)o.push(_.actual);return{past:t,future:o}}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(t,o){for(let _=this._past.length-1;_>=0;_--)if(this._past[_]===t){o.has(this.strResource)?this._past[_]=o.get(this.strResource):this._past.splice(_,1);break}this.versionId++}splitFutureWorkspaceElement(t,o){for(let _=this._future.length-1;_>=0;_--)if(this._future[_]===t){o.has(this.strResource)?this._future[_]=o.get(this.strResource):this._future.splice(_,1);break}this.versionId++}moveBackward(t){this._past.pop(),this._future.push(t),this.versionId++}moveForward(t){this._future.pop(),this._past.push(t),this.versionId++}}class ra{constructor(t){this.editStacks=t,this._versionIds=[];for(let o=0,_=this.editStacks.length;o<_;o++)this._versionIds[o]=this.editStacks[o].versionId}isValid(){for(let t=0,o=this.editStacks.length;t<o;t++)if(this._versionIds[t]!==this.editStacks[t].versionId)return!1;return!0}}const Ya=new Za("","");Ya.locked=!0;let mr=class{constructor(t,o){this._dialogService=t,this._notificationService=o,this._editStacks=new Map,this._uriComparisonKeyComputers=[]}getUriComparisonKey(t){for(const o of this._uriComparisonKeyComputers)if(o[0]===t.scheme)return o[1].getComparisonKey(t);return t.toString()}_print(t){console.log("------------------------------------"),console.log(`AFTER ${t}: `);let o=[];for(const _ of this._editStacks)o.push(_[1].toString());console.log(o.join(`
`))}pushElement(t,o=Ws.Xt.None,_=Ws.gJ.None){if(t.type===0){const B=fr(t.resource),q=this.getUriComparisonKey(t.resource);this._pushElement(new gr(t,B,q,o.id,o.nextOrder(),_.id,_.nextOrder()))}else{const B=new Set,q=[],me=[];for(const Ee of t.resources){const et=fr(Ee),ft=this.getUriComparisonKey(Ee);B.has(ft)||(B.add(ft),q.push(et),me.push(ft))}q.length===1?this._pushElement(new gr(t,q[0],me[0],o.id,o.nextOrder(),_.id,_.nextOrder())):this._pushElement(new nd(t,q,me,o.id,o.nextOrder(),_.id,_.nextOrder()))}Lo&&this._print("pushElement")}_pushElement(t){for(let o=0,_=t.strResources.length;o<_;o++){const B=t.resourceLabels[o],q=t.strResources[o];let me;this._editStacks.has(q)?me=this._editStacks.get(q):(me=new Za(B,q),this._editStacks.set(q,me)),me.pushElement(t)}}getLastElement(t){const o=this.getUriComparisonKey(t);if(this._editStacks.has(o)){const _=this._editStacks.get(o);if(_.hasFutureElements())return null;const B=_.getClosestPastElement();return B?B.actual:null}return null}_splitPastWorkspaceElement(t,o){const _=t.actual.split(),B=new Map;for(const q of _){const me=fr(q.resource),Ee=this.getUriComparisonKey(q.resource),et=new gr(q,me,Ee,0,0,0,0);B.set(et.strResource,et)}for(const q of t.strResources){if(o&&o.has(q))continue;this._editStacks.get(q).splitPastWorkspaceElement(t,B)}}_splitFutureWorkspaceElement(t,o){const _=t.actual.split(),B=new Map;for(const q of _){const me=fr(q.resource),Ee=this.getUriComparisonKey(q.resource),et=new gr(q,me,Ee,0,0,0,0);B.set(et.strResource,et)}for(const q of t.strResources){if(o&&o.has(q))continue;this._editStacks.get(q).splitFutureWorkspaceElement(t,B)}}removeElements(t){const o=typeof t=="string"?t:this.getUriComparisonKey(t);this._editStacks.has(o)&&(this._editStacks.get(o).dispose(),this._editStacks.delete(o)),Lo&&this._print("removeElements")}setElementsValidFlag(t,o,_){const B=this.getUriComparisonKey(t);this._editStacks.has(B)&&this._editStacks.get(B).setElementsValidFlag(o,_),Lo&&this._print("setElementsValidFlag")}createSnapshot(t){const o=this.getUriComparisonKey(t);return this._editStacks.has(o)?this._editStacks.get(o).createSnapshot(t):new Ws.YO(t,[])}restoreSnapshot(t){const o=this.getUriComparisonKey(t.resource);if(this._editStacks.has(o)){const _=this._editStacks.get(o);_.restoreSnapshot(t),!_.hasPastElements()&&!_.hasFutureElements()&&(_.dispose(),this._editStacks.delete(o))}Lo&&this._print("restoreSnapshot")}getElements(t){const o=this.getUriComparisonKey(t);return this._editStacks.has(o)?this._editStacks.get(o).getElements():{past:[],future:[]}}_findClosestUndoElementWithSource(t){if(!t)return[null,null];let o=null,_=null;for(const[B,q]of this._editStacks){const me=q.getClosestPastElement();me&&me.sourceId===t&&(!o||me.sourceOrder>o.sourceOrder)&&(o=me,_=B)}return[o,_]}canUndo(t){if(t instanceof Ws.gJ){const[,_]=this._findClosestUndoElementWithSource(t.id);return!!_}const o=this.getUriComparisonKey(t);return this._editStacks.has(o)?this._editStacks.get(o).hasPastElements():!1}_onError(t,o){(0,hi.dL)(t);for(const _ of o.strResources)this.removeElements(_);this._notificationService.error(t)}_acquireLocks(t){for(const o of t.editStacks)if(o.locked)throw new Error("Cannot acquire edit stack lock");for(const o of t.editStacks)o.locked=!0;return()=>{for(const o of t.editStacks)o.locked=!1}}_safeInvokeWithLocks(t,o,_,B,q){const me=this._acquireLocks(_);let Ee;try{Ee=o()}catch(et){return me(),B.dispose(),this._onError(et,t)}return Ee?Ee.then(()=>(me(),B.dispose(),q()),et=>(me(),B.dispose(),this._onError(et,t))):(me(),B.dispose(),q())}_invokeWorkspacePrepare(t){return hr(this,void 0,void 0,function*(){if(typeof t.actual.prepareUndoRedo=="undefined")return ni.JT.None;const o=t.actual.prepareUndoRedo();return typeof o=="undefined"?ni.JT.None:o})}_invokeResourcePrepare(t,o){if(t.actual.type!==1||typeof t.actual.prepareUndoRedo=="undefined")return o(ni.JT.None);const _=t.actual.prepareUndoRedo();return _?(0,ni.Wf)(_)?o(_):_.then(B=>o(B)):o(ni.JT.None)}_getAffectedEditStacks(t){const o=[];for(const _ of t.strResources)o.push(this._editStacks.get(_)||Ya);return new ra(o)}_tryToSplitAndUndo(t,o,_,B){if(o.canSplit())return this._splitPastWorkspaceElement(o,_),this._notificationService.warn(B),new pr(this._undo(t,0,!0));for(const q of o.strResources)this.removeElements(q);return this._notificationService.warn(B),new pr}_checkWorkspaceUndo(t,o,_,B){if(o.removedResources)return this._tryToSplitAndUndo(t,o,o.removedResources,U.N({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",o.label,o.removedResources.createMessage()));if(B&&o.invalidatedResources)return this._tryToSplitAndUndo(t,o,o.invalidatedResources,U.N({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",o.label,o.invalidatedResources.createMessage()));const q=[];for(const Ee of _.editStacks)Ee.getClosestPastElement()!==o&&q.push(Ee.resourceLabel);if(q.length>0)return this._tryToSplitAndUndo(t,o,null,U.N({key:"cannotWorkspaceUndoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because changes were made to {1}",o.label,q.join(", ")));const me=[];for(const Ee of _.editStacks)Ee.locked&&me.push(Ee.resourceLabel);return me.length>0?this._tryToSplitAndUndo(t,o,null,U.N({key:"cannotWorkspaceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",o.label,me.join(", "))):_.isValid()?null:this._tryToSplitAndUndo(t,o,null,U.N({key:"cannotWorkspaceUndoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",o.label))}_workspaceUndo(t,o,_){const B=this._getAffectedEditStacks(o),q=this._checkWorkspaceUndo(t,o,B,!1);return q?q.returnValue:this._confirmAndExecuteWorkspaceUndo(t,o,B,_)}_isPartOfUndoGroup(t){if(!t.groupId)return!1;for(const[,o]of this._editStacks){const _=o.getClosestPastElement();if(_){if(_===t){const B=o.getSecondClosestPastElement();if(B&&B.groupId===t.groupId)return!0}if(_.groupId===t.groupId)return!0}}return!1}_confirmAndExecuteWorkspaceUndo(t,o,_,B){return hr(this,void 0,void 0,function*(){if(o.canSplit()&&!this._isPartOfUndoGroup(o)){const Ee=yield this._dialogService.show(os.Z.Info,U.N("confirmWorkspace","Would you like to undo '{0}' across all files?",o.label),[U.N({key:"ok",comment:["{0} denotes a number that is > 1"]},"Undo in {0} Files",_.editStacks.length),U.N("nok","Undo this File"),U.N("cancel","Cancel")],{cancelId:2});if(Ee.choice===2)return;if(Ee.choice===1)return this._splitPastWorkspaceElement(o,null),this._undo(t,0,!0);const et=this._checkWorkspaceUndo(t,o,_,!1);if(et)return et.returnValue;B=!0}let q;try{q=yield this._invokeWorkspacePrepare(o)}catch(Ee){return this._onError(Ee,o)}const me=this._checkWorkspaceUndo(t,o,_,!0);if(me)return q.dispose(),me.returnValue;for(const Ee of _.editStacks)Ee.moveBackward(o);return this._safeInvokeWithLocks(o,()=>o.actual.undo(),_,q,()=>this._continueUndoInGroup(o.groupId,B))})}_resourceUndo(t,o,_){if(!o.isValid){t.flushAllElements();return}if(t.locked){const B=U.N({key:"cannotResourceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not undo '{0}' because there is already an undo or redo operation running.",o.label);this._notificationService.warn(B);return}return this._invokeResourcePrepare(o,B=>(t.moveBackward(o),this._safeInvokeWithLocks(o,()=>o.actual.undo(),new ra([t]),B,()=>this._continueUndoInGroup(o.groupId,_))))}_findClosestUndoElementInGroup(t){if(!t)return[null,null];let o=null,_=null;for(const[B,q]of this._editStacks){const me=q.getClosestPastElement();me&&me.groupId===t&&(!o||me.groupOrder>o.groupOrder)&&(o=me,_=B)}return[o,_]}_continueUndoInGroup(t,o){if(!t)return;const[,_]=this._findClosestUndoElementInGroup(t);if(_)return this._undo(_,0,o)}undo(t){if(t instanceof Ws.gJ){const[,o]=this._findClosestUndoElementWithSource(t.id);return o?this._undo(o,t.id,!1):void 0}return typeof t=="string"?this._undo(t,0,!1):this._undo(this.getUriComparisonKey(t),0,!1)}_undo(t,o=0,_){if(!this._editStacks.has(t))return;const B=this._editStacks.get(t),q=B.getClosestPastElement();if(!q)return;if(q.groupId){const[Ee,et]=this._findClosestUndoElementInGroup(q.groupId);if(q!==Ee&&et)return this._undo(et,o,_)}if((q.sourceId!==o||q.confirmBeforeUndo)&&!_)return this._confirmAndContinueUndo(t,o,q);try{return q.type===1?this._workspaceUndo(t,q,_):this._resourceUndo(B,q,_)}finally{Lo&&this._print("undo")}}_confirmAndContinueUndo(t,o,_){return hr(this,void 0,void 0,function*(){if((yield this._dialogService.show(os.Z.Info,U.N("confirmDifferentSource","Would you like to undo '{0}'?",_.label),[U.N("confirmDifferentSource.yes","Yes"),U.N("cancel","Cancel")],{cancelId:1})).choice!==1)return this._undo(t,o,!0)})}_findClosestRedoElementWithSource(t){if(!t)return[null,null];let o=null,_=null;for(const[B,q]of this._editStacks){const me=q.getClosestFutureElement();me&&me.sourceId===t&&(!o||me.sourceOrder<o.sourceOrder)&&(o=me,_=B)}return[o,_]}canRedo(t){if(t instanceof Ws.gJ){const[,_]=this._findClosestRedoElementWithSource(t.id);return!!_}const o=this.getUriComparisonKey(t);return this._editStacks.has(o)?this._editStacks.get(o).hasFutureElements():!1}_tryToSplitAndRedo(t,o,_,B){if(o.canSplit())return this._splitFutureWorkspaceElement(o,_),this._notificationService.warn(B),new pr(this._redo(t));for(const q of o.strResources)this.removeElements(q);return this._notificationService.warn(B),new pr}_checkWorkspaceRedo(t,o,_,B){if(o.removedResources)return this._tryToSplitAndRedo(t,o,o.removedResources,U.N({key:"cannotWorkspaceRedo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not redo '{0}' across all files. {1}",o.label,o.removedResources.createMessage()));if(B&&o.invalidatedResources)return this._tryToSplitAndRedo(t,o,o.invalidatedResources,U.N({key:"cannotWorkspaceRedo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not redo '{0}' across all files. {1}",o.label,o.invalidatedResources.createMessage()));const q=[];for(const Ee of _.editStacks)Ee.getClosestFutureElement()!==o&&q.push(Ee.resourceLabel);if(q.length>0)return this._tryToSplitAndRedo(t,o,null,U.N({key:"cannotWorkspaceRedoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because changes were made to {1}",o.label,q.join(", ")));const me=[];for(const Ee of _.editStacks)Ee.locked&&me.push(Ee.resourceLabel);return me.length>0?this._tryToSplitAndRedo(t,o,null,U.N({key:"cannotWorkspaceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",o.label,me.join(", "))):_.isValid()?null:this._tryToSplitAndRedo(t,o,null,U.N({key:"cannotWorkspaceRedoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",o.label))}_workspaceRedo(t,o){const _=this._getAffectedEditStacks(o),B=this._checkWorkspaceRedo(t,o,_,!1);return B?B.returnValue:this._executeWorkspaceRedo(t,o,_)}_executeWorkspaceRedo(t,o,_){return hr(this,void 0,void 0,function*(){let B;try{B=yield this._invokeWorkspacePrepare(o)}catch(me){return this._onError(me,o)}const q=this._checkWorkspaceRedo(t,o,_,!0);if(q)return B.dispose(),q.returnValue;for(const me of _.editStacks)me.moveForward(o);return this._safeInvokeWithLocks(o,()=>o.actual.redo(),_,B,()=>this._continueRedoInGroup(o.groupId))})}_resourceRedo(t,o){if(!o.isValid){t.flushAllElements();return}if(t.locked){const _=U.N({key:"cannotResourceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not redo '{0}' because there is already an undo or redo operation running.",o.label);this._notificationService.warn(_);return}return this._invokeResourcePrepare(o,_=>(t.moveForward(o),this._safeInvokeWithLocks(o,()=>o.actual.redo(),new ra([t]),_,()=>this._continueRedoInGroup(o.groupId))))}_findClosestRedoElementInGroup(t){if(!t)return[null,null];let o=null,_=null;for(const[B,q]of this._editStacks){const me=q.getClosestFutureElement();me&&me.groupId===t&&(!o||me.groupOrder<o.groupOrder)&&(o=me,_=B)}return[o,_]}_continueRedoInGroup(t){if(!t)return;const[,o]=this._findClosestRedoElementInGroup(t);if(o)return this._redo(o)}redo(t){if(t instanceof Ws.gJ){const[,o]=this._findClosestRedoElementWithSource(t.id);return o?this._redo(o):void 0}return typeof t=="string"?this._redo(t):this._redo(this.getUriComparisonKey(t))}_redo(t){if(!this._editStacks.has(t))return;const o=this._editStacks.get(t),_=o.getClosestFutureElement();if(_){if(_.groupId){const[B,q]=this._findClosestRedoElementInGroup(_.groupId);if(_!==B&&q)return this._redo(q)}try{return _.type===1?this._workspaceRedo(t,_):this._resourceRedo(o,_)}finally{Lo&&this._print("redo")}}}};mr=id([Ka(0,ka.S),Ka(1,Ii.lT)],mr);class pr{constructor(t){this.returnValue=t}}(0,Ua.z)(Ws.tJ,mr);var sd=i(4514),Qa=i(67069);const od={buttonBackground:Fs.Il.fromHex("#0E639C"),buttonHoverBackground:Fs.Il.fromHex("#006BB3"),buttonForeground:Fs.Il.white};class Xa extends ni.JT{constructor(t,o){super(),this._onDidClick=this._register(new O.Q5),this.options=o||Object.create(null),(0,vn.jB)(this.options,od,!1),this.buttonForeground=this.options.buttonForeground,this.buttonBackground=this.options.buttonBackground,this.buttonHoverBackground=this.options.buttonHoverBackground,this.buttonSecondaryForeground=this.options.buttonSecondaryForeground,this.buttonSecondaryBackground=this.options.buttonSecondaryBackground,this.buttonSecondaryHoverBackground=this.options.buttonSecondaryHoverBackground,this.buttonBorder=this.options.buttonBorder,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),t.appendChild(this._element),this._register(Qn.o.addTarget(this._element)),[ce.tw.CLICK,Qn.t.Tap].forEach(_=>{this._register((0,ce.nm)(this._element,_,B=>{if(!this.enabled){ce.zB.stop(B);return}this._onDidClick.fire(B)}))}),this._register((0,ce.nm)(this._element,ce.tw.KEY_DOWN,_=>{const B=new cs.y(_);let q=!1;this.enabled&&(B.equals(3)||B.equals(10))?(this._onDidClick.fire(_),q=!0):B.equals(9)&&(this._element.blur(),q=!0),q&&ce.zB.stop(B,!0)})),this._register((0,ce.nm)(this._element,ce.tw.MOUSE_OVER,_=>{this._element.classList.contains("disabled")||this.setHoverBackground()})),this._register((0,ce.nm)(this._element,ce.tw.MOUSE_OUT,_=>{this.applyStyles()})),this.focusTracker=this._register((0,ce.go)(this._element)),this._register(this.focusTracker.onDidFocus(()=>this.setHoverBackground())),this._register(this.focusTracker.onDidBlur(()=>this.applyStyles())),this.applyStyles()}get onDidClick(){return this._onDidClick.event}setHoverBackground(){let t;this.options.secondary?t=this.buttonSecondaryHoverBackground?this.buttonSecondaryHoverBackground.toString():null:t=this.buttonHoverBackground?this.buttonHoverBackground.toString():null,t&&(this._element.style.backgroundColor=t)}style(t){this.buttonForeground=t.buttonForeground,this.buttonBackground=t.buttonBackground,this.buttonHoverBackground=t.buttonHoverBackground,this.buttonSecondaryForeground=t.buttonSecondaryForeground,this.buttonSecondaryBackground=t.buttonSecondaryBackground,this.buttonSecondaryHoverBackground=t.buttonSecondaryHoverBackground,this.buttonBorder=t.buttonBorder,this.applyStyles()}applyStyles(){if(this._element){let t,o;this.options.secondary?(o=this.buttonSecondaryForeground?this.buttonSecondaryForeground.toString():"",t=this.buttonSecondaryBackground?this.buttonSecondaryBackground.toString():""):(o=this.buttonForeground?this.buttonForeground.toString():"",t=this.buttonBackground?this.buttonBackground.toString():"");const _=this.buttonBorder?this.buttonBorder.toString():"";this._element.style.color=o,this._element.style.backgroundColor=t,this._element.style.borderWidth=_?"1px":"",this._element.style.borderStyle=_?"solid":"",this._element.style.borderColor=_}}get element(){return this._element}set label(t){this._element.classList.add("monaco-text-button"),this.options.supportIcons?(0,ce.mc)(this._element,...(0,Qa.T)(t)):this._element.textContent=t,typeof this.options.title=="string"?this._element.title=this.options.title:this.options.title&&(this._element.title=t)}set enabled(t){t?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}}var Ja=i(24597);const qa="done",el="active",aa="infinite",tl="discrete",rd={progressBarBackground:Fs.Il.fromHex("#0E70C0")};class ad extends ni.JT{constructor(t,o){super(),this.options=o||Object.create(null),(0,vn.jB)(this.options,rd,!1),this.workedVal=0,this.progressBarBackground=this.options.progressBarBackground,this._register(this.showDelayedScheduler=new oi.pY(()=>(0,ce.$Z)(this.element),0)),this.create(t)}create(t){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),t.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.element.appendChild(this.bit),this.applyStyles()}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(el,aa,tl),this.workedVal=0,this.totalWork=void 0}stop(){return this.doDone(!1)}doDone(t){return this.element.classList.add(qa),this.element.classList.contains(aa)?(this.bit.style.opacity="0",t?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width="inherit",t?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(tl,qa),this.element.classList.add(el,aa),this}getContainer(){return this.element}style(t){this.progressBarBackground=t.progressBarBackground,this.applyStyles()}applyStyles(){if(this.bit){const t=this.progressBarBackground?this.progressBarBackground.toString():"";this.bit.style.backgroundColor=t}}}var ld=i(85035);const la={},dd=new ld.R("quick-input-button-icon-");function da(S){if(!S)return;let t;const o=S.dark.toString();return la[o]?t=la[o]:(t=dd.nextId(),ce.fk(`.${t}`,`background-image: ${ce.wY(S.light||S.dark)}`),ce.fk(`.vs-dark .${t}, .hc-black .${t}`,`background-image: ${ce.wY(S.dark)}`),la[o]=t),t}var Ms=i(29711),cd=i(50700);const ud=ce.$;class hd extends ni.JT{constructor(t){super(),this.parent=t,this.onKeyDown=o=>ce.nm(this.inputBox.inputElement,ce.tw.KEY_DOWN,_=>{o(new cs.y(_))}),this.onMouseDown=o=>ce.nm(this.inputBox.inputElement,ce.tw.MOUSE_DOWN,_=>{o(new Kn.n(_))}),this.onDidChange=o=>this.inputBox.onDidChange(o),this.container=ce.R3(this.parent,ud(".quick-input-box")),this.inputBox=this._register(new cd.W(this.container,void 0))}get value(){return this.inputBox.value}set value(t){this.inputBox.value=t}select(t=null){this.inputBox.select(t)}isSelectionAtEnd(){return this.inputBox.isSelectionAtEnd()}get placeholder(){return this.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(t){this.inputBox.setPlaceHolder(t)}get ariaLabel(){return this.inputBox.getAriaLabel()}set ariaLabel(t){this.inputBox.setAriaLabel(t)}get password(){return this.inputBox.inputElement.type==="password"}set password(t){this.inputBox.inputElement.type=t?"password":"text"}setAttribute(t,o){this.inputBox.inputElement.setAttribute(t,o)}removeAttribute(t){this.inputBox.inputElement.removeAttribute(t)}showDecoration(t){t===os.Z.Ignore?this.inputBox.hideMessage():this.inputBox.showMessage({type:t===os.Z.Info?1:t===os.Z.Warning?2:3,content:""})}stylesForType(t){return this.inputBox.stylesForType(t===os.Z.Info?1:t===os.Z.Warning?2:3)}setFocus(){this.inputBox.focus()}layout(){this.inputBox.layout()}style(t){this.inputBox.style(t)}}var fd=i(48949),gd=i(78032);const _r=ce.$;class ca{constructor(t,o,_){this.os=o,this.keyElements=new Set,this.options=_||Object.create(null),this.labelBackground=this.options.keybindingLabelBackground,this.labelForeground=this.options.keybindingLabelForeground,this.labelBorder=this.options.keybindingLabelBorder,this.labelBottomBorder=this.options.keybindingLabelBottomBorder,this.labelShadow=this.options.keybindingLabelShadow,this.domNode=ce.R3(t,_r(".monaco-keybinding")),this.didEverRender=!1,t.appendChild(this.domNode)}get element(){return this.domNode}set(t,o){this.didEverRender&&this.keybinding===t&&ca.areSame(this.matches,o)||(this.keybinding=t,this.matches=o,this.render())}render(){if(this.clear(),this.keybinding){let[t,o]=this.keybinding.getParts();t&&this.renderPart(this.domNode,t,this.matches?this.matches.firstPart:null),o&&(ce.R3(this.domNode,_r("span.monaco-keybinding-key-chord-separator",void 0," ")),this.renderPart(this.domNode,o,this.matches?this.matches.chordPart:null)),this.domNode.title=this.keybinding.getAriaLabel()||""}else this.options&&this.options.renderUnboundKeybindings&&this.renderUnbound(this.domNode);this.applyStyles(),this.didEverRender=!0}clear(){ce.PO(this.domNode),this.keyElements.clear()}renderPart(t,o,_){const B=ci.xo.modifierLabels[this.os];o.ctrlKey&&this.renderKey(t,B.ctrlKey,!!(_!=null&&_.ctrlKey),B.separator),o.shiftKey&&this.renderKey(t,B.shiftKey,!!(_!=null&&_.shiftKey),B.separator),o.altKey&&this.renderKey(t,B.altKey,!!(_!=null&&_.altKey),B.separator),o.metaKey&&this.renderKey(t,B.metaKey,!!(_!=null&&_.metaKey),B.separator);const q=o.keyLabel;q&&this.renderKey(t,q,!!(_!=null&&_.keyCode),"")}renderKey(t,o,_,B){ce.R3(t,this.createKeyElement(o,_?".highlight":"")),B&&ce.R3(t,_r("span.monaco-keybinding-key-separator",void 0,B))}renderUnbound(t){ce.R3(t,this.createKeyElement((0,U.N)("unbound","Unbound")))}createKeyElement(t,o=""){const _=_r("span.monaco-keybinding-key"+o,void 0,t);return this.keyElements.add(_),_}style(t){this.labelBackground=t.keybindingLabelBackground,this.labelForeground=t.keybindingLabelForeground,this.labelBorder=t.keybindingLabelBorder,this.labelBottomBorder=t.keybindingLabelBottomBorder,this.labelShadow=t.keybindingLabelShadow,this.applyStyles()}applyStyles(){var t;if(this.element){for(const o of this.keyElements)this.labelBackground&&(o.style.backgroundColor=(t=this.labelBackground)===null||t===void 0?void 0:t.toString()),this.labelBorder&&(o.style.borderColor=this.labelBorder.toString()),this.labelBottomBorder&&(o.style.borderBottomColor=this.labelBottomBorder.toString()),this.labelShadow&&(o.style.boxShadow=`inset 0 -1px 0 ${this.labelShadow}`);this.labelForeground&&(this.element.style.color=this.labelForeground.toString())}}static areSame(t,o){return t===o||!t&&!o?!0:!!t&&!!o&&(0,vn.fS)(t.firstPart,o.firstPart)&&(0,vn.fS)(t.chordPart,o.chordPart)}}const il=new oi.Ue(()=>{const S=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:S,collatorIsNumeric:S.resolvedOptions().numeric}});function md(S,t,o=!1){const _=S||"",B=t||"",q=il.value.collator.compare(_,B);return il.value.collatorIsNumeric&&q===0&&_!==B?_<B?-1:1:q}function pd(S,t,o){const _=S.toLowerCase(),B=t.toLowerCase(),q=_d(S,t,o);if(q)return q;const me=_.endsWith(o),Ee=B.endsWith(o);if(me!==Ee)return me?-1:1;const et=md(_,B);return et!==0?et:_.localeCompare(B)}function _d(S,t,o){const _=S.toLowerCase(),B=t.toLowerCase(),q=_.startsWith(o),me=B.startsWith(o);if(q!==me)return q?-1:1;if(q&&me){if(_.length<B.length)return-1;if(_.length>B.length)return 1}return 0}var nl=i(85402),sl=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},vd=function(S,t,o,_){function B(q){return q instanceof o?q:new o(function(me){me(q)})}return new(o||(o=Promise))(function(q,me){function Ee(bt){try{ft(_.next(bt))}catch(Bt){me(Bt)}}function et(bt){try{ft(_.throw(bt))}catch(Bt){me(Bt)}}function ft(bt){bt.done?q(bt.value):B(bt.value).then(Ee,et)}ft((_=_.apply(S,t||[])).next())})};const Vs=ce.$;class Cd{constructor(t){this.hidden=!1,this._onChecked=new O.Q5,this.onChecked=this._onChecked.event,Object.assign(this,t)}get checked(){return!!this._checked}set checked(t){t!==this._checked&&(this._checked=t,this._onChecked.fire(t))}dispose(){this._onChecked.dispose()}}class Go{get templateId(){return Go.ID}renderTemplate(t){const o=Object.create(null);o.toDisposeElement=[],o.toDisposeTemplate=[],o.entry=ce.R3(t,Vs(".quick-input-list-entry"));const _=ce.R3(o.entry,Vs("label.quick-input-list-label"));o.toDisposeTemplate.push(ce.mu(_,ce.tw.CLICK,ft=>{o.checkbox.offsetParent||ft.preventDefault()})),o.checkbox=ce.R3(_,Vs("input.quick-input-list-checkbox")),o.checkbox.type="checkbox",o.toDisposeTemplate.push(ce.mu(o.checkbox,ce.tw.CHANGE,ft=>{o.element.checked=o.checkbox.checked}));const B=ce.R3(_,Vs(".quick-input-list-rows")),q=ce.R3(B,Vs(".quick-input-list-row")),me=ce.R3(B,Vs(".quick-input-list-row"));o.label=new gd.g(q,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0});const Ee=ce.R3(q,Vs(".quick-input-list-entry-keybinding"));o.keybinding=new ca(Ee,Di.OS);const et=ce.R3(me,Vs(".quick-input-list-label-meta"));return o.detail=new fd.q(et,!0),o.separator=ce.R3(o.entry,Vs(".quick-input-list-separator")),o.actionBar=new wn.o(o.entry),o.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),o.toDisposeTemplate.push(o.actionBar),o}renderElement(t,o,_){_.toDisposeElement=(0,ni.B9)(_.toDisposeElement),_.element=t,_.checkbox.checked=t.checked,_.toDisposeElement.push(t.onChecked(ft=>_.checkbox.checked=ft));const{labelHighlights:B,descriptionHighlights:q,detailHighlights:me}=t,Ee=Object.create(null);Ee.matches=B||[],Ee.descriptionTitle=t.saneDescription,Ee.descriptionMatches=q||[],Ee.extraClasses=t.item.iconClasses,Ee.italic=t.item.italic,Ee.strikethrough=t.item.strikethrough,_.label.setLabel(t.saneLabel,t.saneDescription,Ee),_.keybinding.set(t.item.keybinding),_.detail.set(t.saneDetail,me),t.separator&&t.separator.label?(_.separator.textContent=t.separator.label,_.separator.style.display=""):_.separator.style.display="none",_.entry.classList.toggle("quick-input-list-separator-border",!!t.separator),_.actionBar.clear();const et=t.item.buttons;et&&et.length?(_.actionBar.push(et.map((ft,bt)=>{let Bt=ft.iconClass||(ft.iconPath?da(ft.iconPath):void 0);ft.alwaysVisible&&(Bt=Bt?`${Bt} always-visible`:"always-visible");const _i=new qs.aU(`id-${bt}`,"",Bt,!0,()=>vd(this,void 0,void 0,function*(){t.fireButtonTriggered({button:ft,item:t.item})}));return _i.tooltip=ft.tooltip||"",_i}),{icon:!0,label:!1}),_.entry.classList.add("has-actions")):_.entry.classList.remove("has-actions")}disposeElement(t,o,_){_.toDisposeElement=(0,ni.B9)(_.toDisposeElement)}disposeTemplate(t){t.toDisposeElement=(0,ni.B9)(t.toDisposeElement),t.toDisposeTemplate=(0,ni.B9)(t.toDisposeTemplate)}}Go.ID="listelement";class bd{getHeight(t){return t.saneDetail?44:22}getTemplateId(t){return Go.ID}}var Xn;(function(S){S[S.First=1]="First",S[S.Second=2]="Second",S[S.Last=3]="Last",S[S.Next=4]="Next",S[S.Previous=5]="Previous",S[S.NextPage=6]="NextPage",S[S.PreviousPage=7]="PreviousPage"})(Xn||(Xn={}));class ua{constructor(t,o,_){this.parent=t,this.inputElements=[],this.elements=[],this.elementsToIndexes=new Map,this.matchOnDescription=!1,this.matchOnDetail=!1,this.matchOnLabel=!0,this.matchOnMeta=!0,this.sortByLabel=!0,this._onChangedAllVisibleChecked=new O.Q5,this.onChangedAllVisibleChecked=this._onChangedAllVisibleChecked.event,this._onChangedCheckedCount=new O.Q5,this.onChangedCheckedCount=this._onChangedCheckedCount.event,this._onChangedVisibleCount=new O.Q5,this.onChangedVisibleCount=this._onChangedVisibleCount.event,this._onChangedCheckedElements=new O.Q5,this.onChangedCheckedElements=this._onChangedCheckedElements.event,this._onButtonTriggered=new O.Q5,this.onButtonTriggered=this._onButtonTriggered.event,this._onKeyDown=new O.Q5,this.onKeyDown=this._onKeyDown.event,this._onLeave=new O.Q5,this.onLeave=this._onLeave.event,this._fireCheckedEvents=!0,this.elementDisposables=[],this.disposables=[],this.id=o,this.container=ce.R3(this.parent,Vs(".quick-input-list"));const B=new bd,q=new wd;this.list=_.createList("QuickInput",this.container,B,[new Go],{identityProvider:{getId:me=>me.saneLabel},setRowLineHeight:!1,multipleSelectionSupport:!1,horizontalScrolling:!1,accessibilityProvider:q}),this.list.getHTMLElement().id=o,this.disposables.push(this.list),this.disposables.push(this.list.onKeyDown(me=>{const Ee=new cs.y(me);switch(Ee.keyCode){case 10:this.toggleCheckbox();break;case 31:(Di.dz?me.metaKey:me.ctrlKey)&&this.list.setFocus((0,pn.w6)(this.list.length));break;case 16:const et=this.list.getFocus();et.length===1&&et[0]===0&&this._onLeave.fire();break;case 18:const ft=this.list.getFocus();ft.length===1&&ft[0]===this.list.length-1&&this._onLeave.fire();break}this._onKeyDown.fire(Ee)})),this.disposables.push(this.list.onMouseDown(me=>{me.browserEvent.button!==2&&me.browserEvent.preventDefault()})),this.disposables.push(ce.nm(this.container,ce.tw.CLICK,me=>{(me.x||me.y)&&this._onLeave.fire()})),this.disposables.push(this.list.onMouseMiddleClick(me=>{this._onLeave.fire()})),this.disposables.push(this.list.onContextMenu(me=>{typeof me.index=="number"&&(me.browserEvent.preventDefault(),this.list.setSelection([me.index]))})),this.disposables.push(this._onChangedAllVisibleChecked,this._onChangedCheckedCount,this._onChangedVisibleCount,this._onChangedCheckedElements,this._onButtonTriggered,this._onLeave,this._onKeyDown)}get onDidChangeFocus(){return O.ju.map(this.list.onDidChangeFocus,t=>t.elements.map(o=>o.item))}get onDidChangeSelection(){return O.ju.map(this.list.onDidChangeSelection,t=>({items:t.elements.map(o=>o.item),event:t.browserEvent}))}get scrollTop(){return this.list.scrollTop}set scrollTop(t){this.list.scrollTop=t}getAllVisibleChecked(){return this.allVisibleChecked(this.elements,!1)}allVisibleChecked(t,o=!0){for(let _=0,B=t.length;_<B;_++){const q=t[_];if(!q.hidden)if(q.checked)o=!0;else return!1}return o}getCheckedCount(){let t=0;const o=this.elements;for(let _=0,B=o.length;_<B;_++)o[_].checked&&t++;return t}getVisibleCount(){let t=0;const o=this.elements;for(let _=0,B=o.length;_<B;_++)o[_].hidden||t++;return t}setAllVisibleChecked(t){try{this._fireCheckedEvents=!1,this.elements.forEach(o=>{o.hidden||(o.checked=t)})}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}setElements(t){this.elementDisposables=(0,ni.B9)(this.elementDisposables);const o=_=>this.fireButtonTriggered(_);this.inputElements=t,this.elements=t.reduce((_,B,q)=>{var me,Ee,et;if(B.type!=="separator"){const ft=q&&t[q-1],bt=B.label&&B.label.replace(/\r?\n/g," "),Bt=B.meta&&B.meta.replace(/\r?\n/g," "),_i=B.description&&B.description.replace(/\r?\n/g," "),Qi=B.detail&&B.detail.replace(/\r?\n/g," "),$i=B.ariaLabel||[bt,_i,Qi].map(cn=>(0,co.JL)(cn)).filter(cn=>!!cn).join(", ");_.push(new Cd({index:q,item:B,saneLabel:bt,saneMeta:Bt,saneAriaLabel:$i,saneDescription:_i,saneDetail:Qi,labelHighlights:(me=B.highlights)===null||me===void 0?void 0:me.label,descriptionHighlights:(Ee=B.highlights)===null||Ee===void 0?void 0:Ee.description,detailHighlights:(et=B.highlights)===null||et===void 0?void 0:et.detail,checked:!1,separator:ft&&ft.type==="separator"?ft:void 0,fireButtonTriggered:o}))}return _},[]),this.elementDisposables.push(...this.elements),this.elementDisposables.push(...this.elements.map(_=>_.onChecked(()=>this.fireCheckedEvents()))),this.elementsToIndexes=this.elements.reduce((_,B,q)=>(_.set(B.item,q),_),new Map),this.list.splice(0,this.list.length),this.list.splice(0,this.list.length,this.elements),this._onChangedVisibleCount.fire(this.elements.length)}getFocusedElements(){return this.list.getFocusedElements().map(t=>t.item)}setFocusedElements(t){if(this.list.setFocus(t.filter(o=>this.elementsToIndexes.has(o)).map(o=>this.elementsToIndexes.get(o))),t.length>0){const o=this.list.getFocus()[0];typeof o=="number"&&this.list.reveal(o)}}getActiveDescendant(){return this.list.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(t){this.list.setSelection(t.filter(o=>this.elementsToIndexes.has(o)).map(o=>this.elementsToIndexes.get(o)))}getCheckedElements(){return this.elements.filter(t=>t.checked).map(t=>t.item)}setCheckedElements(t){try{this._fireCheckedEvents=!1;const o=new Set;for(const _ of t)o.add(_);for(const _ of this.elements)_.checked=o.has(_.item)}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}set enabled(t){this.list.getHTMLElement().style.pointerEvents=t?"":"none"}focus(t){if(!this.list.length)return;switch(t===Xn.Next&&this.list.getFocus()[0]===this.list.length-1&&(t=Xn.First),t===Xn.Previous&&this.list.getFocus()[0]===0&&(t=Xn.Last),t===Xn.Second&&this.list.length<2&&(t=Xn.First),t){case Xn.First:this.list.focusFirst();break;case Xn.Second:this.list.focusNth(1);break;case Xn.Last:this.list.focusLast();break;case Xn.Next:this.list.focusNext();break;case Xn.Previous:this.list.focusPrevious();break;case Xn.NextPage:this.list.focusNextPage();break;case Xn.PreviousPage:this.list.focusPreviousPage();break}const o=this.list.getFocus()[0];typeof o=="number"&&this.list.reveal(o)}clearFocus(){this.list.setFocus([])}domFocus(){this.list.domFocus()}layout(t){this.list.getHTMLElement().style.maxHeight=t?`calc(${Math.floor(t/44)*44}px)`:"",this.list.layout()}filter(t){if(!(this.sortByLabel||this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))return this.list.layout(),!1;if(t=t.trim(),!t||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this.elements.forEach(_=>{_.labelHighlights=void 0,_.descriptionHighlights=void 0,_.detailHighlights=void 0,_.hidden=!1;const B=_.index&&this.inputElements[_.index-1];_.separator=B&&B.type==="separator"?B:void 0});else{let _;this.elements.forEach(B=>{const q=this.matchOnLabel?(0,Ti.f6)((0,$s.Gt)(t,(0,$s.Ho)(B.saneLabel))):void 0,me=this.matchOnDescription?(0,Ti.f6)((0,$s.Gt)(t,(0,$s.Ho)(B.saneDescription||""))):void 0,Ee=this.matchOnDetail?(0,Ti.f6)((0,$s.Gt)(t,(0,$s.Ho)(B.saneDetail||""))):void 0,et=this.matchOnMeta?(0,Ti.f6)((0,$s.Gt)(t,(0,$s.Ho)(B.saneMeta||""))):void 0;if(q||me||Ee||et?(B.labelHighlights=q,B.descriptionHighlights=me,B.detailHighlights=Ee,B.hidden=!1):(B.labelHighlights=void 0,B.descriptionHighlights=void 0,B.detailHighlights=void 0,B.hidden=!B.item.alwaysShow),B.separator=void 0,!this.sortByLabel){const ft=B.index&&this.inputElements[B.index-1];_=ft&&ft.type==="separator"?ft:_,_&&!B.hidden&&(B.separator=_,_=void 0)}})}const o=this.elements.filter(_=>!_.hidden);if(this.sortByLabel&&t){const _=t.toLowerCase();o.sort((B,q)=>Sd(B,q,_))}return this.elementsToIndexes=o.reduce((_,B,q)=>(_.set(B.item,q),_),new Map),this.list.splice(0,this.list.length,o),this.list.setFocus([]),this.list.layout(),this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedVisibleCount.fire(o.length),!0}toggleCheckbox(){try{this._fireCheckedEvents=!1;const t=this.list.getFocusedElements(),o=this.allVisibleChecked(t);for(const _ of t)_.checked=!o}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}display(t){this.container.style.display=t?"":"none"}isDisplayed(){return this.container.style.display!=="none"}dispose(){this.elementDisposables=(0,ni.B9)(this.elementDisposables),this.disposables=(0,ni.B9)(this.disposables)}fireCheckedEvents(){this._fireCheckedEvents&&(this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedCheckedCount.fire(this.getCheckedCount()),this._onChangedCheckedElements.fire(this.getCheckedElements()))}fireButtonTriggered(t){this._onButtonTriggered.fire(t)}style(t){this.list.style(t)}}sl([nl.H],ua.prototype,"onDidChangeFocus",null),sl([nl.H],ua.prototype,"onDidChangeSelection",null);function Sd(S,t,o){const _=S.labelHighlights||[],B=t.labelHighlights||[];return _.length&&!B.length?-1:!_.length&&B.length?1:_.length===0&&B.length===0?0:pd(S.saneLabel,t.saneLabel,o)}class wd{getWidgetAriaLabel(){return(0,U.N)("quickInput","Quick Input")}getAriaLabel(t){return t.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(){return"option"}}var ol=function(S,t,o,_){function B(q){return q instanceof o?q:new o(function(me){me(q)})}return new(o||(o=Promise))(function(q,me){function Ee(bt){try{ft(_.next(bt))}catch(Bt){me(Bt)}}function et(bt){try{ft(_.throw(bt))}catch(Bt){me(Bt)}}function ft(bt){bt.done?q(bt.value):B(bt.value).then(Ee,et)}ft((_=_.apply(S,t||[])).next())})};const Es=ce.$,ha={iconClass:(0,co.CM)("quick-input-back",co.lA.arrowLeft).classNames,tooltip:(0,U.N)("quickInput.back","Back"),handle:-1};class vr extends ni.JT{constructor(t){super(),this.ui=t,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._buttons=[],this.noValidationMessage=vr.noPromptMessage,this._severity=os.Z.Ignore,this.buttonsUpdated=!1,this.onDidTriggerButtonEmitter=this._register(new O.Q5),this.onDidHideEmitter=this._register(new O.Q5),this.onDisposeEmitter=this._register(new O.Q5),this.visibleDisposables=this._register(new ni.SL),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(t){this._title=t,this.update()}get description(){return this._description}set description(t){this._description=t,this.update()}get step(){return this._steps}set step(t){this._steps=t,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(t){this._totalSteps=t,this.update()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this.update()}get contextKey(){return this._contextKey}set contextKey(t){this._contextKey=t,this.update()}get busy(){return this._busy}set busy(t){this._busy=t,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(t){const o=this._ignoreFocusOut!==t&&!Di.gn;this._ignoreFocusOut=t&&!Di.gn,o&&this.update()}get buttons(){return this._buttons}set buttons(t){this._buttons=t,this.buttonsUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(t){this._validationMessage=t,this.update()}get severity(){return this._severity}set severity(t){this._severity=t,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(t=>{this.buttons.indexOf(t)!==-1&&this.onDidTriggerButtonEmitter.fire(t)})),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(t=Ms.Jq.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:t})}update(){if(!this.visible)return;const t=this.getTitle();t&&this.ui.title.textContent!==t?this.ui.title.textContent=t:!t&&this.ui.title.innerHTML!=="&nbsp;"&&(this.ui.title.innerText="\xA0");const o=this.getDescription();if(this.ui.description1.textContent!==o&&(this.ui.description1.textContent=o),this.ui.description2.textContent!==o&&(this.ui.description2.textContent=o),this.busy&&!this.busyDelay&&(this.busyDelay=new oi._F,this.busyDelay.setIfNotSet(()=>{this.visible&&this.ui.progressBar.infinite()},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const B=this.buttons.filter(me=>me===ha);this.ui.leftActionBar.push(B.map((me,Ee)=>{const et=new qs.aU(`id-${Ee}`,"",me.iconClass||da(me.iconPath),!0,()=>ol(this,void 0,void 0,function*(){this.onDidTriggerButtonEmitter.fire(me)}));return et.tooltip=me.tooltip||"",et}),{icon:!0,label:!1}),this.ui.rightActionBar.clear();const q=this.buttons.filter(me=>me!==ha);this.ui.rightActionBar.push(q.map((me,Ee)=>{const et=new qs.aU(`id-${Ee}`,"",me.iconClass||da(me.iconPath),!0,()=>ol(this,void 0,void 0,function*(){this.onDidTriggerButtonEmitter.fire(me)}));return et.tooltip=me.tooltip||"",et}),{icon:!0,label:!1})}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const _=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==_&&(this._lastValidationMessage=_,ce.mc(this.ui.message,...(0,Qa.T)(_))),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?(0,U.N)("quickInput.steps","{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(t){if(this.ui.inputBox.showDecoration(t),t!==os.Z.Ignore){const o=this.ui.inputBox.stylesForType(t);this.ui.message.style.color=o.foreground?`${o.foreground}`:"",this.ui.message.style.backgroundColor=o.background?`${o.background}`:"",this.ui.message.style.border=o.border?`1px solid ${o.border}`:"",this.ui.message.style.paddingBottom="4px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.paddingBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}vr.noPromptMessage=(0,U.N)("inputModeEntry","Press 'Enter' to confirm your input or 'Escape' to cancel");class Zo extends vr{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new O.Q5),this.onWillAcceptEmitter=this._register(new O.Q5),this.onDidAcceptEmitter=this._register(new O.Q5),this.onDidCustomEmitter=this._register(new O.Q5),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._sortByLabel=!0,this._autoFocusOnList=!0,this._keepScrollPosition=!1,this._itemActivation=this.ui.isScreenReaderOptimized()?Ms.jG.NONE:Ms.jG.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new O.Q5),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new O.Q5),this.onDidTriggerItemButtonEmitter=this._register(new O.Q5),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this.filterValue=t=>t,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}get quickNavigate(){return this._quickNavigate}set quickNavigate(t){this._quickNavigate=t,this.update()}get value(){return this._value}set value(t){this._value!==t&&(this._value=t||"",this.update(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(t){this._ariaLabel=t,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(t){this.ui.list.scrollTop=t}set items(t){this._items=t,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(t){this._canSelectMany=t,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(t){this._canAcceptInBackground=t}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(t){this._matchOnDescription=t,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(t){this._matchOnDetail=t,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(t){this._matchOnLabel=t,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(t){this._sortByLabel=t,this.update()}get autoFocusOnList(){return this._autoFocusOnList}set autoFocusOnList(t){this._autoFocusOnList=t,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(t){this._keepScrollPosition=t}get itemActivation(){return this._itemActivation}set itemActivation(t){this._itemActivation=t}get activeItems(){return this._activeItems}set activeItems(t){this._activeItems=t,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(t){this._selectedItems=t,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?Ms.X5:this.ui.keyMods}set valueSelection(t){this._valueSelection=t,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(t){this._customButton=t,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(t){this._customButtonLabel=t,this.update()}get customHover(){return this._customButtonHover}set customHover(t){this._customButtonHover=t,this.update()}get ok(){return this._ok}set ok(t){this._ok=t,this.update()}get hideInput(){return!!this._hideInput}set hideInput(t){this._hideInput=t,this.update()}trySelectFirst(){this.autoFocusOnList&&(this.canSelectMany||this.ui.list.focus(Xn.First))}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(t=>{if(t===this.value)return;this._value=t,this.ui.list.filter(this.filterValue(this.ui.inputBox.value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(t)})),this.visibleDisposables.add(this.ui.inputBox.onMouseDown(t=>{this.autoFocusOnList||this.ui.list.clearFocus()})),this.visibleDisposables.add((this._hideInput?this.ui.list:this.ui.inputBox).onKeyDown(t=>{switch(t.keyCode){case 18:this.ui.list.focus(Xn.Next),this.canSelectMany&&this.ui.list.domFocus(),ce.zB.stop(t,!0);break;case 16:this.ui.list.getFocusedElements().length?this.ui.list.focus(Xn.Previous):this.ui.list.focus(Xn.Last),this.canSelectMany&&this.ui.list.domFocus(),ce.zB.stop(t,!0);break;case 12:this.ui.list.focus(Xn.NextPage),this.canSelectMany&&this.ui.list.domFocus(),ce.zB.stop(t,!0);break;case 11:this.ui.list.focus(Xn.PreviousPage),this.canSelectMany&&this.ui.list.domFocus(),ce.zB.stop(t,!0);break;case 17:if(!this._canAcceptInBackground||!this.ui.inputBox.isSelectionAtEnd())return;this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!0));break;case 14:(t.ctrlKey||t.metaKey)&&!t.shiftKey&&!t.altKey&&(this.ui.list.focus(Xn.First),ce.zB.stop(t,!0));break;case 13:(t.ctrlKey||t.metaKey)&&!t.shiftKey&&!t.altKey&&(this.ui.list.focus(Xn.Last),ce.zB.stop(t,!0));break}})),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.ui.list.onDidChangeFocus(t=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&(0,pn.fS)(t,this._activeItems,(o,_)=>o===_)||(this._activeItems=t,this.onDidChangeActiveEmitter.fire(t))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:t,event:o})=>{if(this.canSelectMany){t.length&&this.ui.list.setSelectedElements([]);return}this.selectedItemsToConfirm!==this._selectedItems&&(0,pn.fS)(t,this._selectedItems,(_,B)=>_===B)||(this._selectedItems=t,this.onDidChangeSelectionEmitter.fire(t),t.length&&this.handleAccept(o instanceof MouseEvent&&o.button===1))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(t=>{this.canSelectMany&&(this.selectedItemsToConfirm!==this._selectedItems&&(0,pn.fS)(t,this._selectedItems,(o,_)=>o===_)||(this._selectedItems=t,this.onDidChangeSelectionEmitter.fire(t)))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(t=>this.onDidTriggerItemButtonEmitter.fire(t))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(t){let o=!1;this.onWillAcceptEmitter.fire({veto:()=>o=!0}),o||this.onDidAcceptEmitter.fire({inBackground:t})}registerQuickNavigation(){return ce.nm(this.ui.container,ce.tw.KEY_UP,t=>{if(this.canSelectMany||!this._quickNavigate)return;const o=new cs.y(t),_=o.keyCode;this._quickNavigate.keybindings.some(me=>{const[Ee,et]=me.getParts();return et?!1:Ee.shiftKey&&_===4?!(o.ctrlKey||o.altKey||o.metaKey):!!(Ee.altKey&&_===6||Ee.ctrlKey&&_===5||Ee.metaKey&&_===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;const t=this.keepScrollPosition?this.scrollTop:0,o=!!this._hideInput&&this._items.length>0;this.ui.container.classList.toggle("hidden-input",o&&!this.description);const _={title:!!this.title||!!this.step||!!this.buttons.length,description:!!this.description,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!o,progressBar:!o,visibleCount:!0,count:this.canSelectMany,ok:this.ok==="default"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(_),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||"");const B=this.ariaLabel||this.placeholder||Zo.DEFAULT_ARIA_LABEL;if(this.ui.inputBox.ariaLabel!==B&&(this.ui.inputBox.ariaLabel=B),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated)switch(this.itemsUpdated=!1,this.ui.list.setElements(this.items),this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this.ui.checkAll.checked=this.ui.list.getAllVisibleChecked(),this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()),this.ui.count.setCount(this.ui.list.getCheckedCount()),this._itemActivation){case Ms.jG.NONE:this._itemActivation=Ms.jG.FIRST;break;case Ms.jG.SECOND:this.ui.list.focus(Xn.Second),this._itemActivation=Ms.jG.FIRST;break;case Ms.jG.LAST:this.ui.list.focus(Xn.Last),this._itemActivation=Ms.jG.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.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",this.ui.setComboboxAccessibility(!0),_.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(Xn.First)),this.keepScrollPosition&&(this.scrollTop=t)}}Zo.DEFAULT_ARIA_LABEL=(0,U.N)("quickInputBox.ariaLabel","Type to narrow down results.");class Cr extends ni.JT{constructor(t){super(),this.options=t,this.comboboxAccessibility=!1,this.enabled=!0,this.onDidAcceptEmitter=this._register(new O.Q5),this.onDidCustomEmitter=this._register(new O.Q5),this.onDidTriggerButtonEmitter=this._register(new O.Q5),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new O.Q5),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new O.Q5),this.onHide=this.onHideEmitter.event,this.idPrefix=t.idPrefix,this.parentElement=t.container,this.styles=t.styles,this.registerKeyModsListeners()}registerKeyModsListeners(){const t=o=>{this.keyMods.ctrlCmd=o.ctrlKey||o.metaKey,this.keyMods.alt=o.altKey};this._register(ce.nm(window,ce.tw.KEY_DOWN,t,!0)),this._register(ce.nm(window,ce.tw.KEY_UP,t,!0)),this._register(ce.nm(window,ce.tw.MOUSE_DOWN,t,!0))}getUI(){if(this.ui)return this.ui;const t=ce.R3(this.parentElement,Es(".quick-input-widget.show-file-icons"));t.tabIndex=-1,t.style.display="none";const o=ce.dS(t),_=ce.R3(t,Es(".quick-input-titlebar")),B=this._register(new wn.o(_));B.domNode.classList.add("quick-input-left-action-bar");const q=ce.R3(_,Es(".quick-input-title")),me=this._register(new wn.o(_));me.domNode.classList.add("quick-input-right-action-bar");const Ee=ce.R3(t,Es(".quick-input-description")),et=ce.R3(t,Es(".quick-input-header")),ft=ce.R3(et,Es("input.quick-input-check-all"));ft.type="checkbox",this._register(ce.mu(ft,ce.tw.CHANGE,gn=>{const gs=ft.checked;es.setAllVisibleChecked(gs)})),this._register(ce.nm(ft,ce.tw.CLICK,gn=>{(gn.x||gn.y)&&Qi.setFocus()}));const bt=ce.R3(et,Es(".quick-input-description")),Bt=ce.R3(et,Es(".quick-input-and-message")),_i=ce.R3(Bt,Es(".quick-input-filter")),Qi=this._register(new hd(_i));Qi.setAttribute("aria-describedby",`${this.idPrefix}message`);const $i=ce.R3(_i,Es(".quick-input-visible-count"));$i.setAttribute("aria-live","polite"),$i.setAttribute("aria-atomic","true");const cn=new Ja.Z($i,{countFormat:(0,U.N)({key:"quickInput.visibleCount",comment:["This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers."]},"{0} Results")}),un=ce.R3(_i,Es(".quick-input-count"));un.setAttribute("aria-live","polite");const jn=new Ja.Z(un,{countFormat:(0,U.N)({key:"quickInput.countSelected",comment:["This tells the user how many items are selected in a list of items to select from. The items can be anything."]},"{0} Selected")}),In=ce.R3(et,Es(".quick-input-action")),fn=new Xa(In);fn.label=(0,U.N)("ok","OK"),this._register(fn.onDidClick(gn=>{this.onDidAcceptEmitter.fire()}));const Ln=ce.R3(et,Es(".quick-input-action")),Ns=new Xa(Ln);Ns.label=(0,U.N)("custom","Custom"),this._register(Ns.onDidClick(gn=>{this.onDidCustomEmitter.fire()}));const go=ce.R3(Bt,Es(`#${this.idPrefix}message.quick-input-message`)),es=this._register(new ua(t,this.idPrefix+"list",this.options));this._register(es.onChangedAllVisibleChecked(gn=>{ft.checked=gn})),this._register(es.onChangedVisibleCount(gn=>{cn.setCount(gn)})),this._register(es.onChangedCheckedCount(gn=>{jn.setCount(gn)})),this._register(es.onLeave(()=>{setTimeout(()=>{Qi.setFocus(),this.controller instanceof Zo&&this.controller.canSelectMany&&es.clearFocus()},0)})),this._register(es.onDidChangeFocus(()=>{this.comboboxAccessibility&&this.getUI().inputBox.setAttribute("aria-activedescendant",this.getUI().list.getActiveDescendant()||"")}));const Xo=new ad(t);Xo.getContainer().classList.add("quick-input-progress");const Wn=ce.go(t);return this._register(Wn),this._register(ce.nm(t,ce.tw.FOCUS,gn=>{this.previousFocusElement=gn.relatedTarget instanceof HTMLElement?gn.relatedTarget:void 0},!0)),this._register(Wn.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(Ms.Jq.Blur),this.previousFocusElement=void 0})),this._register(ce.nm(t,ce.tw.FOCUS,gn=>{Qi.setFocus()})),this._register(ce.nm(t,ce.tw.KEY_DOWN,gn=>{const gs=new cs.y(gn);switch(gs.keyCode){case 3:ce.zB.stop(gn,!0),this.onDidAcceptEmitter.fire();break;case 9:ce.zB.stop(gn,!0),this.hide(Ms.Jq.Gesture);break;case 2:if(!gs.altKey&&!gs.ctrlKey&&!gs.metaKey){const Eo=[".action-label.codicon"];t.classList.contains("show-checkboxes")?Eo.push("input"):Eo.push("input[type=text]"),this.getUI().list.isDisplayed()&&Eo.push(".monaco-list");const No=t.querySelectorAll(Eo.join(", "));gs.shiftKey&&gs.target===No[0]?(ce.zB.stop(gn,!0),No[No.length-1].focus()):!gs.shiftKey&&gs.target===No[No.length-1]&&(ce.zB.stop(gn,!0),No[0].focus())}break}})),this.ui={container:t,styleSheet:o,leftActionBar:B,titleBar:_,title:q,description1:Ee,description2:bt,rightActionBar:me,checkAll:ft,filterContainer:_i,inputBox:Qi,visibleCountContainer:$i,visibleCount:cn,countContainer:un,count:jn,okContainer:In,ok:fn,message:go,customButtonContainer:Ln,customButton:Ns,list:es,progressBar:Xo,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,isScreenReaderOptimized:()=>this.options.isScreenReaderOptimized(),show:gn=>this.show(gn),hide:()=>this.hide(),setVisibilities:gn=>this.setVisibilities(gn),setComboboxAccessibility:gn=>this.setComboboxAccessibility(gn),setEnabled:gn=>this.setEnabled(gn),setContextKey:gn=>this.options.setContextKey(gn)},this.updateStyles(),this.ui}pick(t,o={},_=H.T.None){return new Promise((B,q)=>{let me=bt=>{me=B,o.onKeyMods&&o.onKeyMods(Ee.keyMods),B(bt)};if(_.isCancellationRequested){me(void 0);return}const Ee=this.createQuickPick();let et;const ft=[Ee,Ee.onDidAccept(()=>{if(Ee.canSelectMany)me(Ee.selectedItems.slice()),Ee.hide();else{const bt=Ee.activeItems[0];bt&&(me(bt),Ee.hide())}}),Ee.onDidChangeActive(bt=>{const Bt=bt[0];Bt&&o.onDidFocus&&o.onDidFocus(Bt)}),Ee.onDidChangeSelection(bt=>{if(!Ee.canSelectMany){const Bt=bt[0];Bt&&(me(Bt),Ee.hide())}}),Ee.onDidTriggerItemButton(bt=>o.onDidTriggerItemButton&&o.onDidTriggerItemButton(Object.assign(Object.assign({},bt),{removeItem:()=>{const Bt=Ee.items.indexOf(bt.item);if(Bt!==-1){const _i=Ee.items.slice(),Qi=_i.splice(Bt,1),$i=Ee.activeItems.filter(un=>un!==Qi[0]),cn=Ee.keepScrollPosition;Ee.keepScrollPosition=!0,Ee.items=_i,$i&&(Ee.activeItems=$i),Ee.keepScrollPosition=cn}}}))),Ee.onDidChangeValue(bt=>{et&&!bt&&(Ee.activeItems.length!==1||Ee.activeItems[0]!==et)&&(Ee.activeItems=[et])}),_.onCancellationRequested(()=>{Ee.hide()}),Ee.onDidHide(()=>{(0,ni.B9)(ft),me(void 0)})];Ee.title=o.title,Ee.canSelectMany=!!o.canPickMany,Ee.placeholder=o.placeHolder,Ee.ignoreFocusOut=!!o.ignoreFocusLost,Ee.matchOnDescription=!!o.matchOnDescription,Ee.matchOnDetail=!!o.matchOnDetail,Ee.matchOnLabel=o.matchOnLabel===void 0||o.matchOnLabel,Ee.autoFocusOnList=o.autoFocusOnList===void 0||o.autoFocusOnList,Ee.quickNavigate=o.quickNavigate,Ee.contextKey=o.contextKey,Ee.busy=!0,Promise.all([t,o.activeItem]).then(([bt,Bt])=>{et=Bt,Ee.busy=!1,Ee.items=bt,Ee.canSelectMany&&(Ee.selectedItems=bt.filter(_i=>_i.type!=="separator"&&_i.picked)),et&&(Ee.activeItems=[et])}),Ee.show(),Promise.resolve(t).then(void 0,bt=>{q(bt),Ee.hide()})})}createQuickPick(){const t=this.getUI();return new Zo(t)}show(t){const o=this.getUI();this.onShowEmitter.fire();const _=this.controller;this.controller=t,_&&_.didHide(),this.setEnabled(!0),o.leftActionBar.clear(),o.title.textContent="",o.description1.textContent="",o.description2.textContent="",o.rightActionBar.clear(),o.checkAll.checked=!1,o.inputBox.placeholder="",o.inputBox.password=!1,o.inputBox.showDecoration(os.Z.Ignore),o.visibleCount.setCount(0),o.count.setCount(0),ce.mc(o.message),o.progressBar.stop(),o.list.setElements([]),o.list.matchOnDescription=!1,o.list.matchOnDetail=!1,o.list.matchOnLabel=!0,o.list.sortByLabel=!0,o.ignoreFocusOut=!1,this.setComboboxAccessibility(!1),o.inputBox.ariaLabel="";const B=this.options.backKeybindingLabel();ha.tooltip=B?(0,U.N)("quickInput.backWithKeybinding","Back ({0})",B):(0,U.N)("quickInput.back","Back"),o.container.style.display="",this.updateLayout(),o.inputBox.setFocus()}setVisibilities(t){const o=this.getUI();o.title.style.display=t.title?"":"none",o.description1.style.display=t.description&&(t.inputBox||t.checkAll)?"":"none",o.description2.style.display=t.description&&!(t.inputBox||t.checkAll)?"":"none",o.checkAll.style.display=t.checkAll?"":"none",o.filterContainer.style.display=t.inputBox?"":"none",o.visibleCountContainer.style.display=t.visibleCount?"":"none",o.countContainer.style.display=t.count?"":"none",o.okContainer.style.display=t.ok?"":"none",o.customButtonContainer.style.display=t.customButton?"":"none",o.message.style.display=t.message?"":"none",o.progressBar.getContainer().style.display=t.progressBar?"":"none",o.list.display(!!t.list),o.container.classList[t.checkBox?"add":"remove"]("show-checkboxes"),this.updateLayout()}setComboboxAccessibility(t){if(t!==this.comboboxAccessibility){const o=this.getUI();this.comboboxAccessibility=t,this.comboboxAccessibility?(o.inputBox.setAttribute("role","combobox"),o.inputBox.setAttribute("aria-haspopup","true"),o.inputBox.setAttribute("aria-autocomplete","list"),o.inputBox.setAttribute("aria-activedescendant",o.list.getActiveDescendant()||"")):(o.inputBox.removeAttribute("role"),o.inputBox.removeAttribute("aria-haspopup"),o.inputBox.removeAttribute("aria-autocomplete"),o.inputBox.removeAttribute("aria-activedescendant"))}}setEnabled(t){if(t!==this.enabled){this.enabled=t;for(const o of this.getUI().leftActionBar.viewItems)o.getAction().enabled=t;for(const o of this.getUI().rightActionBar.viewItems)o.getAction().enabled=t;this.getUI().checkAll.disabled=!t,this.getUI().ok.enabled=t,this.getUI().list.enabled=t}}hide(t){var o;const _=this.controller;if(_){const B=!(!((o=this.ui)===null||o===void 0)&&o.container.contains(document.activeElement));this.controller=null,this.onHideEmitter.fire(),this.getUI().container.style.display="none",B||(this.previousFocusElement&&this.previousFocusElement.offsetParent?(this.previousFocusElement.focus(),this.previousFocusElement=void 0):this.options.returnFocus()),_.didHide(t)}}layout(t,o){this.dimension=t,this.titleBarOffset=o,this.updateLayout()}updateLayout(){if(this.ui){this.ui.container.style.top=`${this.titleBarOffset}px`;const t=this.ui.container.style,o=Math.min(this.dimension.width*.62,Cr.MAX_WIDTH);t.width=o+"px",t.marginLeft="-"+o/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&this.dimension.height*.4)}}applyStyles(t){this.styles=t,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:t,quickInputBackground:o,quickInputForeground:_,contrastBorder:B,widgetShadow:q}=this.styles.widget;this.ui.titleBar.style.backgroundColor=t?t.toString():"",this.ui.container.style.backgroundColor=o?o.toString():"",this.ui.container.style.color=_?_.toString():"",this.ui.container.style.border=B?`1px solid ${B}`:"",this.ui.container.style.boxShadow=q?`0 0 8px 2px ${q}`:"",this.ui.inputBox.style(this.styles.inputBox),this.ui.count.style(this.styles.countBadge),this.ui.ok.style(this.styles.button),this.ui.customButton.style(this.styles.button),this.ui.progressBar.style(this.styles.progressBar),this.ui.list.style(this.styles.list);const me=[];this.styles.list.pickerGroupBorder&&me.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.list.pickerGroupBorder}; }`),this.styles.list.pickerGroupForeground&&me.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.list.pickerGroupForeground}; }`),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(me.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&me.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&me.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&me.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&me.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&me.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),me.push("}"));const Ee=me.join(`
`);Ee!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=Ee)}}}Cr.MAX_WIDTH=600;var fa=i(17845),rl=i(82825),ga=i(96148),yd=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},al=function(S,t){return function(o,_){t(o,_,S)}};let ma=class extends ni.JT{constructor(t,o){super(),this.quickInputService=t,this.instantiationService=o,this.registry=Xs.B.as(rl.IP.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(t="",o){this.doShowOrPick(t,!1,o)}doShowOrPick(t,o,_){var B;const[q,me]=this.getOrInstantiateProvider(t),Ee=this.visibleQuickAccess,et=Ee==null?void 0:Ee.descriptor;if(Ee&&me&&et===me){t!==me.prefix&&!(_!=null&&_.preserveValue)&&(Ee.picker.value=t),this.adjustValueSelection(Ee.picker,me,_);return}if(me&&!(_!=null&&_.preserveValue)){let $i;if(Ee&&et&&et!==me){const cn=Ee.value.substr(et.prefix.length);cn&&($i=`${me.prefix}${cn}`)}if(!$i){const cn=q==null?void 0:q.defaultFilterValue;cn===rl.Ry.LAST?$i=this.lastAcceptedPickerValues.get(me):typeof cn=="string"&&($i=`${me.prefix}${cn}`)}typeof $i=="string"&&(t=$i)}const ft=new ni.SL,bt=ft.add(this.quickInputService.createQuickPick());bt.value=t,this.adjustValueSelection(bt,me,_),bt.placeholder=me==null?void 0:me.placeholder,bt.quickNavigate=_==null?void 0:_.quickNavigateConfiguration,bt.hideInput=!!bt.quickNavigate&&!Ee,(typeof(_==null?void 0:_.itemActivation)=="number"||_!=null&&_.quickNavigateConfiguration)&&(bt.itemActivation=(B=_==null?void 0:_.itemActivation)!==null&&B!==void 0?B:ga.jG.SECOND),bt.contextKey=me==null?void 0:me.contextKey,bt.filterValue=$i=>$i.substring(me?me.prefix.length:0),me!=null&&me.placeholder&&(bt.ariaLabel=me==null?void 0:me.placeholder);let Bt,_i;o&&(Bt=new Promise($i=>_i=$i),ft.add((0,fa.I)(bt.onWillAccept)($i=>{$i.veto(),bt.hide()}))),ft.add(this.registerPickerListeners(bt,q,me,t));const Qi=ft.add(new H.A);if(q&&ft.add(q.provide(bt,Qi.token)),(0,fa.I)(bt.onDidHide)(()=>{bt.selectedItems.length===0&&Qi.cancel(),ft.dispose(),_i==null||_i(bt.selectedItems)}),bt.show(),o)return Bt}adjustValueSelection(t,o,_){var B;let q;_!=null&&_.preserveValue?q=[t.value.length,t.value.length]:q=[(B=o==null?void 0:o.prefix.length)!==null&&B!==void 0?B:0,t.value.length],t.valueSelection=q}registerPickerListeners(t,o,_,B){const q=new ni.SL,me=this.visibleQuickAccess={picker:t,descriptor:_,value:B};return q.add((0,ni.OF)(()=>{me===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),q.add(t.onDidChangeValue(Ee=>{const[et]=this.getOrInstantiateProvider(Ee);et!==o?this.show(Ee,{preserveValue:!0}):me.value=Ee})),_&&q.add(t.onDidAccept(()=>{this.lastAcceptedPickerValues.set(_,t.value)})),q}getOrInstantiateProvider(t){const o=this.registry.getQuickAccessProvider(t);if(!o)return[void 0,void 0];let _=this.mapProviderToDescriptor.get(o);return _||(_=this.instantiationService.createInstance(o.ctor),this.mapProviderToDescriptor.set(o,_)),[_,o]}};ma=yd([al(0,ga.eJ),al(1,ps.TG)],ma);var Ld=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},Yo=function(S,t){return function(o,_){t(o,_,S)}};let pa=class extends Cs.bB{constructor(t,o,_,B,q){super(_),this.instantiationService=t,this.contextKeyService=o,this.accessibilityService=B,this.layoutService=q,this.contexts=new Map}get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(ma))),this._quickAccess}createController(t=this.layoutService,o){var _,B;const q={idPrefix:"quickInput_",container:t.container,ignoreFocusOut:()=>!1,isScreenReaderOptimized:()=>this.accessibilityService.isScreenReaderOptimized(),backKeybindingLabel:()=>{},setContextKey:Ee=>this.setContextKey(Ee),returnFocus:()=>t.focus(),createList:(Ee,et,ft,bt,Bt)=>this.instantiationService.createInstance(ta.ev,Ee,et,ft,bt,Bt),styles:this.computeStyles()},me=this._register(new Cr(Object.assign(Object.assign({},q),o)));return me.layout(t.dimension,(B=(_=t.offset)===null||_===void 0?void 0:_.top)!==null&&B!==void 0?B:0),this._register(t.onDidLayout(Ee=>{var et,ft;return me.layout(Ee,(ft=(et=t.offset)===null||et===void 0?void 0:et.top)!==null&&ft!==void 0?ft:0)})),this._register(me.onShow(()=>this.resetContextKeys())),this._register(me.onHide(()=>this.resetContextKeys())),me}setContextKey(t){let o;t&&(o=this.contexts.get(t),o||(o=new _t.uy(t,!1).bindTo(this.contextKeyService),this.contexts.set(t,o))),!(o&&o.get())&&(this.resetContextKeys(),o&&o.set(!0))}resetContextKeys(){this.contexts.forEach(t=>{t.get()&&t.reset()})}pick(t,o={},_=H.T.None){return this.controller.pick(t,o,_)}createQuickPick(){return this.controller.createQuickPick()}updateStyles(){this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:Object.assign({},(0,eo.o)(this.theme,{quickInputBackground:dn.zK,quickInputForeground:dn.tZ,quickInputTitleBackground:dn.lo,contrastBorder:dn.lR,widgetShadow:dn.rh})),inputBox:(0,eo.o)(this.theme,{inputForeground:dn.zJ,inputBackground:dn.sE,inputBorder:dn.dt,inputValidationInfoBackground:dn._l,inputValidationInfoForeground:dn.YI,inputValidationInfoBorder:dn.EP,inputValidationWarningBackground:dn.RV,inputValidationWarningForeground:dn.SU,inputValidationWarningBorder:dn.C3,inputValidationErrorBackground:dn.p,inputValidationErrorForeground:dn._t,inputValidationErrorBorder:dn.OZ}),countBadge:(0,eo.o)(this.theme,{badgeBackground:dn.g8,badgeForeground:dn.qe,badgeBorder:dn.lR}),button:(0,eo.o)(this.theme,{buttonForeground:dn.j5,buttonBackground:dn.b7,buttonHoverBackground:dn.GO,buttonBorder:dn.lR}),progressBar:(0,eo.o)(this.theme,{progressBarBackground:dn.zR}),keybindingLabel:(0,eo.o)(this.theme,{keybindingLabelBackground:dn.oQ,keybindingLabelForeground:dn.lW,keybindingLabelBorder:dn.AW,keybindingLabelBottomBorder:dn.K1,keybindingLabelShadow:dn.rh}),list:(0,eo.o)(this.theme,{listBackground:dn.zK,listInactiveFocusForeground:dn.NP,listInactiveSelectionIconForeground:dn.cb,listInactiveFocusBackground:dn.Vq,listFocusOutline:dn.xL,listInactiveFocusOutline:dn.xL,pickerGroupBorder:dn.op,pickerGroupForeground:dn.kJ})}}};pa=Ld([Yo(0,ps.TG),Yo(1,_t.i6),Yo(2,Cs.XE),Yo(3,xs.F),Yo(4,lr)],pa);var ll=function(S,t,o,_){var B=arguments.length,q=B<3?t:_===null?_=Object.getOwnPropertyDescriptor(t,o):_,me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(S,t,o,_);else for(var Ee=S.length-1;Ee>=0;Ee--)(me=S[Ee])&&(q=(B<3?me(q):B>3?me(t,o,q):me(t,o))||q);return B>3&&q&&Object.defineProperty(t,o,q),q},fo=function(S,t){return function(o,_){t(o,_,S)}};let _a=class extends pa{constructor(t,o,_,B,q,me){super(o,_,B,q,me),this.host=void 0;const Ee=Do.get(t);this.host={_serviceBrand:void 0,get container(){return Ee.widget.getDomNode()},get dimension(){return t.getLayoutInfo()},get onDidLayout(){return t.onDidLayoutChange},focus:()=>t.focus()}}createController(){return super.createController(this.host)}};_a=ll([fo(1,ps.TG),fo(2,_t.i6),fo(3,Cs.XE),fo(4,xs.F),fo(5,lr)],_a);let va=class{constructor(t,o){this.instantiationService=t,this.codeEditorService=o,this.mapEditorToService=new Map}get activeService(){const t=this.codeEditorService.getFocusedCodeEditor();if(!t)throw new Error("Quick input service needs a focused editor to work.");let o=this.mapEditorToService.get(t);if(!o){const _=o=this.instantiationService.createInstance(_a,t);this.mapEditorToService.set(t,o),(0,fa.I)(t.onDidDispose)(()=>{_.dispose(),this.mapEditorToService.delete(t)})}return o}get quickAccess(){return this.activeService.quickAccess}pick(t,o={},_=H.T.None){return this.activeService.pick(t,o,_)}createQuickPick(){return this.activeService.createQuickPick()}};va=ll([fo(0,ps.TG),fo(1,ue.$)],va);class Do{constructor(t){this.editor=t,this.widget=new br(this.editor)}static get(t){return t.getContribution(Do.ID)}dispose(){this.widget.dispose()}}Do.ID="editor.controller.quickInput";class br{constructor(t){this.codeEditor=t,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return br.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}br.ID="editor.contrib.quickInputWidget",(0,sd._K)(Do.ID,Do);var Mn;(function(S){const t=new ea.y;class o{constructor(et,ft){this._serviceId=et,this._factory=ft,this._value=null}get id(){return this._serviceId}get(et){if(!this._value){if(et&&(this._value=et[this._serviceId.toString()]),this._value||(this._value=this._factory(et)),!this._value)throw new Error("Service "+this._serviceId+" is missing!");t.set(this._serviceId,this._value)}return this._value}}S.LazyStaticService=o;let _=[];function B(Ee,et){let ft=new o(Ee,et);return _.push(ft),ft}function q(Ee){let et=new ea.y;for(const[bt,Bt]of(0,Ua.d)())et.set(bt,Bt);for(let bt in Ee)Ee.hasOwnProperty(bt)&&et.set((0,ps.yh)(bt),Ee[bt]);_.forEach(bt=>et.set(bt.id,bt.get(Ee)));let ft=new dr(et,!0);return et.set(ps.TG,ft),[et,ft]}S.init=q,S.instantiationService=B(ps.TG,()=>new dr(t,!0));const me=new Gs;S.configurationService=B(Hi.Ui,()=>me),S.resourceConfigurationService=B(ss.V,()=>new io(me)),S.resourcePropertiesService=B(ss.y,()=>new Fn(me)),S.contextService=B(Ui.ec,()=>new po),S.labelService=B(Zl.e,()=>new no),S.telemetryService=B(Xi.b,()=>new xr),S.dialogService=B(ka.S,()=>new bs),S.notificationService=B(Ii.lT,()=>new fs),S.markerService=B(Bs.lT,()=>new ho),S.modeService=B(Et.h,Ee=>new lo),S.standaloneThemeService=B(oo.Z,()=>new dt),S.logService=B(Yn.VZ,()=>new Yn.$V(new Yn.kw)),S.undoRedoService=B(Ws.tJ,Ee=>new mr(S.dialogService.get(Ee),S.notificationService.get(Ee))),S.languageConfigurationService=B(de.c_,Ee=>new de.UU(S.configurationService.get(Ee),S.modeService.get(Ee))),S.modelService=B(Gn.q,Ee=>new Hr.BR(S.configurationService.get(Ee),S.resourcePropertiesService.get(Ee),S.standaloneThemeService.get(Ee),S.logService.get(Ee),S.undoRedoService.get(Ee),S.modeService.get(Ee),S.languageConfigurationService.get(Ee))),S.markerDecorationsService=B(Xl.i,Ee=>new sa(S.modelService.get(Ee),S.markerService.get(Ee))),S.contextKeyService=B(_t.i6,Ee=>new Fi(S.configurationService.get(Ee))),S.codeEditorService=B(ue.$,Ee=>new Co(null,S.contextKeyService.get(Ee),S.standaloneThemeService.get(Ee))),S.editorProgressService=B(xo.e,()=>new as),S.storageService=B(Wa.Uy,()=>new Wa.vm),S.editorWorkerService=B(He.p,Ee=>new Lt(S.modelService.get(Ee),S.resourceConfigurationService.get(Ee),S.logService.get(Ee)))})(Mn||(Mn={}));class Dd extends ni.JT{constructor(t,o){super();const[_,B]=Mn.init(o);this._serviceCollection=_,this._instantiationService=B;const q=this.get(Hi.Ui),me=this.get(Ii.lT),Ee=this.get(Xi.b),et=this.get(Cs.XE),ft=this.get(Yn.VZ),bt=this.get(_t.i6);let Bt=(un,jn)=>{let In=null;return o&&(In=o[un.toString()]),In||(In=jn()),this._serviceCollection.set(un,In),In};Bt(xs.F,()=>new oa(bt,q)),Bt(ta.Lw,()=>new ta.XN(et));let _i=Bt(W.H,()=>new Ts(this._instantiationService)),Qi=Bt(Ps.d,()=>this._register(new Is(bt,_i,Ee,me,ft,t))),$i=Bt(lr,()=>new Tr(Mn.codeEditorService.get(ue.$),t));Bt(ga.eJ,()=>new va(B,Mn.codeEditorService.get(ue.$)));let cn=Bt(Rs.u,()=>this._register(new qr($i)));Bt(Zs.p,()=>new td),Bt(Rs.i,()=>{const un=new Jr(Ee,me,cn,Qi,et);return un.configure({blockMouse:!1}),this._register(un)}),Bt(ys.co,()=>new ia(_i)),Bt(rn.vu,()=>new Mr(Mn.modelService.get(Gn.q)))}get(t){let o=this._serviceCollection.get(t);if(!o)throw new Error("Missing service "+t);return o}set(t,o){this._serviceCollection.set(t,o)}has(t){return this._serviceCollection.has(t)}}var Ed=i(84571);function dl(S,t,o){let _=new Dd(S,t),B=null;_.has(Wt.S)||(B=new xn(Mn.modelService.get()),_.set(Wt.S,B)),_.has(ee.v4)||_.set(ee.v4,new vt(_.get(ue.$),_.get(W.H)));let q=o(_);return B&&B.setEditor(q),q}function Nd(S,t,o){return dl(S,o||{},_=>new ao(S,t,_,_.get(ps.TG),_.get(ue.$),_.get(W.H),_.get(_t.i6),_.get(Ps.d),_.get(Rs.u),_.get(oo.Z),_.get(Ii.lT),_.get(Hi.Ui),_.get(xs.F),_.get(Gn.q),_.get(Et.h)))}function Id(S){return Mn.codeEditorService.get().onCodeEditorAdd(t=>{S(t)})}function xd(S,t,o){return dl(S,o||{},_=>new Fo(S,t,_,_.get(ps.TG),_.get(_t.i6),_.get(Ps.d),_.get(Rs.u),_.get(He.p),_.get(ue.$),_.get(oo.Z),_.get(Ii.lT),_.get(Hi.Ui),_.get(Rs.i),_.get(xo.e),_.get(Zs.p)))}function Md(S,t){return new Ft.F(S,t)}function Td(S,t,o){return sr(Mn.modelService.get(),Mn.modeService.get(),S,t,o)}function Rd(S,t){Mn.modelService.get().setMode(S,Mn.modeService.get().create(t))}function Ad(S,t,o){S&&Mn.markerService.get().changeOne(t,S.uri,o)}function Od(S){return Mn.markerService.get().read(S)}function Pd(S){return Mn.markerService.get().onMarkerChanged(S)}function kd(S){return Mn.modelService.get().getModel(S)}function Fd(){return Mn.modelService.get().getModels()}function Bd(S){return Mn.modelService.get().onModelAdded(S)}function Wd(S){return Mn.modelService.get().onModelRemoved(S)}function Vd(S){return Mn.modelService.get().onModelModeChanged(t=>{S({model:t.model,oldLanguage:t.oldModeId})})}function Hd(S){return Rt(Mn.modelService.get(),S)}function Ud(S,t){const o=Mn.standaloneThemeService.get();return o.registerEditorContainer(S),vs.colorizeElement(o,Mn.modeService.get(),S,t)}function zd(S,t,o){return Mn.standaloneThemeService.get().registerEditorContainer(document.body),vs.colorize(Mn.modeService.get(),S,t,o)}function Kd(S,t,o=4){return Mn.standaloneThemeService.get().registerEditorContainer(document.body),vs.colorizeModelLine(S,t,o)}function jd(S){let t=Ze.RW.get(S);return t||{getInitialState:()=>Ae.nO,tokenize:(o,_,B,q)=>(0,Ae.Ri)(S,o,B,q)}}function $d(S,t){Mn.modeService.get().triggerMode(t);let _=jd(t),B=(0,Ni.uq)(S),q=[],me=_.getInitialState();for(let Ee=0,et=B.length;Ee<et;Ee++){let ft=B[Ee],bt=_.tokenize(ft,!0,me,0);q[Ee]=bt.tokens,me=bt.endState}return q}function Gd(S,t){Mn.standaloneThemeService.get().defineTheme(S,t)}function Zd(S){Mn.standaloneThemeService.get().setTheme(S)}function Yd(){(0,Ed.P)()}function Qd(S,t){return W.P.registerCommand({id:S,handler:t})}function Xd(){return{create:Nd,onDidCreateEditor:Id,createDiffEditor:xd,createDiffNavigator:Md,createModel:Td,setModelLanguage:Rd,setModelMarkers:Ad,getModelMarkers:Od,onDidChangeMarkers:Pd,getModels:Fd,getModel:kd,onDidCreateModel:Bd,onWillDisposeModel:Wd,onDidChangeModelLanguage:Vd,createWebWorker:Hd,colorizeElement:Ud,colorize:zd,colorizeModelLine:Kd,tokenize:$d,defineTheme:Gd,setTheme:Zd,remeasureFonts:Yd,registerCommand:Qd,AccessibilitySupport:p,ContentWidgetPositionPreference:C,CursorChangeReason:f,DefaultEndOfLine:v,EditorAutoIndentStrategy:l,EditorOption:m,EndOfLinePreference:c,EndOfLineSequence:b,MinimapPosition:re,MouseTargetType:De,OverlayWidgetPositionPreference:J,OverviewRulerLane:Z,RenderLineNumbersType:Q,RenderMinimap:le,ScrollbarVisibility:j,ScrollType:xe,TextEditorCursorBlinkingStyle:te,TextEditorCursorStyle:ge,TrackedRangeStickiness:ye,WrappingIndent:ve,ConfigurationChangedEvent:h.Bb,BareFontInfo:Ht.E4,FontInfo:Ht.pR,TextModelResolvedOptions:Xe.dJ,FindMatch:Xe.tk,EditorType:ze.g,EditorOptions:h.BH}}function Jd(S,t){if(!t||!Array.isArray(t))return!1;for(const o of t)if(!S(o))return!1;return!0}function Sr(S,t){return typeof S=="boolean"?S:t}function cl(S,t){return typeof S=="string"?S:t}function qd(S){const t={};for(const o of S)t[o]=!0;return t}function ul(S,t=!1){t&&(S=S.map(function(_){return _.toLowerCase()}));const o=qd(S);return t?function(_){return o[_.toLowerCase()]!==void 0&&o.hasOwnProperty(_.toLowerCase())}:function(_){return o[_]!==void 0&&o.hasOwnProperty(_)}}function Ca(S,t){t=t.replace(/@@/g,"");let o=0,_;do _=!1,t=t.replace(/@(\w+)/g,function(q,me){_=!0;let Ee="";if(typeof S[me]=="string")Ee=S[me];else if(S[me]&&S[me]instanceof RegExp)Ee=S[me].source;else throw S[me]===void 0?ri(S,"language definition does not contain attribute '"+me+"', used at: "+t):ri(S,"attribute reference '"+me+"' must be a string, used at: "+t);return wt(Ee)?"":"(?:"+Ee+")"}),o++;while(_&&o<5);t=t.replace(/\x01/g,"@");let B=(S.ignoreCase?"i":"")+(S.unicode?"u":"");return new RegExp(t,B)}function ec(S,t,o,_){if(_<0)return S;if(_<t.length)return t[_];if(_>=100){_=_-100;let B=o.split(".");if(B.unshift(o),_<B.length)return B[_]}return null}function tc(S,t,o,_){let B=-1,q=o,me=o.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);me&&(me[3]&&(B=parseInt(me[3]),me[2]&&(B=B+100)),q=me[4]);let Ee="~",et=q;!q||q.length===0?(Ee="!=",et=""):/^\w*$/.test(et)?Ee="==":(me=q.match(/^(@|!@|~|!~|==|!=)(.*)$/),me&&(Ee=me[1],et=me[2]));let ft;if((Ee==="~"||Ee==="!~")&&/^(\w|\|)*$/.test(et)){let bt=ul(et.split("|"),S.ignoreCase);ft=function(Bt){return Ee==="~"?bt(Bt):!bt(Bt)}}else if(Ee==="@"||Ee==="!@"){let bt=S[et];if(!bt)throw ri(S,"the @ match target '"+et+"' is not defined, in rule: "+t);if(!Jd(function(_i){return typeof _i=="string"},bt))throw ri(S,"the @ match target '"+et+"' must be an array of strings, in rule: "+t);let Bt=ul(bt,S.ignoreCase);ft=function(_i){return Ee==="@"?Bt(_i):!Bt(_i)}}else if(Ee==="~"||Ee==="!~")if(et.indexOf("$")<0){let bt=Ca(S,"^"+et+"$");ft=function(Bt){return Ee==="~"?bt.test(Bt):!bt.test(Bt)}}else ft=function(bt,Bt,_i,Qi){return Ca(S,"^"+gi(S,et,Bt,_i,Qi)+"$").test(bt)};else if(et.indexOf("$")<0){let bt=Ut(S,et);ft=function(Bt){return Ee==="=="?Bt===bt:Bt!==bt}}else{let bt=Ut(S,et);ft=function(Bt,_i,Qi,$i,cn){let un=gi(S,bt,_i,Qi,$i);return Ee==="=="?Bt===un:Bt!==un}}return B===-1?{name:o,value:_,test:function(bt,Bt,_i,Qi){return ft(bt,bt,Bt,_i,Qi)}}:{name:o,value:_,test:function(bt,Bt,_i,Qi){let $i=ec(bt,Bt,_i,B);return ft($i||"",bt,Bt,_i,Qi)}}}function ba(S,t,o){if(o){if(typeof o=="string")return o;if(o.token||o.token===""){if(typeof o.token!="string")throw ri(S,"a 'token' attribute must be of type string, in rule: "+t);{let _={token:o.token};if(o.token.indexOf("$")>=0&&(_.tokenSubst=!0),typeof o.bracket=="string")if(o.bracket==="@open")_.bracket=1;else if(o.bracket==="@close")_.bracket=-1;else throw ri(S,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+t);if(o.next){if(typeof o.next!="string")throw ri(S,"the next state must be a string value in rule: "+t);{let B=o.next;if(!/^(@pop|@push|@popall)$/.test(B)&&(B[0]==="@"&&(B=B.substr(1)),B.indexOf("$")<0&&!Ei(S,gi(S,B,"",[],""))))throw ri(S,"the next state '"+o.next+"' is not defined in rule: "+t);_.next=B}}return typeof o.goBack=="number"&&(_.goBack=o.goBack),typeof o.switchTo=="string"&&(_.switchTo=o.switchTo),typeof o.log=="string"&&(_.log=o.log),typeof o.nextEmbedded=="string"&&(_.nextEmbedded=o.nextEmbedded,S.usesEmbedded=!0),_}}else if(Array.isArray(o)){let _=[];for(let B=0,q=o.length;B<q;B++)_[B]=ba(S,t,o[B]);return{group:_}}else if(o.cases){let _=[];for(let q in o.cases)if(o.cases.hasOwnProperty(q)){const me=ba(S,t,o.cases[q]);q==="@default"||q==="@"||q===""?_.push({test:void 0,value:me,name:q}):q==="@eos"?_.push({test:function(Ee,et,ft,bt){return bt},value:me,name:q}):_.push(tc(S,t,q,me))}const B=S.defaultToken;return{test:function(q,me,Ee,et){for(const ft of _)if(!ft.test||ft.test(q,me,Ee,et))return ft.value;return B}}}else throw ri(S,"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: "+t)}else return{token:""}}class ic{constructor(t){this.regex=new RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=t}setRegex(t,o){let _;if(typeof o=="string")_=o;else if(o instanceof RegExp)_=o.source;else throw ri(t,"rules must start with a match string or regular expression: "+this.name);this.matchOnlyAtLineStart=_.length>0&&_[0]==="^",this.name=this.name+": "+_,this.regex=Ca(t,"^(?:"+(this.matchOnlyAtLineStart?_.substr(1):_)+")")}setAction(t,o){this.action=ba(t,this.name,o)}}function nc(S,t){if(!t||typeof t!="object")throw new Error("Monarch: expecting a language definition object");let o={};o.languageId=S,o.includeLF=Sr(t.includeLF,!1),o.noThrow=!1,o.maxStack=100,o.start=typeof t.start=="string"?t.start:null,o.ignoreCase=Sr(t.ignoreCase,!1),o.unicode=Sr(t.unicode,!1),o.tokenPostfix=cl(t.tokenPostfix,"."+o.languageId),o.defaultToken=cl(t.defaultToken,"source"),o.usesEmbedded=!1;let _=t;_.languageId=S,_.includeLF=o.includeLF,_.ignoreCase=o.ignoreCase,_.unicode=o.unicode,_.noThrow=o.noThrow,_.usesEmbedded=o.usesEmbedded,_.stateNames=t.tokenizer,_.defaultToken=o.defaultToken;function B(me,Ee,et){for(const ft of et){let bt=ft.include;if(bt){if(typeof bt!="string")throw ri(o,"an 'include' attribute must be a string at: "+me);if(bt[0]==="@"&&(bt=bt.substr(1)),!t.tokenizer[bt])throw ri(o,"include target '"+bt+"' is not defined at: "+me);B(me+"."+bt,Ee,t.tokenizer[bt])}else{const Bt=new ic(me);if(Array.isArray(ft)&&ft.length>=1&&ft.length<=3)if(Bt.setRegex(_,ft[0]),ft.length>=3)if(typeof ft[1]=="string")Bt.setAction(_,{token:ft[1],next:ft[2]});else if(typeof ft[1]=="object"){const _i=ft[1];_i.next=ft[2],Bt.setAction(_,_i)}else throw ri(o,"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: "+me);else Bt.setAction(_,ft[1]);else{if(!ft.regex)throw ri(o,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+me);ft.name&&typeof ft.name=="string"&&(Bt.name=ft.name),ft.matchOnlyAtStart&&(Bt.matchOnlyAtLineStart=Sr(ft.matchOnlyAtLineStart,!1)),Bt.setRegex(_,ft.regex),Bt.setAction(_,ft.action)}Ee.push(Bt)}}}if(!t.tokenizer||typeof t.tokenizer!="object")throw ri(o,"a language definition must define the 'tokenizer' attribute as an object");o.tokenizer=[];for(let me in t.tokenizer)if(t.tokenizer.hasOwnProperty(me)){o.start||(o.start=me);const Ee=t.tokenizer[me];o.tokenizer[me]=new Array,B("tokenizer."+me,o.tokenizer[me],Ee)}if(o.usesEmbedded=_.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw ri(o,"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 q=[];for(let me of t.brackets){let Ee=me;if(Ee&&Array.isArray(Ee)&&Ee.length===3&&(Ee={token:Ee[2],open:Ee[0],close:Ee[1]}),Ee.open===Ee.close)throw ri(o,"open and close brackets in a 'brackets' attribute must be different: "+Ee.open+`
hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof Ee.open=="string"&&typeof Ee.token=="string"&&typeof Ee.close=="string")q.push({token:Ee.token+o.tokenPostfix,open:Ut(o,Ee.open),close:Ut(o,Ee.close)});else throw ri(o,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return o.brackets=q,o.noThrow=!0,o}function sc(S){zs.dQ.registerLanguage(S)}function oc(){let S=[];return S=S.concat(zs.dQ.getLanguages()),S}function rc(S){return Mn.modeService.get().languageIdCodec.encodeLanguageId(S)}function ac(S,t){let o=Mn.modeService.get().onDidEncounterLanguage(_=>{_===_&&(o.dispose(),t())});return o}function lc(S,t){const o=Mn.modeService.get().validateLanguageId(S);if(!o)throw new Error(`Cannot set configuration for unknown language ${S}`);return de.zu.register(o,t,100)}class dc{constructor(t,o){this._languageId=t,this._actual=o}getInitialState(){return this._actual.getInitialState()}tokenize(t,o,_,B){if(typeof this._actual.tokenize=="function")return Qo.adaptTokenize(this._languageId,this._actual,t,_,B);throw new Error("Not supported!")}tokenize2(t,o,_){let B=this._actual.tokenizeEncoded(t,_);return new E.Hi(B.tokens,B.endState)}}class Qo{constructor(t,o,_,B){this._languageId=t,this._actual=o,this._modeService=_,this._standaloneThemeService=B}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(t,o,_){let B=[],q=0;for(let me=0,Ee=t.length;me<Ee;me++){const et=t[me];let ft=et.startIndex;me===0?ft=0:ft<q&&(ft=q),B[me]=new E.WU(ft+_,et.scopes,o),q=ft}return B}static adaptTokenize(t,o,_,B,q){let me=o.tokenize(_,B),Ee=Qo._toClassicTokens(me.tokens,t,q),et;return me.endState.equals(B)?et=B:et=me.endState,new E.hG(Ee,et)}tokenize(t,o,_,B){return Qo.adaptTokenize(this._languageId,this._actual,t,_,B)}_toBinaryTokens(t,o,_){const B=t.encodeLanguageId(this._languageId),q=this._standaloneThemeService.getColorTheme().tokenTheme;let me=[],Ee=0,et=0;for(let bt=0,Bt=o.length;bt<Bt;bt++){const _i=o[bt],Qi=q.match(B,_i.scopes);if(Ee>0&&me[Ee-1]===Qi)continue;let $i=_i.startIndex;bt===0?$i=0:$i<et&&($i=et),me[Ee++]=$i+_,me[Ee++]=Qi,et=$i}let ft=new Uint32Array(Ee);for(let bt=0;bt<Ee;bt++)ft[bt]=me[bt];return ft}tokenize2(t,o,_,B){let q=this._actual.tokenize(t,_),me=this._toBinaryTokens(this._modeService.languageIdCodec,q.tokens,B),Ee;return q.endState.equals(_)?Ee=_:Ee=q.endState,new E.Hi(me,Ee)}}function cc(S){return"tokenizeEncoded"in S}function hl(S){return S&&typeof S.then=="function"}function uc(S){if(S){const t=[null];for(let o=1,_=S.length;o<_;o++)t[o]=Fs.Il.fromHex(S[o]);Mn.standaloneThemeService.get().setColorMapOverride(t)}else Mn.standaloneThemeService.get().setColorMapOverride(null)}function hc(S,t){const o=Mn.modeService.get().validateLanguageId(S);if(!o)throw new Error(`Cannot set tokens provider for unknown language ${S}`);const _=B=>cc(B)?new dc(o,B):new Qo(o,B,Mn.modeService.get(),Mn.standaloneThemeService.get());return hl(t)?Ze.RW.registerPromise(S,t.then(B=>_(B))):Ze.RW.register(S,_(t))}function fc(S,t){const o=_=>Yi(Mn.modeService.get(),Mn.standaloneThemeService.get(),S,nc(S,_));return hl(t)?Ze.RW.registerPromise(S,t.then(_=>o(_))):Ze.RW.register(S,o(t))}function gc(S,t){return Ze.FL.register(S,t)}function mc(S,t){return Ze.G0.register(S,t)}function pc(S,t){return Ze.nD.register(S,t)}function _c(S,t){return Ze.xp.register(S,{provideHover:(o,_,B)=>{let q=o.getWordAtPosition(_);return Promise.resolve(t.provideHover(o,_,B)).then(me=>{if(me)return!me.range&&q&&(me.range=new I.e(_.lineNumber,q.startColumn,_.lineNumber,q.endColumn)),me.range||(me.range=new I.e(_.lineNumber,_.column,_.lineNumber,_.column)),me})}})}function vc(S,t){return Ze.vJ.register(S,t)}function Cc(S,t){return Ze.vH.register(S,t)}function bc(S,t){return Ze.id.register(S,t)}function Sc(S,t){return Ze.Ct.register(S,t)}function wc(S,t){return Ze.vI.register(S,t)}function yc(S,t){return Ze.tA.register(S,t)}function Lc(S,t){return Ze.He.register(S,t)}function Dc(S,t,o){return Ze.H9.register(S,{providedCodeActionKinds:o==null?void 0:o.providedCodeActionKinds,provideCodeActions:(_,B,q,me)=>{let Ee=Mn.markerService.get().read({resource:_.uri}).filter(et=>I.e.areIntersectingOrTouching(et,B));return t.provideCodeActions(_,B,{markers:Ee,only:q.only},me)},resolveCodeAction:t.resolveCodeAction})}function Ec(S,t){return Ze.Az.register(S,t)}function Nc(S,t){return Ze.vN.register(S,t)}function Ic(S,t){return Ze.ln.register(S,t)}function xc(S,t){return Ze.pM.register(S,t)}function Mc(S,t){return Ze.KZ.register(S,t)}function Tc(S,t){return Ze.OH.register(S,t)}function Rc(S,t){return Ze.aC.register(S,t)}function Ac(S,t){return Ze.RN.register(S,t)}function Oc(S,t){return Ze.AC.register(S,t)}function Pc(S,t){return Ze.wT.register(S,t)}function kc(S,t){return Ze.K7.register(S,t)}function Fc(S,t){return Ze.zu.register(S,t)}function Bc(S,t){return Ze.mX.register(S,t)}function Wc(){return{register:sc,getLanguages:oc,onLanguage:ac,getEncodedLanguageId:rc,setLanguageConfiguration:lc,setColorMap:uc,setTokensProvider:hc,setMonarchTokensProvider:fc,registerReferenceProvider:gc,registerRenameProvider:mc,registerCompletionItemProvider:Mc,registerSignatureHelpProvider:pc,registerHoverProvider:_c,registerDocumentSymbolProvider:vc,registerDocumentHighlightProvider:Cc,registerLinkedEditingRangeProvider:bc,registerDefinitionProvider:Sc,registerImplementationProvider:wc,registerTypeDefinitionProvider:yc,registerCodeLensProvider:Lc,registerCodeActionProvider:Dc,registerDocumentFormattingEditProvider:Ec,registerDocumentRangeFormattingEditProvider:Nc,registerOnTypeFormattingEditProvider:Ic,registerLinkProvider:xc,registerColorProvider:Tc,registerFoldingRangeProvider:Rc,registerDeclarationProvider:Ac,registerSelectionRangeProvider:Oc,registerDocumentSemanticTokensProvider:Pc,registerDocumentRangeSemanticTokensProvider:kc,registerInlineCompletionsProvider:Fc,registerInlayHintsProvider:Bc,DocumentHighlightKind:r,CompletionItemKind:g,CompletionItemTag:w,CompletionItemInsertTextRule:a,SymbolKind:K,SymbolTag:ie,IndentAction:L,CompletionTriggerKind:s,SignatureHelpTriggerKind:V,InlayHintKind:T,InlineCompletionTriggerKind:M,FoldingRangeKind:Ze.AD}}var Vc=i(85080),Sa;h.BH.wrappingIndent.defaultValue=0,h.BH.glyphMargin.defaultValue=!1,h.BH.autoIndent.defaultValue=3,h.BH.overviewRulerLanes.defaultValue=2,Vc.xC.setFormatterSelector((S,t,o)=>Promise.resolve(S[0]));const Ss=we();Ss.editor=Xd(),Ss.languages=Wc();const Hc=Ss.CancellationTokenSource,Uc=Ss.Emitter,zc=Ss.KeyCode,Kc=Ss.KeyMod,jc=Ss.Position,$c=Ss.Range,Gc=Ss.Selection,Zc=Ss.SelectionDirection,Yc=Ss.MarkerSeverity,Qc=Ss.MarkerTag,Xc=Ss.Uri,Jc=Ss.Token,qc=Ss.editor,eu=Ss.languages;(!((Sa=Di.li.MonacoEnvironment)===null||Sa===void 0)&&Sa.globalAPI||typeof define=="function"&&i.amdO)&&(self.monaco=Ss),typeof self.require!="undefined"&&typeof self.require.config=="function"&&self.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"]})},34076:function(xt,Te,i){"use strict";i.r(Te);var h=i(69454),H=i(2727),O=i(40575),P=i(58941),D=i(62758),G=i(69323),I=i(23345),y=i(82983),E=i(4968),p=i(4514),a=i(68987),g=i(6410),w=i(90689),s=i(16925),C=i(5898),f=i(271),v=i(44350),r=i(49055),l=i(5530),m=function(se,re,De,J){var Z=arguments.length,Q=Z<3?re:J===null?J=Object.getOwnPropertyDescriptor(re,De):J,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Q=Reflect.decorate(se,re,De,J);else for(var xe=se.length-1;xe>=0;xe--)(le=se[xe])&&(Q=(Z<3?le(Q):Z>3?le(re,De,Q):le(re,De))||Q);return Z>3&&Q&&Object.defineProperty(re,De,Q),Q},c=function(se,re){return function(De,J){re(De,J,se)}};const b=new w.uy("accessibilityHelpWidgetVisible",!1);let L=class Fl extends G.JT{constructor(re,De){super(),this._editor=re,this._widget=this._register(De.createInstance(M,this._editor))}static get(re){return re.getContribution(Fl.ID)}show(){this._widget.show()}hide(){this._widget.hide()}};L.ID="editor.contrib.accessibilityHelpController",L=m([c(1,s.TG)],L);function T(se,re){return!se||se.length===0?l.Oe.noSelection:se.length===1?re?y.WU(l.Oe.singleSelectionRange,se[0].positionLineNumber,se[0].positionColumn,re):y.WU(l.Oe.singleSelection,se[0].positionLineNumber,se[0].positionColumn):re?y.WU(l.Oe.multiSelectionRange,se.length,re):se.length>0?y.WU(l.Oe.multiSelection,se.length):""}let M=class Nr extends D.${constructor(re,De,J,Z){super(),this._contextKeyService=De,this._keybindingService=J,this._openerService=Z,this._editor=re,this._isVisibleKey=b.bindTo(this._contextKeyService),this._domNode=(0,H.X)(document.createElement("div")),this._domNode.setClassName("accessibilityHelpWidget"),this._domNode.setDisplay("none"),this._domNode.setAttribute("role","dialog"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode=(0,H.X)(document.createElement("div")),this._contentDomNode.setAttribute("role","document"),this._domNode.appendChild(this._contentDomNode),this._isVisible=!1,this._register(this._editor.onDidLayoutChange(()=>{this._isVisible&&this._layout()})),this._register(h.mu(this._contentDomNode.domNode,"keydown",Q=>{if(this._isVisible&&(Q.equals(2083)&&((0,P.Z9)(l.Oe.emergencyConfOn),this._editor.updateOptions({accessibilitySupport:"on"}),h.PO(this._contentDomNode.domNode),this._buildContent(),this._contentDomNode.domNode.focus(),Q.preventDefault(),Q.stopPropagation()),Q.equals(2086))){(0,P.Z9)(l.Oe.openingDocs);let le=this._editor.getRawOptions().accessibilityHelpUrl;typeof le=="undefined"&&(le="https://go.microsoft.com/fwlink/?linkid=852450"),this._openerService.open(E.o.parse(le)),Q.preventDefault(),Q.stopPropagation()}})),this.onblur(this._contentDomNode.domNode,()=>{this.hide()}),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return Nr.ID}getDomNode(){return this._domNode.domNode}getPosition(){return{preference:null}}show(){this._isVisible||(this._isVisible=!0,this._isVisibleKey.set(!0),this._layout(),this._domNode.setDisplay("block"),this._domNode.setAttribute("aria-hidden","false"),this._contentDomNode.domNode.tabIndex=0,this._buildContent(),this._contentDomNode.domNode.focus())}_descriptionForCommand(re,De,J){let Z=this._keybindingService.lookupKeybinding(re);return Z?y.WU(De,Z.getAriaLabel()):y.WU(J,re)}_buildContent(){const re=this._editor.getOptions(),De=this._editor.getSelections();let J=0;if(De){const xe=this._editor.getModel();xe&&De.forEach(j=>{J+=xe.getValueLengthInRange(j)})}let Z=T(De,J);re.get(53)?re.get(80)?Z+=l.Oe.readonlyDiffEditor:Z+=l.Oe.editableDiffEditor:re.get(80)?Z+=l.Oe.readonlyEditor:Z+=l.Oe.editableEditor;const Q=I.dz?l.Oe.changeConfigToOnMac:l.Oe.changeConfigToOnWinLinux;switch(re.get(2)){case 0:Z+=`
- `+Q;break;case 2:Z+=`
- `+l.Oe.auto_on;break;case 1:Z+=`
- `+l.Oe.auto_off,Z+=" "+Q;break}re.get(128)?Z+=`
- `+this._descriptionForCommand(g.ToggleTabFocusModeAction.ID,l.Oe.tabFocusModeOnMsg,l.Oe.tabFocusModeOnMsgNoKb):Z+=`
- `+this._descriptionForCommand(g.ToggleTabFocusModeAction.ID,l.Oe.tabFocusModeOffMsg,l.Oe.tabFocusModeOffMsgNoKb);const le=I.dz?l.Oe.openDocMac:l.Oe.openDocWinLinux;Z+=`
- `+le,Z+=`
`+l.Oe.outroMsg,this._contentDomNode.domNode.appendChild((0,O.BO)(Z)),this._contentDomNode.domNode.setAttribute("aria-label",Z)}hide(){this._isVisible&&(this._isVisible=!1,this._isVisibleKey.reset(),this._domNode.setDisplay("none"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode.domNode.tabIndex=-1,h.PO(this._contentDomNode.domNode),this._editor.focus())}_layout(){let re=this._editor.getLayoutInfo(),De=Math.max(5,Math.min(Nr.WIDTH,re.width-40)),J=Math.max(5,Math.min(Nr.HEIGHT,re.height-40));this._domNode.setWidth(De),this._domNode.setHeight(J);let Z=Math.round((re.height-J)/2);this._domNode.setTop(Z);let Q=Math.round((re.width-De)/2);this._domNode.setLeft(Q)}};M.ID="editor.contrib.accessibilityHelpWidget",M.WIDTH=500,M.HEIGHT=300,M=m([c(1,w.i6),c(2,C.d),c(3,f.v4)],M);class z extends p.R6{constructor(){super({id:"editor.action.showAccessibilityHelp",label:l.Oe.showAccessibilityHelpAction,alias:"Show Accessibility Help",precondition:void 0,kbOpts:{primary:571,weight:100,linux:{primary:1595,secondary:[571]}}})}run(re,De){let J=L.get(De);J&&J.show()}}(0,p._K)(L.ID,L),(0,p.Qr)(z);const oe=p._l.bindToContribution(L.get);(0,p.fK)(new oe({id:"closeAccessibilityHelp",precondition:b,handler:se=>se.hide(),kbOpts:{weight:200,kbExpr:a.u.focus,primary:9,secondary:[1033]}})),(0,r.Ic)((se,re)=>{const De=se.getColor(v.D0);De&&re.addRule(`.monaco-editor .accessibilityHelpWidget { background-color: ${De}; }`);const J=se.getColor(v.Hf);J&&re.addRule(`.monaco-editor .accessibilityHelpWidget { color: ${J}; }`);const Z=se.getColor(v.rh);Z&&re.addRule(`.monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px ${Z}; }`);const Q=se.getColor(v.lR);Q&&re.addRule(`.monaco-editor .accessibilityHelpWidget { border: 2px solid ${Q}; }`)})},26021:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{IPadShowKeyboard:function(){return D}});var h=i(69454),H=i(69323),O=i(4514),P=i(23345);class D extends H.JT{constructor(y){super(),this.editor=y,this.widget=null,P.gn&&(this._register(y.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const y=!this.editor.getOption(80);!this.widget&&y?this.widget=new G(this.editor):this.widget&&!y&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}D.ID="editor.contrib.iPadShowKeyboard";class G extends H.JT{constructor(y){super(),this.editor=y,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(h.nm(this._domNode,"touchstart",E=>{this.editor.focus()})),this._register(h.nm(this._domNode,"focus",E=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return G.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}G.ID="editor.contrib.ShowKeyboardWidget",(0,O._K)(D.ID,D)},30245:function(xt,Te,i){"use strict";i.r(Te);var h=i(69454),H=i(51737),O=i(69323),P=i(4514),D=i(27347),G=i(31275),I=i(64992),y=i(63908),E=i(44350),p=i(49055),a=i(5530),g=i(66213),w=function(m,c,b,L){var T=arguments.length,M=T<3?c:L===null?L=Object.getOwnPropertyDescriptor(c,b):L,z;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")M=Reflect.decorate(m,c,b,L);else for(var oe=m.length-1;oe>=0;oe--)(z=m[oe])&&(M=(T<3?z(M):T>3?z(c,b,M):z(c,b))||M);return T>3&&M&&Object.defineProperty(c,b,M),M},s=function(m,c){return function(b,L){c(b,L,m)}};let C=class Bl extends O.JT{constructor(c,b,L){super(),this._editor=c,this._modeService=L,this._widget=null,this._register(this._editor.onDidChangeModel(T=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(T=>this.stop())),this._register(D.RW.onDidChange(T=>this.stop())),this._register(this._editor.onKeyUp(T=>T.keyCode===9&&this.stop()))}static get(c){return c.getContribution(Bl.ID)}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new l(this._editor,this._modeService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};C.ID="editor.contrib.inspectTokens",C=w([s(1,y.Z),s(2,I.h)],C);class f extends P.R6{constructor(){super({id:"editor.action.inspectTokens",label:a.ug.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(c,b){let L=C.get(b);L&&L.launch()}}function v(m){let c="";for(let b=0,L=m.length;b<L;b++){let T=m.charCodeAt(b);switch(T){case 9:c+="\u2192";break;case 32:c+="\xB7";break;default:c+=String.fromCharCode(T)}}return c}function r(m,c){const b=D.RW.get(c);if(b)return b;const L=m.encodeLanguageId(c);return{getInitialState:()=>G.nO,tokenize:(T,M,z,oe)=>(0,G.Ri)(c,T,z,oe),tokenize2:(T,M,z,oe)=>(0,G.mh)(L,T,z,oe)}}class l extends O.JT{constructor(c,b){super(),this.allowEditorOverflow=!0,this._editor=c,this._modeService=b,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=r(this._modeService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(L=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return l._ID}_compute(c){let b=this._getTokensAtLine(c.lineNumber),L=0;for(let se=b.tokens1.length-1;se>=0;se--){let re=b.tokens1[se];if(c.column-1>=re.offset){L=se;break}}let T=0;for(let se=b.tokens2.length>>>1;se>=0;se--)if(c.column-1>=b.tokens2[se<<1]){T=se;break}let M=this._model.getLineContent(c.lineNumber),z="";if(L<b.tokens1.length){let se=b.tokens1[L].offset,re=L+1<b.tokens1.length?b.tokens1[L+1].offset:M.length;z=M.substring(se,re)}(0,h.mc)(this._domNode,(0,h.$)("h2.tm-token",void 0,v(z),(0,h.$)("span.tm-token-length",void 0,`${z.length} ${z.length===1?"char":"chars"}`))),(0,h.R3)(this._domNode,(0,h.$)("hr.tokens-inspect-separator",{style:"clear:both"}));const oe=(T<<1)+1<b.tokens2.length?this._decodeMetadata(b.tokens2[(T<<1)+1]):null;(0,h.R3)(this._domNode,(0,h.$)("table.tm-metadata-table",void 0,(0,h.$)("tbody",void 0,(0,h.$)("tr",void 0,(0,h.$)("td.tm-metadata-key",void 0,"language"),(0,h.$)("td.tm-metadata-value",void 0,`${oe?oe.languageId:"-?-"}`)),(0,h.$)("tr",void 0,(0,h.$)("td.tm-metadata-key",void 0,"token type"),(0,h.$)("td.tm-metadata-value",void 0,`${oe?this._tokenTypeToString(oe.tokenType):"-?-"}`)),(0,h.$)("tr",void 0,(0,h.$)("td.tm-metadata-key",void 0,"font style"),(0,h.$)("td.tm-metadata-value",void 0,`${oe?this._fontStyleToString(oe.fontStyle):"-?-"}`)),(0,h.$)("tr",void 0,(0,h.$)("td.tm-metadata-key",void 0,"foreground"),(0,h.$)("td.tm-metadata-value",void 0,`${oe?H.Il.Format.CSS.formatHex(oe.foreground):"-?-"}`)),(0,h.$)("tr",void 0,(0,h.$)("td.tm-metadata-key",void 0,"background"),(0,h.$)("td.tm-metadata-value",void 0,`${oe?H.Il.Format.CSS.formatHex(oe.background):"-?-"}`))))),(0,h.R3)(this._domNode,(0,h.$)("hr.tokens-inspect-separator")),L<b.tokens1.length&&(0,h.R3)(this._domNode,(0,h.$)("span.tm-token-type",void 0,b.tokens1[L].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(c){let b=D.RW.getColorMap(),L=D.NX.getLanguageId(c),T=D.NX.getTokenType(c),M=D.NX.getFontStyle(c),z=D.NX.getForeground(c),oe=D.NX.getBackground(c);return{languageId:this._modeService.languageIdCodec.decodeLanguageId(L),tokenType:T,fontStyle:M,foreground:b[z],background:b[oe]}}_tokenTypeToString(c){switch(c){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 4:return"RegEx";default:return"??"}}_fontStyleToString(c){let b="";return c&1&&(b+="italic "),c&2&&(b+="bold "),c&4&&(b+="underline "),b.length===0&&(b="---"),b}_getTokensAtLine(c){let b=this._getStateBeforeLine(c),L=this._tokenizationSupport.tokenize(this._model.getLineContent(c),!0,b,0),T=this._tokenizationSupport.tokenize2(this._model.getLineContent(c),!0,b,0);return{startState:b,tokens1:L.tokens,tokens2:T.tokens,endState:L.endState}}_getStateBeforeLine(c){let b=this._tokenizationSupport.getInitialState();for(let L=1;L<c;L++)b=this._tokenizationSupport.tokenize(this._model.getLineContent(L),!0,b,0).endState;return b}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}}l._ID="editor.contrib.inspectTokensWidget",(0,P._K)(C.ID,C),(0,P.Qr)(f),(0,p.Ic)((m,c)=>{const b=m.getColor(E.CN);if(b){let M=m.type===g.e.HIGH_CONTRAST?2:1;c.addRule(`.monaco-editor .tokens-inspect-widget { border: ${M}px solid ${b}; }`),c.addRule(`.monaco-editor .tokens-inspect-widget .tokens-inspect-separator { background-color: ${b}; }`)}const L=m.getColor(E.yJ);L&&c.addRule(`.monaco-editor .tokens-inspect-widget { background-color: ${L}; }`);const T=m.getColor(E.Sb);T&&c.addRule(`.monaco-editor .tokens-inspect-widget { color: ${T}; }`)})},63435:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{GotoLineAction:function(){return Fe},StandaloneCommandsQuickAccessProvider:function(){return ve}});var h=i(44650),H=i(82825),O=i(5530),P=i(70827),D=i(38940),G=i(43506),I=i(72999),y=i(13268);function E(we,ue){return ue&&(we.stack||we.stacktrace)?y.N("stackTrace.format","{0}: {1}",a(we),p(we.stack)||p(we.stacktrace)):a(we)}function p(we){return Array.isArray(we)?we.join(`
`):we}function a(we){return typeof we.code=="string"&&typeof we.errno=="number"&&typeof we.syscall=="string"?y.N("nodeExceptionMessage","A system error occurred ({0})",we.message):we.message||y.N("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function g(we=null,ue=!1){if(!we)return y.N("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(we)){const ce=G.kX(we),Ve=g(ce[0],ue);return ce.length>1?y.N("error.moreErrors","{0} ({1} errors in total)",Ve,ce.length):Ve}if(I.HD(we))return we;if(we.detail){const ce=we.detail;if(ce.error)return E(ce.error,ue);if(ce.exception)return E(ce.exception,ue)}return we.stack?E(we,ue):we.message?we.message:y.N("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var w=i(79881),s=i(99599),C=i(69323),f=i(78421),v=i(37254),r=i(35884),l=i(21194),m=i(94726),c=i(16925),b=i(5898),L=i(50431),T=i(96283),M=function(we,ue,ce,Ve){function We(ae){return ae instanceof ce?ae:new ce(function(fe){fe(ae)})}return new(ce||(ce=Promise))(function(ae,fe){function ne(ee){try{$(Ve.next(ee))}catch(he){fe(he)}}function W(ee){try{$(Ve.throw(ee))}catch(he){fe(he)}}function $(ee){ee.done?ae(ee.value):We(ee.value).then(ne,W)}$((Ve=Ve.apply(we,ue||[])).next())})},z;(function(we){we[we.NO_ACTION=0]="NO_ACTION",we[we.CLOSE_PICKER=1]="CLOSE_PICKER",we[we.REFRESH_PICKER=2]="REFRESH_PICKER",we[we.REMOVE_ITEM=3]="REMOVE_ITEM"})(z||(z={}));function oe(we){const ue=we;return Array.isArray(ue.items)}function se(we){const ue=we;return!!ue.picks&&ue.additionalPicks instanceof Promise}class re extends C.JT{constructor(ue,ce){super(),this.prefix=ue,this.options=ce}provide(ue,ce){var Ve;const We=new C.SL;ue.canAcceptInBackground=!!(!((Ve=this.options)===null||Ve===void 0)&&Ve.canAcceptInBackground),ue.matchOnLabel=ue.matchOnDescription=ue.matchOnDetail=ue.sortByLabel=!1;let ae;const fe=We.add(new C.XK),ne=()=>M(this,void 0,void 0,function*(){const W=fe.value=new C.SL;ae==null||ae.dispose(!0),ue.busy=!1,ae=new T.A(ce);const $=ae.token,ee=ue.value.substr(this.prefix.length).trim(),he=this._getPicks(ee,W,$),Pe=(Ye,it)=>{var rt;let vt,Ft;if(oe(Ye)?(vt=Ye.items,Ft=Ye.active):vt=Ye,vt.length===0){if(it)return!1;ee.length>0&&(!((rt=this.options)===null||rt===void 0)&&rt.noResultsPick)&&(vt=[this.options.noResultsPick])}return ue.items=vt,Ft&&(ue.activeItems=[Ft]),!0};if(he!==null)if(se(he)){let Ye=!1,it=!1;yield Promise.all([M(this,void 0,void 0,function*(){yield(0,L.Vs)(re.FAST_PICKS_RACE_DELAY),!$.isCancellationRequested&&(it||(Ye=Pe(he.picks,!0)))}),M(this,void 0,void 0,function*(){ue.busy=!0;try{const rt=yield he.additionalPicks;if($.isCancellationRequested)return;let vt,Ft;oe(he.picks)?(vt=he.picks.items,Ft=he.picks.active):vt=he.picks;let Ht,ze;if(oe(rt)?(Ht=rt.items,ze=rt.active):Ht=rt,Ht.length>0||!Ye){let Xe;if(!Ft&&!ze){const Ze=ue.activeItems[0];Ze&&vt.indexOf(Ze)!==-1&&(Xe=Ze)}Pe({items:[...vt,...Ht],active:Ft||ze||Xe})}}finally{$.isCancellationRequested||(ue.busy=!1),it=!0}})])}else if(!(he instanceof Promise))Pe(he);else{ue.busy=!0;try{const Ye=yield he;if($.isCancellationRequested)return;Pe(Ye)}finally{$.isCancellationRequested||(ue.busy=!1)}}});return We.add(ue.onDidChangeValue(()=>ne())),ne(),We.add(ue.onDidAccept(W=>{const[$]=ue.selectedItems;typeof($==null?void 0:$.accept)=="function"&&(W.inBackground||ue.hide(),$.accept(ue.keyMods,W))})),We.add(ue.onDidTriggerItemButton(({button:W,item:$})=>M(this,void 0,void 0,function*(){var ee,he;if(typeof $.trigger=="function"){const Pe=(he=(ee=$.buttons)===null||ee===void 0?void 0:ee.indexOf(W))!==null&&he!==void 0?he:-1;if(Pe>=0){const Ye=$.trigger(Pe,ue.keyMods),it=typeof Ye=="number"?Ye:yield Ye;if(ce.isCancellationRequested)return;switch(it){case z.NO_ACTION:break;case z.CLOSE_PICKER:ue.hide();break;case z.REFRESH_PICKER:ne();break;case z.REMOVE_ITEM:const rt=ue.items.indexOf($);if(rt!==-1){const vt=ue.items.slice(),Ft=vt.splice(rt,1),Ht=ue.activeItems.filter(Xe=>Xe!==Ft[0]),ze=ue.keepScrollPosition;ue.keepScrollPosition=!0,ue.items=vt,Ht&&(ue.activeItems=Ht),ue.keepScrollPosition=ze}break}}}}))),We}}re.FAST_PICKS_RACE_DELAY=200;var De=i(19490),J=i(14347),Z=function(we,ue,ce,Ve){var We=arguments.length,ae=We<3?ue:Ve===null?Ve=Object.getOwnPropertyDescriptor(ue,ce):Ve,fe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ae=Reflect.decorate(we,ue,ce,Ve);else for(var ne=we.length-1;ne>=0;ne--)(fe=we[ne])&&(ae=(We<3?fe(ae):We>3?fe(ue,ce,ae):fe(ue,ce))||ae);return We>3&&ae&&Object.defineProperty(ue,ce,ae),ae},Q=function(we,ue){return function(ce,Ve){ue(ce,Ve,we)}},le=function(we,ue,ce,Ve){function We(ae){return ae instanceof ce?ae:new ce(function(fe){fe(ae)})}return new(ce||(ce=Promise))(function(ae,fe){function ne(ee){try{$(Ve.next(ee))}catch(he){fe(he)}}function W(ee){try{$(Ve.throw(ee))}catch(he){fe(he)}}function $(ee){ee.done?ae(ee.value):We(ee.value).then(ne,W)}$((Ve=Ve.apply(we,ue||[])).next())})};let xe=class Ir extends re{constructor(ue,ce,Ve,We,ae,fe){super(Ir.PREFIX,ue),this.instantiationService=ce,this.keybindingService=Ve,this.commandService=We,this.telemetryService=ae,this.dialogService=fe,this.commandsHistory=this._register(this.instantiationService.createInstance(j)),this.options=ue}_getPicks(ue,ce,Ve){return le(this,void 0,void 0,function*(){const We=yield this.getCommandPicks(ce,Ve);if(Ve.isCancellationRequested)return[];const ae=[];for(const $ of We){const ee=(0,I.f6)(Ir.WORD_FILTER(ue,$.label)),he=$.commandAlias?(0,I.f6)(Ir.WORD_FILTER(ue,$.commandAlias)):void 0;ee||he?($.highlights={label:ee,detail:this.options.showAlias?he:void 0},ae.push($)):ue===$.commandId&&ae.push($)}const fe=new Map;for(const $ of ae){const ee=fe.get($.label);ee?($.description=$.commandId,ee.description=ee.commandId):fe.set($.label,$)}ae.sort(($,ee)=>{const he=this.commandsHistory.peek($.commandId),Pe=this.commandsHistory.peek(ee.commandId);return he&&Pe?he>Pe?-1:1:he?-1:Pe?1:$.label.localeCompare(ee.label)});const ne=[];let W=!1;for(let $=0;$<ae.length;$++){const ee=ae[$],he=this.keybindingService.lookupKeybinding(ee.commandId),Pe=he?(0,y.N)("commandPickAriaLabelWithKeybinding","{0}, {1}",ee.label,he.getAriaLabel()):ee.label;$===0&&this.commandsHistory.peek(ee.commandId)&&(ne.push({type:"separator",label:(0,y.N)("recentlyUsed","recently used")}),W=!0),$!==0&&W&&!this.commandsHistory.peek(ee.commandId)&&(ne.push({type:"separator",label:(0,y.N)("morecCommands","other commands")}),W=!1),ne.push(Object.assign(Object.assign({},ee),{ariaLabel:Pe,detail:this.options.showAlias&&ee.commandAlias!==ee.label?ee.commandAlias:void 0,keybinding:he,accept:()=>le(this,void 0,void 0,function*(){this.commandsHistory.push(ee.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:ee.commandId,from:"quick open"});try{yield this.commandService.executeCommand(ee.commandId)}catch(Ye){(0,w.VV)(Ye)||this.dialogService.show(v.Z.Error,(0,y.N)("canNotRun","Command '{0}' resulted in an error ({1})",ee.label,g(Ye)))}})}))}return ne})}};xe.PREFIX=">",xe.WORD_FILTER=(0,s.or)(s.Ji,s.KZ,s.ir),xe=Z([Q(1,c.TG),Q(2,b.d),Q(3,r.H),Q(4,J.b),Q(5,m.S)],xe);let j=class ls extends C.JT{constructor(ue,ce){super(),this.storageService=ue,this.configurationService=ce,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(()=>this.updateConfiguration()))}updateConfiguration(){this.configuredCommandsHistoryLength=ls.getConfiguredCommandHistoryLength(this.configurationService),ls.cache&&ls.cache.limit!==this.configuredCommandsHistoryLength&&(ls.cache.limit=this.configuredCommandsHistoryLength,ls.saveState(this.storageService))}load(){const ue=this.storageService.get(ls.PREF_KEY_CACHE,0);let ce;if(ue)try{ce=JSON.parse(ue)}catch(We){}const Ve=ls.cache=new f.z6(this.configuredCommandsHistoryLength,1);if(ce){let We;ce.usesLRU?We=ce.entries:We=ce.entries.sort((ae,fe)=>ae.value-fe.value),We.forEach(ae=>Ve.set(ae.key,ae.value))}ls.counter=this.storageService.getNumber(ls.PREF_KEY_COUNTER,0,ls.counter)}push(ue){ls.cache&&(ls.cache.set(ue,ls.counter++),ls.saveState(this.storageService))}peek(ue){var ce;return(ce=ls.cache)===null||ce===void 0?void 0:ce.peek(ue)}static saveState(ue){if(!ls.cache)return;const ce={usesLRU:!0,entries:[]};ls.cache.forEach((Ve,We)=>ce.entries.push({key:We,value:Ve})),ue.store(ls.PREF_KEY_CACHE,JSON.stringify(ce),0,0),ue.store(ls.PREF_KEY_COUNTER,ls.counter,0,0)}static getConfiguredCommandHistoryLength(ue){var ce,Ve;const ae=(Ve=(ce=ue.getValue().workbench)===null||ce===void 0?void 0:ce.commandPalette)===null||Ve===void 0?void 0:Ve.history;return typeof ae=="number"?ae:ls.DEFAULT_COMMANDS_HISTORY_LENGTH}};j.DEFAULT_COMMANDS_HISTORY_LENGTH=50,j.PREF_KEY_CACHE="commandPalette.mru.cache",j.PREF_KEY_COUNTER="commandPalette.mru.counter",j.counter=1,j=Z([Q(0,De.Uy),Q(1,l.Ui)],j);class R extends xe{constructor(ue,ce,Ve,We,ae,fe){super(ue,ce,Ve,We,ae,fe)}getCodeEditorCommandPicks(){const ue=this.activeTextEditorControl;if(!ue)return[];const ce=[];for(const Ve of ue.getSupportedActions())ce.push({commandId:Ve.id,commandAlias:Ve.alias,label:(0,D.x$)(Ve.label)||Ve.id});return ce}}var V=i(4514),K=i(68987),ie=i(96148),te=function(we,ue,ce,Ve){var We=arguments.length,ae=We<3?ue:Ve===null?Ve=Object.getOwnPropertyDescriptor(ue,ce):Ve,fe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ae=Reflect.decorate(we,ue,ce,Ve);else for(var ne=we.length-1;ne>=0;ne--)(fe=we[ne])&&(ae=(We<3?fe(ae):We>3?fe(ue,ce,ae):fe(ue,ce))||ae);return We>3&&ae&&Object.defineProperty(ue,ce,ae),ae},ge=function(we,ue){return function(ce,Ve){ue(ce,Ve,we)}},ye=function(we,ue,ce,Ve){function We(ae){return ae instanceof ce?ae:new ce(function(fe){fe(ae)})}return new(ce||(ce=Promise))(function(ae,fe){function ne(ee){try{$(Ve.next(ee))}catch(he){fe(he)}}function W(ee){try{$(Ve.throw(ee))}catch(he){fe(he)}}function $(ee){ee.done?ae(ee.value):We(ee.value).then(ne,W)}$((Ve=Ve.apply(we,ue||[])).next())})};let ve=class extends R{constructor(ue,ce,Ve,We,ae,fe){super({showAlias:!1},ue,Ve,We,ae,fe),this.codeEditorService=ce}get activeTextEditorControl(){return(0,I.f6)(this.codeEditorService.getFocusedCodeEditor())}getCommandPicks(){return ye(this,void 0,void 0,function*(){return this.getCodeEditorCommandPicks()})}};ve=te([ge(0,c.TG),ge(1,P.$),ge(2,b.d),ge(3,r.H),ge(4,J.b),ge(5,m.S)],ve),h.B.as(H.IP.Quickaccess).registerQuickAccessProvider({ctor:ve,prefix:ve.PREFIX,helpEntries:[{description:O.UX.quickCommandHelp,needsEditor:!0}]});class Fe extends V.R6{constructor(){super({id:"editor.action.quickCommand",label:O.UX.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:K.u.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(ue){ue.get(ie.eJ).quickAccess.show(ve.PREFIX)}}(0,V.Qr)(Fe)},65586:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{GotoLineAction:function(){return r},StandaloneGotoLineQuickAccessProvider:function(){return v}});var h=i(69323),H=i(62843),O=i(37822),P=i(13268);class D extends O.X{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(m){const c=(0,P.N)("cannotRunGotoLine","Open a text editor first to go to a line.");return m.items=[{label:c}],m.ariaLabel=c,h.JT.None}provideWithTextEditor(m,c,b){const L=m.editor,T=new h.SL;T.add(c.onDidAccept(oe=>{const[se]=c.selectedItems;if(se){if(!this.isValidLineNumber(L,se.lineNumber))return;this.gotoLocation(m,{range:this.toRange(se.lineNumber,se.column),keyMods:c.keyMods,preserveFocus:oe.inBackground}),oe.inBackground||c.hide()}}));const M=()=>{const oe=this.parsePosition(L,c.value.trim().substr(D.PREFIX.length)),se=this.getPickLabel(L,oe.lineNumber,oe.column);if(c.items=[{lineNumber:oe.lineNumber,column:oe.column,label:se}],c.ariaLabel=se,!this.isValidLineNumber(L,oe.lineNumber)){this.clearDecorations(L);return}const re=this.toRange(oe.lineNumber,oe.column);L.revealRangeInCenter(re,0),this.addDecorations(L,re)};M(),T.add(c.onDidChangeValue(()=>M()));const z=(0,H.Pi)(L);return z&&z.getOptions().get(59).renderType===2&&(z.updateOptions({lineNumbers:"on"}),T.add((0,h.OF)(()=>z.updateOptions({lineNumbers:"relative"})))),T}toRange(m=1,c=1){return{startLineNumber:m,startColumn:c,endLineNumber:m,endColumn:c}}parsePosition(m,c){const b=c.split(/,|:|#/).map(T=>parseInt(T,10)).filter(T=>!isNaN(T)),L=this.lineCount(m)+1;return{lineNumber:b[0]>0?b[0]:L+b[0],column:b[1]}}getPickLabel(m,c,b){if(this.isValidLineNumber(m,c))return this.isValidColumn(m,c,b)?(0,P.N)("gotoLineColumnLabel","Go to line {0} and character {1}.",c,b):(0,P.N)("gotoLineLabel","Go to line {0}.",c);const L=m.getPosition()||{lineNumber:1,column:1},T=this.lineCount(m);return T>1?(0,P.N)("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",L.lineNumber,L.column,T):(0,P.N)("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",L.lineNumber,L.column)}isValidLineNumber(m,c){return!c||typeof c!="number"?!1:c>0&&c<=this.lineCount(m)}isValidColumn(m,c,b){if(!b||typeof b!="number")return!1;const L=this.getModel(m);if(!L)return!1;const T={lineNumber:c,column:b};return L.validatePosition(T).equals(T)}lineCount(m){var c,b;return(b=(c=this.getModel(m))===null||c===void 0?void 0:c.getLineCount())!==null&&b!==void 0?b:0}}D.PREFIX=":";var G=i(44650),I=i(82825),y=i(70827),E=i(72999),p=i(5530),a=i(4348),g=i(4514),w=i(68987),s=i(96148),C=function(l,m,c,b){var L=arguments.length,T=L<3?m:b===null?b=Object.getOwnPropertyDescriptor(m,c):b,M;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")T=Reflect.decorate(l,m,c,b);else for(var z=l.length-1;z>=0;z--)(M=l[z])&&(T=(L<3?M(T):L>3?M(m,c,T):M(m,c))||T);return L>3&&T&&Object.defineProperty(m,c,T),T},f=function(l,m){return function(c,b){m(c,b,l)}};let v=class extends D{constructor(m){super(),this.editorService=m,this.onDidActiveTextEditorControlChange=a.ju.None}get activeTextEditorControl(){return(0,E.f6)(this.editorService.getFocusedCodeEditor())}};v=C([f(0,y.$)],v),G.B.as(I.IP.Quickaccess).registerQuickAccessProvider({ctor:v,prefix:v.PREFIX,helpEntries:[{description:p.qq.gotoLineActionLabel,needsEditor:!0}]});class r extends g.R6{constructor(){super({id:"editor.action.gotoLine",label:p.qq.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:w.u.focus,primary:2085,mac:{primary:293},weight:100}})}run(m){m.get(s.eJ).quickAccess.show(v.PREFIX)}}(0,g.Qr)(r)},83861:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{GotoLineAction:function(){return ge},StandaloneGotoSymbolQuickAccessProvider:function(){return te}});var h=i(40745),H=i(45495),O=i(96283),P=i(52615),D=i(99599),G=i(86408),I=i(23345),y=i(82983);const E=[void 0,[]];function p(ye,ve,Fe=0,we=0){const ue=ve;return ue.values&&ue.values.length>1?a(ye,ue.values,Fe,we):g(ye,ve,Fe,we)}function a(ye,ve,Fe,we){let ue=0;const ce=[];for(const Ve of ve){const[We,ae]=g(ye,Ve,Fe,we);if(typeof We!="number")return E;ue+=We,ce.push(...ae)}return[ue,w(ce)]}function g(ye,ve,Fe,we){const ue=(0,D.EW)(ve.original,ve.originalLowercase,Fe,ye,ye.toLowerCase(),we,!0);return ue?[ue[0],(0,D.mB)(ue)]:E}function w(ye){const ve=ye.sort((ue,ce)=>ue.start-ce.start),Fe=[];let we;for(const ue of ve)!we||!s(we,ue)?(we=ue,Fe.push(ue)):(we.start=Math.min(we.start,ue.start),we.end=Math.max(we.end,ue.end));return Fe}function s(ye,ve){return!(ye.end<ve.start||ve.end<ye.start)}function C(ye){return ye.startsWith('"')&&ye.endsWith('"')}const f=" ";function v(ye){typeof ye!="string"&&(ye="");const ve=ye.toLowerCase(),{pathNormalized:Fe,normalized:we,normalizedLowercase:ue}=r(ye),ce=Fe.indexOf(G.ir)>=0,Ve=C(ye);let We;const ae=ye.split(f);if(ae.length>1)for(const fe of ae){const ne=C(fe),{pathNormalized:W,normalized:$,normalizedLowercase:ee}=r(fe);$&&(We||(We=[]),We.push({original:fe,originalLowercase:fe.toLowerCase(),pathNormalized:W,normalized:$,normalizedLowercase:ee,expectContiguousMatch:ne}))}return{original:ye,originalLowercase:ve,pathNormalized:Fe,normalized:we,normalizedLowercase:ue,values:We,containsPathSeparator:ce,expectContiguousMatch:Ve}}function r(ye){let ve;I.ED?ve=ye.replace(/\//g,G.ir):ve=ye.replace(/\\/g,G.ir);const Fe=(0,y.R1)(ve).replace(/\s|"/g,"");return{pathNormalized:ve,normalized:Fe,normalizedLowercase:Fe.toLowerCase()}}function l(ye){return Array.isArray(ye)?v(ye.map(ve=>ve.original).join(f)):v(ye.original)}var m=i(69323),c=i(17373),b=i(27347),L=i(16903),T=i(37822),M=i(13268),z=function(ye,ve,Fe,we){function ue(ce){return ce instanceof Fe?ce:new Fe(function(Ve){Ve(ce)})}return new(Fe||(Fe=Promise))(function(ce,Ve){function We(ne){try{fe(we.next(ne))}catch(W){Ve(W)}}function ae(ne){try{fe(we.throw(ne))}catch(W){Ve(W)}}function fe(ne){ne.done?ce(ne.value):ue(ne.value).then(We,ae)}fe((we=we.apply(ye,ve||[])).next())})};class oe extends T.X{constructor(ve=Object.create(null)){super(ve),this.options=ve,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(ve){return this.provideLabelPick(ve,(0,M.N)("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),m.JT.None}provideWithTextEditor(ve,Fe,we){const ue=ve.editor,ce=this.getModel(ue);return ce?b.vJ.has(ce)?this.doProvideWithEditorSymbols(ve,ce,Fe,we):this.doProvideWithoutEditorSymbols(ve,ce,Fe,we):m.JT.None}doProvideWithoutEditorSymbols(ve,Fe,we,ue){const ce=new m.SL;return this.provideLabelPick(we,(0,M.N)("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),z(this,void 0,void 0,function*(){!(yield this.waitForLanguageSymbolRegistry(Fe,ce))||ue.isCancellationRequested||ce.add(this.doProvideWithEditorSymbols(ve,Fe,we,ue))}),ce}provideLabelPick(ve,Fe){ve.items=[{label:Fe,index:0,kind:14}],ve.ariaLabel=Fe}waitForLanguageSymbolRegistry(ve,Fe){return z(this,void 0,void 0,function*(){if(b.vJ.has(ve))return!0;let we;const ue=new Promise(Ve=>we=Ve),ce=Fe.add(b.vJ.onDidChange(()=>{b.vJ.has(ve)&&(ce.dispose(),we(!0))}));return Fe.add((0,m.OF)(()=>we(!1))),ue})}doProvideWithEditorSymbols(ve,Fe,we,ue){const ce=ve.editor,Ve=new m.SL;Ve.add(we.onDidAccept(W=>{const[$]=we.selectedItems;$&&$.range&&(this.gotoLocation(ve,{range:$.range.selection,keyMods:we.keyMods,preserveFocus:W.inBackground}),W.inBackground||we.hide())})),Ve.add(we.onDidTriggerItemButton(({item:W})=>{W&&W.range&&(this.gotoLocation(ve,{range:W.range.selection,keyMods:we.keyMods,forceSideBySide:!0}),we.hide())}));const We=this.getDocumentSymbols(Fe,ue);let ae;const fe=()=>z(this,void 0,void 0,function*(){ae==null||ae.dispose(!0),we.busy=!1,ae=new O.A(ue),we.busy=!0;try{const W=v(we.value.substr(oe.PREFIX.length).trim()),$=yield this.doGetSymbolPicks(We,W,void 0,ae.token);if(ue.isCancellationRequested)return;$.length>0?we.items=$:W.original.length>0?this.provideLabelPick(we,(0,M.N)("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(we,(0,M.N)("noSymbolResults","No editor symbols"))}finally{ue.isCancellationRequested||(we.busy=!1)}});Ve.add(we.onDidChangeValue(()=>fe())),fe();let ne=!0;return Ve.add(we.onDidChangeActive(()=>{const[W]=we.activeItems;if(W&&W.range){if(ne){ne=!1;return}ce.revealRangeInCenter(W.range.selection,0),this.addDecorations(ce,W.range.decoration)}})),Ve}doGetSymbolPicks(ve,Fe,we,ue){return z(this,void 0,void 0,function*(){const ce=yield ve;if(ue.isCancellationRequested)return[];const Ve=Fe.original.indexOf(oe.SCOPE_PREFIX)===0,We=Ve?1:0;let ae,fe;Fe.values&&Fe.values.length>1?(ae=l(Fe.values[0]),fe=l(Fe.values.slice(1))):ae=Fe;const ne=[];for(let ee=0;ee<ce.length;ee++){const he=ce[ee],Pe=(0,y.fy)(he.name),Ye=`$(symbol-${b.uZ.toString(he.kind)||"property"}) ${Pe}`,it=Ye.length-Pe.length;let rt=he.containerName;we!=null&&we.extraContainerLabel&&(rt?rt=`${we.extraContainerLabel} \u2022 ${rt}`:rt=we.extraContainerLabel);let vt,Ft,Ht,ze;if(Fe.original.length>We){let Ze=!1;if(ae!==Fe&&([vt,Ft]=p(Ye,Object.assign(Object.assign({},Fe),{values:void 0}),We,it),typeof vt=="number"&&(Ze=!0)),typeof vt!="number"&&([vt,Ft]=p(Ye,ae,We,it),typeof vt!="number"))continue;if(!Ze&&fe){if(rt&&fe.original.length>0&&([Ht,ze]=p(rt,fe)),typeof Ht!="number")continue;typeof vt=="number"&&(vt+=Ht)}}const Xe=he.tags&&he.tags.indexOf(1)>=0;ne.push({index:ee,kind:he.kind,score:vt,label:Ye,ariaLabel:Pe,description:rt,highlights:Xe?void 0:{label:Ft,description:ze},range:{selection:c.e.collapseToStart(he.selectionRange),decoration:he.range},strikethrough:Xe,buttons:(()=>{var Ze,Ae;const He=!((Ze=this.options)===null||Ze===void 0)&&Ze.openSideBySideDirection?(Ae=this.options)===null||Ae===void 0?void 0:Ae.openSideBySideDirection():void 0;if(He)return[{iconClass:He==="right"?P.lA.splitHorizontal.classNames:P.lA.splitVertical.classNames,tooltip:He==="right"?(0,M.N)("openToSide","Open to the Side"):(0,M.N)("openToBottom","Open to the Bottom")}]})()})}const W=ne.sort((ee,he)=>Ve?this.compareByKindAndScore(ee,he):this.compareByScore(ee,he));let $=[];if(Ve){let Ye=function(){he&&typeof ee=="number"&&Pe>0&&(he.label=(0,y.WU)(re[ee]||se,Pe))},ee,he,Pe=0;for(const it of W)ee!==it.kind?(Ye(),ee=it.kind,Pe=1,he={type:"separator"},$.push(he)):Pe++,$.push(it);Ye()}else W.length>0&&($=[{label:(0,M.N)("symbols","symbols ({0})",ne.length),type:"separator"},...W]);return $})}compareByScore(ve,Fe){if(typeof ve.score!="number"&&typeof Fe.score=="number")return 1;if(typeof ve.score=="number"&&typeof Fe.score!="number")return-1;if(typeof ve.score=="number"&&typeof Fe.score=="number"){if(ve.score>Fe.score)return-1;if(ve.score<Fe.score)return 1}return ve.index<Fe.index?-1:ve.index>Fe.index?1:0}compareByKindAndScore(ve,Fe){const we=re[ve.kind]||se,ue=re[Fe.kind]||se,ce=we.localeCompare(ue);return ce===0?this.compareByScore(ve,Fe):ce}getDocumentSymbols(ve,Fe){return z(this,void 0,void 0,function*(){const we=yield L.C3.create(ve,Fe);return Fe.isCancellationRequested?[]:we.asListOfDocumentSymbols()})}}oe.PREFIX="@",oe.SCOPE_PREFIX=":",oe.PREFIX_BY_CATEGORY=`${oe.PREFIX}${oe.SCOPE_PREFIX}`;const se=(0,M.N)("property","properties ({0})"),re={5:(0,M.N)("method","methods ({0})"),11:(0,M.N)("function","functions ({0})"),8:(0,M.N)("_constructor","constructors ({0})"),12:(0,M.N)("variable","variables ({0})"),4:(0,M.N)("class","classes ({0})"),22:(0,M.N)("struct","structs ({0})"),23:(0,M.N)("event","events ({0})"),24:(0,M.N)("operator","operators ({0})"),10:(0,M.N)("interface","interfaces ({0})"),2:(0,M.N)("namespace","namespaces ({0})"),3:(0,M.N)("package","packages ({0})"),25:(0,M.N)("typeParameter","type parameters ({0})"),1:(0,M.N)("modules","modules ({0})"),6:(0,M.N)("property","properties ({0})"),9:(0,M.N)("enum","enumerations ({0})"),21:(0,M.N)("enumMember","enumeration members ({0})"),14:(0,M.N)("string","strings ({0})"),0:(0,M.N)("file","files ({0})"),17:(0,M.N)("array","arrays ({0})"),15:(0,M.N)("number","numbers ({0})"),16:(0,M.N)("boolean","booleans ({0})"),18:(0,M.N)("object","objects ({0})"),19:(0,M.N)("key","keys ({0})"),7:(0,M.N)("field","fields ({0})"),13:(0,M.N)("constant","constants ({0})")};var De=i(44650),J=i(82825),Z=i(70827),Q=i(72999),le=i(5530),xe=i(4348),j=i(4514),R=i(68987),V=i(96148),K=function(ye,ve,Fe,we){var ue=arguments.length,ce=ue<3?ve:we===null?we=Object.getOwnPropertyDescriptor(ve,Fe):we,Ve;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(ye,ve,Fe,we);else for(var We=ye.length-1;We>=0;We--)(Ve=ye[We])&&(ce=(ue<3?Ve(ce):ue>3?Ve(ve,Fe,ce):Ve(ve,Fe))||ce);return ue>3&&ce&&Object.defineProperty(ve,Fe,ce),ce},ie=function(ye,ve){return function(Fe,we){ve(Fe,we,ye)}};let te=class extends oe{constructor(ve){super(),this.editorService=ve,this.onDidActiveTextEditorControlChange=xe.ju.None}get activeTextEditorControl(){return(0,Q.f6)(this.editorService.getFocusedCodeEditor())}};te=K([ie(0,Z.$)],te),De.B.as(J.IP.Quickaccess).registerQuickAccessProvider({ctor:te,prefix:oe.PREFIX,helpEntries:[{description:le.aq.quickOutlineActionLabel,prefix:oe.PREFIX,needsEditor:!0},{description:le.aq.quickOutlineByCategoryActionLabel,prefix:oe.PREFIX_BY_CATEGORY,needsEditor:!0}]});class ge extends j.R6{constructor(){super({id:"editor.action.quickOutline",label:le.aq.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:R.u.hasDocumentSymbolProvider,kbOpts:{kbExpr:R.u.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(ve){ve.get(V.eJ).quickAccess.show(oe.PREFIX)}}(0,j.Qr)(ge)},34835:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{StandaloneReferencesController:function(){return a}});var h=i(4514),H=i(70827),O=i(51751),P=i(21194),D=i(90689),G=i(16925),I=i(79504),y=i(19490),E=function(g,w,s,C){var f=arguments.length,v=f<3?w:C===null?C=Object.getOwnPropertyDescriptor(w,s):C,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(g,w,s,C);else for(var l=g.length-1;l>=0;l--)(r=g[l])&&(v=(f<3?r(v):f>3?r(w,s,v):r(w,s))||v);return f>3&&v&&Object.defineProperty(w,s,v),v},p=function(g,w){return function(s,C){w(s,C,g)}};let a=class extends O.J{constructor(w,s,C,f,v,r,l){super(!0,w,s,C,f,v,r,l)}};a=E([p(1,D.i6),p(2,H.$),p(3,I.lT),p(4,G.TG),p(5,y.Uy),p(6,P.Ui)],a),(0,h._K)(O.J.ID,a)},6181:function(xt,Te,i){"use strict";i.r(Te);var h=i(4514),H=i(63908),O=i(5530);class P extends h.R6{constructor(){super({id:"editor.action.toggleHighContrast",label:O.xi.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(G,I){const y=G.get(H.Z);this._originalThemeName?(y.setTheme(this._originalThemeName),this._originalThemeName=null):(this._originalThemeName=y.getColorTheme().themeName,y.setTheme("hc-black"))}}(0,h.Qr)(P)},63908:function(xt,Te,i){"use strict";i.d(Te,{Z:function(){return H}});var h=i(16925);const H=(0,h.yh)("themeService")},74088:function(xt,Te,i){"use strict";i.d(Te,{Mj:function(){return h.languages},Q5:function(){return h.Emitter},Sf:function(){return h.Uri},ZL:function(){return h.MarkerSeverity},e6:function(){return h.Range},j6:function(){return h.editor}});var h=i(2550)},24607:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{cssDefaults:function(){return G},lessDefaults:function(){return y},scssDefaults:function(){return I}});var h=i(2550),H=i(74088),O=function(){function p(a,g,w){this._onDidChange=new H.Q5,this._languageId=a,this.setOptions(g),this.setModeConfiguration(w)}return Object.defineProperty(p.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(p.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(p.prototype,"modeConfiguration",{get:function(){return this._modeConfiguration},enumerable:!1,configurable:!0}),Object.defineProperty(p.prototype,"diagnosticsOptions",{get:function(){return this.options},enumerable:!1,configurable:!0}),Object.defineProperty(p.prototype,"options",{get:function(){return this._options},enumerable:!1,configurable:!0}),p.prototype.setOptions=function(a){this._options=a||Object.create(null),this._onDidChange.fire(this)},p.prototype.setDiagnosticsOptions=function(a){this.setOptions(a)},p.prototype.setModeConfiguration=function(a){this._modeConfiguration=a||Object.create(null),this._onDidChange.fire(this)},p}(),P={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0}},D={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},G=new O("css",P,D),I=new O("scss",P,D),y=new O("less",P,D);H.Mj.css={cssDefaults:G,lessDefaults:y,scssDefaults:I};function E(){return i.e(7706).then(i.bind(i,27706))}H.Mj.onLanguage("less",function(){E().then(function(p){return p.setupMode(y)})}),H.Mj.onLanguage("scss",function(){E().then(function(p){return p.setupMode(I)})}),H.Mj.onLanguage("css",function(){E().then(function(p){return p.setupMode(G)})})},55507:function(xt,Te,i){"use strict";i.d(Te,{Mj:function(){return h.languages},Q5:function(){return h.Emitter},Sf:function(){return h.Uri},e6:function(){return h.Range},j6:function(){return h.editor}});var h=i(2550)},67748:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{handlebarDefaults:function(){return C},handlebarLanguageService:function(){return s},htmlDefaults:function(){return w},htmlLanguageService:function(){return g},razorDefaults:function(){return v},razorLanguageService:function(){return f},registerHTMLLanguageService:function(){return l}});var h=i(2550),H=i(55507),O=function(m,c,b,L){function T(M){return M instanceof b?M:new b(function(z){z(M)})}return new(b||(b=Promise))(function(M,z){function oe(De){try{re(L.next(De))}catch(J){z(J)}}function se(De){try{re(L.throw(De))}catch(J){z(J)}}function re(De){De.done?M(De.value):T(De.value).then(oe,se)}re((L=L.apply(m,c||[])).next())})},P=function(m,c){var b={label:0,sent:function(){if(M[0]&1)throw M[1];return M[1]},trys:[],ops:[]},L,T,M,z;return z={next:oe(0),throw:oe(1),return:oe(2)},typeof Symbol=="function"&&(z[Symbol.iterator]=function(){return this}),z;function oe(re){return function(De){return se([re,De])}}function se(re){if(L)throw new TypeError("Generator is already executing.");for(;b;)try{if(L=1,T&&(M=re[0]&2?T.return:re[0]?T.throw||((M=T.return)&&M.call(T),0):T.next)&&!(M=M.call(T,re[1])).done)return M;switch(T=0,M&&(re=[re[0]&2,M.value]),re[0]){case 0:case 1:M=re;break;case 4:return b.label++,{value:re[1],done:!1};case 5:b.label++,T=re[1],re=[0];continue;case 7:re=b.ops.pop(),b.trys.pop();continue;default:if(M=b.trys,!(M=M.length>0&&M[M.length-1])&&(re[0]===6||re[0]===2)){b=0;continue}if(re[0]===3&&(!M||re[1]>M[0]&&re[1]<M[3])){b.label=re[1];break}if(re[0]===6&&b.label<M[1]){b.label=M[1],M=re;break}if(M&&b.label<M[2]){b.label=M[2],b.ops.push(re);break}M[2]&&b.ops.pop(),b.trys.pop();continue}re=c.call(m,b)}catch(De){re=[6,De],T=0}finally{L=M=0}if(re[0]&5)throw re[1];return{value:re[0]?re[1]:void 0,done:!0}}},D=function(){function m(c,b,L){this._onDidChange=new H.Q5,this._languageId=c,this.setOptions(b),this.setModeConfiguration(L)}return Object.defineProperty(m.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"options",{get:function(){return this._options},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"modeConfiguration",{get:function(){return this._modeConfiguration},enumerable:!1,configurable:!0}),m.prototype.setOptions=function(c){this._options=c||Object.create(null),this._onDidChange.fire(this)},m.prototype.setModeConfiguration=function(c){this._modeConfiguration=c||Object.create(null),this._onDidChange.fire(this)},m}(),G={tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:null,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},I={format:G,suggest:{},data:{useDefaultDataProvider:!0}};function y(m){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:m===E,documentFormattingEdits:m===E,documentRangeFormattingEdits:m===E}}var E="html",p="handlebars",a="razor",g=l(E,I,y(E)),w=g.defaults,s=l(p,I,y(p)),C=s.defaults,f=l(a,I,y(a)),v=f.defaults;H.Mj.html={htmlDefaults:w,razorDefaults:v,handlebarDefaults:C,htmlLanguageService:g,handlebarLanguageService:s,razorLanguageService:f,registerHTMLLanguageService:l};function r(){return i.e(2494).then(i.bind(i,2494))}function l(m,c,b){var L=this;c===void 0&&(c=I),b===void 0&&(b=y(m));var T=new D(m,c,b),M,z=H.Mj.onLanguage(m,function(){return O(L,void 0,void 0,function(){return P(this,function(oe){switch(oe.label){case 0:return[4,r()];case 1:return M=oe.sent().setupMode(T),[2]}})})});return{defaults:T,dispose:function(){z.dispose(),M==null||M.dispose(),M=void 0}}}},80829:function(xt,Te,i){"use strict";i.d(Te,{Mj:function(){return h.languages},Q5:function(){return h.Emitter},ZL:function(){return h.MarkerSeverity},e6:function(){return h.Range},j6:function(){return h.editor}});var h=i(2550)},42716:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{jsonDefaults:function(){return G}});var h=i(2550),H=i(80829),O=function(){function y(E,p,a){this._onDidChange=new H.Q5,this._languageId=E,this.setDiagnosticsOptions(p),this.setModeConfiguration(a)}return Object.defineProperty(y.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(y.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(y.prototype,"modeConfiguration",{get:function(){return this._modeConfiguration},enumerable:!1,configurable:!0}),Object.defineProperty(y.prototype,"diagnosticsOptions",{get:function(){return this._diagnosticsOptions},enumerable:!1,configurable:!0}),y.prototype.setDiagnosticsOptions=function(E){this._diagnosticsOptions=E||Object.create(null),this._onDidChange.fire(this)},y.prototype.setModeConfiguration=function(E){this._modeConfiguration=E||Object.create(null),this._onDidChange.fire(this)},y}(),P={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},D={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},G=new O("json",P,D);H.Mj.json={jsonDefaults:G};function I(){return i.e(4347).then(i.bind(i,74347))}H.Mj.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),H.Mj.onLanguage("json",function(){I().then(function(y){return y.setupMode(G)})})},28790:function(xt,Te,i){"use strict";i.d(Te,{Mj:function(){return h.languages},Q5:function(){return h.Emitter},Sf:function(){return h.Uri},ZL:function(){return h.MarkerSeverity},e6:function(){return h.Range},eB:function(){return h.MarkerTag},j6:function(){return h.editor}});var h=i(2550)},55670:function(xt,Te,i){"use strict";i.r(Te),i.d(Te,{JsxEmit:function(){return D},ModuleKind:function(){return P},ModuleResolutionKind:function(){return y},NewLineKind:function(){return G},ScriptTarget:function(){return I},getJavaScriptWorker:function(){return s},getTypeScriptWorker:function(){return w},javascriptDefaults:function(){return g},typescriptDefaults:function(){return a},typescriptVersion:function(){return p}});var h=i(2550),H="4.4.4",O=i(28790),P;(function(f){f[f.None=0]="None",f[f.CommonJS=1]="CommonJS",f[f.AMD=2]="AMD",f[f.UMD=3]="UMD",f[f.System=4]="System",f[f.ES2015=5]="ES2015",f[f.ESNext=99]="ESNext"})(P||(P={}));var D;(function(f){f[f.None=0]="None",f[f.Preserve=1]="Preserve",f[f.React=2]="React",f[f.ReactNative=3]="ReactNative",f[f.ReactJSX=4]="ReactJSX",f[f.ReactJSXDev=5]="ReactJSXDev"})(D||(D={}));var G;(function(f){f[f.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",f[f.LineFeed=1]="LineFeed"})(G||(G={}));var I;(function(f){f[f.ES3=0]="ES3",f[f.ES5=1]="ES5",f[f.ES2015=2]="ES2015",f[f.ES2016=3]="ES2016",f[f.ES2017=4]="ES2017",f[f.ES2018=5]="ES2018",f[f.ES2019=6]="ES2019",f[f.ES2020=7]="ES2020",f[f.ESNext=99]="ESNext",f[f.JSON=100]="JSON",f[f.Latest=99]="Latest"})(I||(I={}));var y;(function(f){f[f.Classic=1]="Classic",f[f.NodeJs=2]="NodeJs"})(y||(y={}));var E=function(){function f(v,r,l,m){this._onDidChange=new O.Q5,this._onDidExtraLibsChange=new O.Q5,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(v),this.setDiagnosticsOptions(r),this.setWorkerOptions(l),this.setInlayHintsOptions(m),this._onDidExtraLibsChangeTimeout=-1}return Object.defineProperty(f.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(f.prototype,"onDidExtraLibsChange",{get:function(){return this._onDidExtraLibsChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(f.prototype,"workerOptions",{get:function(){return this._workerOptions},enumerable:!1,configurable:!0}),Object.defineProperty(f.prototype,"inlayHintsOptions",{get:function(){return this._inlayHintsOptions},enumerable:!1,configurable:!0}),f.prototype.getExtraLibs=function(){return this._extraLibs},f.prototype.addExtraLib=function(v,r){var l=this,m;if(typeof r=="undefined"?m="ts:extralib-"+Math.random().toString(36).substring(2,15):m=r,this._extraLibs[m]&&this._extraLibs[m].content===v)return{dispose:function(){}};var c=1;return this._removedExtraLibs[m]&&(c=this._removedExtraLibs[m]+1),this._extraLibs[m]&&(c=this._extraLibs[m].version+1),this._extraLibs[m]={content:v,version:c},this._fireOnDidExtraLibsChangeSoon(),{dispose:function(){var b=l._extraLibs[m];b&&b.version===c&&(delete l._extraLibs[m],l._removedExtraLibs[m]=c,l._fireOnDidExtraLibsChangeSoon())}}},f.prototype.setExtraLibs=function(v){for(var r in this._extraLibs)this._removedExtraLibs[r]=this._extraLibs[r].version;if(this._extraLibs=Object.create(null),v&&v.length>0)for(var l=0,m=v;l<m.length;l++){var c=m[l],r=c.filePath||"ts:extralib-"+Math.random().toString(36).substring(2,15),b=c.content,L=1;this._removedExtraLibs[r]&&(L=this._removedExtraLibs[r]+1),this._extraLibs[r]={content:b,version:L}}this._fireOnDidExtraLibsChangeSoon()},f.prototype._fireOnDidExtraLibsChangeSoon=function(){var v=this;this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=setTimeout(function(){v._onDidExtraLibsChangeTimeout=-1,v._onDidExtraLibsChange.fire(void 0)},0))},f.prototype.getCompilerOptions=function(){return this._compilerOptions},f.prototype.setCompilerOptions=function(v){this._compilerOptions=v||Object.create(null),this._onDidChange.fire(void 0)},f.prototype.getDiagnosticsOptions=function(){return this._diagnosticsOptions},f.prototype.setDiagnosticsOptions=function(v){this._diagnosticsOptions=v||Object.create(null),this._onDidChange.fire(void 0)},f.prototype.setWorkerOptions=function(v){this._workerOptions=v||Object.create(null),this._onDidChange.fire(void 0)},f.prototype.setInlayHintsOptions=function(v){this._inlayHintsOptions=v||Object.create(null),this._onDidChange.fire(void 0)},f.prototype.setMaximumWorkerIdleTime=function(v){},f.prototype.setEagerModelSync=function(v){this._eagerModelSync=v},f.prototype.getEagerModelSync=function(){return this._eagerModelSync},f}(),p=H,a=new E({allowNonTsExtensions:!0,target:I.Latest},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{}),g=new E({allowNonTsExtensions:!0,allowJs:!0,target:I.Latest},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{}),w=function(){return C().then(function(f){return f.getTypeScriptWorker()})},s=function(){return C().then(function(f){return f.getJavaScriptWorker()})};O.Mj.typescript={ModuleKind:P,JsxEmit:D,NewLineKind:G,ScriptTarget:I,ModuleResolutionKind:y,typescriptVersion:p,typescriptDefaults:a,javascriptDefaults:g,getTypeScriptWorker:w,getJavaScriptWorker:s};function C(){return i.e(4088).then(i.bind(i,14088))}O.Mj.onLanguage("typescript",function(){return C().then(function(f){return f.setupTypeScript(a)})}),O.Mj.onLanguage("javascript",function(){return C().then(function(f){return f.setupJavaScript(g)})})},52950:function(xt,Te,i){"use strict";i.d(Te,{F:function(){return O},U:function(){return P}});var h=i(90689),H=i(16925);const O=(0,H.yh)("accessibilityService"),P=new h.uy("accessibilityModeEnabled",!1)},68489:function(xt,Te,i){"use strict";i.d(Te,{Mm:function(){return se},Id:function(){return J},vr:function(){return M}});var h=i(69454),H=i(92813),O=i(10081),P=i(60537),D=i(75918),G=i(4348);class I extends D.Wi{constructor(Q,le){super(),this._onDidChangeVisibility=this._register(new G.Q5),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=(0,h.R3)(Q,(0,h.$)(".monaco-dropdown")),this._label=(0,h.R3)(this._element,(0,h.$)(".dropdown-label"));let xe=le.labelRenderer;xe||(xe=R=>(R.textContent=le.label||"",null));for(const R of[h.tw.CLICK,h.tw.MOUSE_DOWN,P.t.Tap])this._register((0,h.nm)(this.element,R,V=>h.zB.stop(V,!0)));for(const R of[h.tw.MOUSE_DOWN,P.t.Tap])this._register((0,h.nm)(this._label,R,V=>{V instanceof MouseEvent&&V.detail>1||(this.visible?this.hide():this.show())}));this._register((0,h.nm)(this._label,h.tw.KEY_UP,R=>{const V=new H.y(R);(V.equals(3)||V.equals(10))&&(h.zB.stop(R,!0),this.visible?this.hide():this.show())}));const j=xe(this._label);j&&this._register(j),this._register(P.o.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}class y extends I{constructor(Q,le){super(Q,le),this._actions=[],this._contextMenuProvider=le.contextMenuProvider,this.actions=le.actions||[],this.actionProvider=le.actionProvider,this.menuClassName=le.menuClassName||"",this.menuAsChild=!!le.menuAsChild}set menuOptions(Q){this._menuOptions=Q}get menuOptions(){return this._menuOptions}get actions(){return this.actionProvider?this.actionProvider.getActions():this._actions}set actions(Q){this._actions=Q}show(){super.show(),this.element.classList.add("active"),this._contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:Q=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(Q):void 0,getKeyBinding:Q=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(Q):void 0,getMenuClassName:()=>this.menuClassName,onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this.menuAsChild?this.element:void 0})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}class E extends O.Y{constructor(Q,le,xe,j=Object.create(null)){super(null,Q,j),this.actionItem=null,this._onDidChangeVisibility=this._register(new G.Q5),this.menuActionsOrProvider=le,this.contextMenuProvider=xe,this.options=j,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(Q){this.actionItem=Q;const le=R=>{this.element=(0,h.R3)(R,(0,h.$)("a.action-label"));let V=[];return typeof this.options.classNames=="string"?V=this.options.classNames.split(/\s+/g).filter(K=>!!K):this.options.classNames&&(V=this.options.classNames),V.find(K=>K==="icon")||V.push("codicon"),this.element.classList.add(...V),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this.element.title=this._action.label||"",null},xe=Array.isArray(this.menuActionsOrProvider),j={contextMenuProvider:this.contextMenuProvider,labelRenderer:le,menuAsChild:this.options.menuAsChild,actions:xe?this.menuActionsOrProvider:void 0,actionProvider:xe?void 0:this.menuActionsOrProvider};if(this.dropdownMenu=this._register(new y(Q,j)),this._register(this.dropdownMenu.onDidChangeVisibility(R=>{var V;(V=this.element)===null||V===void 0||V.setAttribute("aria-expanded",`${R}`),this._onDidChangeVisibility.fire(R)})),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const R=this;this.dropdownMenu.menuOptions=Object.assign(Object.assign({},this.dropdownMenu.menuOptions),{get anchorAlignment(){return R.options.anchorAlignmentProvider()}})}this.updateEnabled()}setActionContext(Q){super.setActionContext(Q),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=Q:this.dropdownMenu.menuOptions={context:Q})}updateEnabled(){var Q,le;const xe=!this.getAction().enabled;(Q=this.actionItem)===null||Q===void 0||Q.classList.toggle("disabled",xe),(le=this.element)===null||le===void 0||le.classList.toggle("disabled",xe)}}var p=i(66872),a=i(69323),g=i(23345),w=i(13268),s=i(96236),C=i(90689),f=i(4999),v=i(16925),r=i(5898),l=i(79504),m=i(19490),c=i(49055),b=function(Z,Q,le,xe){var j=arguments.length,R=j<3?Q:xe===null?xe=Object.getOwnPropertyDescriptor(Q,le):xe,V;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")R=Reflect.decorate(Z,Q,le,xe);else for(var K=Z.length-1;K>=0;K--)(V=Z[K])&&(R=(j<3?V(R):j>3?V(Q,le,R):V(Q,le))||R);return j>3&&R&&Object.defineProperty(Q,le,R),R},L=function(Z,Q){return function(le,xe){Q(le,xe,Z)}},T=function(Z,Q,le,xe){function j(R){return R instanceof le?R:new le(function(V){V(R)})}return new(le||(le=Promise))(function(R,V){function K(ge){try{te(xe.next(ge))}catch(ye){V(ye)}}function ie(ge){try{te(xe.throw(ge))}catch(ye){V(ye)}}function te(ge){ge.done?R(ge.value):j(ge.value).then(K,ie)}te((xe=xe.apply(Z,Q||[])).next())})};function M(Z,Q,le,xe,j,R,V){const K=Z.getActions(Q);return oe(K,le,!1,typeof xe=="string"?te=>te===xe:xe,j,R,V),z(K)}function z(Z){const Q=new a.SL;for(const[,le]of Z)for(const xe of le)Q.add(xe);return Q}function oe(Z,Q,le,xe=K=>K==="navigation",j=Number.MAX_SAFE_INTEGER,R=()=>!1,V=!1){let K,ie;Array.isArray(Q)?(K=Q,ie=Q):(K=Q.primary,ie=Q.secondary);const te=new Set;for(const[ge,ye]of Z){let ve;xe(ge)?(ve=K,ve.length>0&&V&&ve.push(new D.Z0)):(ve=ie,ve.length>0&&ve.push(new D.Z0));for(let Fe of ye){le&&(Fe=Fe instanceof s.U8&&Fe.alt?Fe.alt:Fe);const we=ve.push(Fe);Fe instanceof D.wY&&te.add({group:ge,action:Fe,index:we-1})}}for(const{group:ge,action:ye,index:ve}of te){const Fe=xe(ge)?K:ie,we=ye.actions;(we.length<=1||Fe.length+we.length-2<=j)&&R(ye,ge,Fe.length)&&Fe.splice(ve,1,...we)}if(K!==ie&&K.length>j){const ge=K.splice(j,K.length-j);ie.unshift(...ge,new D.Z0)}}let se=class extends O.g{constructor(Q,le,xe,j,R){super(void 0,Q,{icon:!!(Q.class||Q.item.icon),label:!Q.class&&!Q.item.icon,draggable:le==null?void 0:le.draggable}),this._keybindingService=xe,this._notificationService=j,this._contextKeyService=R,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new a.XK),this._altKey=h._q.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}onClick(Q){return T(this,void 0,void 0,function*(){Q.preventDefault(),Q.stopPropagation();try{yield this.actionRunner.run(this._commandAction,this._context)}catch(le){this._notificationService.error(le)}})}render(Q){super.render(Q),Q.classList.add("menu-entry"),this._updateItemClass(this._menuItemAction.item);let le=!1,xe=this._altKey.keyStatus.altKey||(g.ED||g.IJ)&&this._altKey.keyStatus.shiftKey;const j=()=>{const R=le&&xe;R!==this._wantsAltCommand&&(this._wantsAltCommand=R,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._menuItemAction.alt&&this._register(this._altKey.event(R=>{xe=R.altKey||(g.ED||g.IJ)&&R.shiftKey,j()})),this._register((0,h.nm)(Q,"mouseleave",R=>{le=!1,j()})),this._register((0,h.nm)(Q,"mouseenter",R=>{le=!0,j()}))}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}updateTooltip(){if(this.label){const Q=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),le=Q&&Q.getLabel(),xe=this._commandAction.tooltip||this._commandAction.label;let j=le?(0,w.N)("titleAndKb","{0} ({1})",xe,le):xe;if(!this._wantsAltCommand&&this._menuItemAction.alt){const R=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,V=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),K=V&&V.getLabel(),ie=K?(0,w.N)("titleAndKb","{0} ({1})",R,K):R;j+=`
[${p.xo.modifierLabels[g.OS].altKey}] ${ie}`}this.label.title=j}}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.item))}_updateItemClass(Q){var le;this._itemClassDispose.value=void 0;const{element:xe,label:j}=this;if(!xe||!j)return;const R=this._commandAction.checked&&(!((le=Q.toggled)===null||le===void 0)&&le.icon)?Q.toggled.icon:Q.icon;if(R)if(c.kS.isThemeIcon(R)){const V=c.kS.asClassNameArray(R);j.classList.add(...V),this._itemClassDispose.value=(0,a.OF)(()=>{j.classList.remove(...V)})}else R.light&&j.style.setProperty("--menu-entry-icon-light",(0,h.wY)(R.light)),R.dark&&j.style.setProperty("--menu-entry-icon-dark",(0,h.wY)(R.dark)),j.classList.add("icon"),this._itemClassDispose.value=(0,a.OF)(()=>{j.classList.remove("icon"),j.style.removeProperty("--menu-entry-icon-light"),j.style.removeProperty("--menu-entry-icon-dark")})}};se=b([L(2,r.d),L(3,l.lT),L(4,C.i6)],se);let re=class extends E{constructor(Q,le,xe){var j,R;const V=Object.assign({},le!=null?le:Object.create(null),{menuAsChild:(j=le==null?void 0:le.menuAsChild)!==null&&j!==void 0?j:!1,classNames:(R=le==null?void 0:le.classNames)!==null&&R!==void 0?R:c.kS.isThemeIcon(Q.item.icon)?c.kS.asClassName(Q.item.icon):void 0});super(Q,{getActions:()=>Q.actions},xe,V)}render(Q){if(super.render(Q),this.element){Q.classList.add("menu-entry");const{icon:le}=this._action.item;le&&!c.kS.isThemeIcon(le)&&(this.element.classList.add("icon"),le.light&&this.element.style.setProperty("--menu-entry-icon-light",(0,h.wY)(le.light)),le.dark&&this.element.style.setProperty("--menu-entry-icon-dark",(0,h.wY)(le.dark)))}}};re=b([L(2,f.i)],re);let De=class extends O.Y{constructor(Q,le,xe,j,R,V,K,ie){var te,ge,ye;super(null,Q),this._keybindingService=xe,this._notificationService=j,this._contextMenuService=R,this._menuService=V,this._instaService=K,this._storageService=ie,this._container=null,this._storageKey=`${Q.item.submenu._debugName}_lastActionId`;let ve,Fe=ie.get(this._storageKey,1);Fe&&(ve=Q.actions.find(ue=>Fe===ue.id)),ve||(ve=Q.actions[0]),this._defaultAction=this._instaService.createInstance(se,ve,void 0);const we=Object.assign({},le!=null?le:Object.create(null),{menuAsChild:(te=le==null?void 0:le.menuAsChild)!==null&&te!==void 0?te:!0,classNames:(ge=le==null?void 0:le.classNames)!==null&&ge!==void 0?ge:["codicon","codicon-chevron-down"],actionRunner:(ye=le==null?void 0:le.actionRunner)!==null&&ye!==void 0?ye:new D.Wi});this._dropdown=new E(Q,Q.actions,this._contextMenuService,we),this._dropdown.actionRunner.onDidRun(ue=>{ue.action instanceof s.U8&&this.update(ue.action)})}update(Q){this._storageService.store(this._storageKey,Q.id,1,0),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(se,Q,void 0),this._defaultAction.actionRunner=new class extends D.Wi{runAction(le,xe){return T(this,void 0,void 0,function*(){yield le.run(void 0)})}},this._container&&this._defaultAction.render((0,h.Ce)(this._container,(0,h.$)(".action-container")))}setActionContext(Q){super.setActionContext(Q),this._defaultAction.setActionContext(Q),this._dropdown.setActionContext(Q)}render(Q){this._container=Q,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const le=(0,h.$)(".action-container");this._defaultAction.render((0,h.R3)(this._container,le)),this._register((0,h.nm)(le,h.tw.KEY_DOWN,j=>{const R=new H.y(j);R.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),R.stopPropagation())}));const xe=(0,h.$)(".dropdown-action-container");this._dropdown.render((0,h.R3)(this._container,xe)),this._register((0,h.nm)(xe,h.tw.KEY_DOWN,j=>{var R;const V=new H.y(j);V.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),(R=this._defaultAction.element)===null||R===void 0||R.focus(),V.stopPropagation())}))}focus(Q){Q?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(Q){Q?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};De=b([L(2,r.d),L(3,l.lT),L(4,f.i),L(5,s.co),L(6,v.TG),L(7,m.Uy)],De);function J(Z,Q,le){return Q instanceof s.U8?Z.createInstance(se,Q,void 0):Q instanceof s.NZ?Q.item.rememberDefaultAction?Z.createInstance(De,Q,le):Z.createInstance(re,Q,le):void 0}},54622:function(xt,Te,i){"use strict";i.d(Te,{p:function(){return H}});var h=i(16925);const H=(0,h.yh)("clipboardService")},21194:function(xt,Te,i){"use strict";i.d(Te,{KV:function(){return G},MR:function(){return p},Mt:function(){return E},O4:function(){return a},Od:function(){return D},Ui:function(){return P},xL:function(){return I}});var h=i(20855),H=i(16925),O=i(44650);const P=(0,H.yh)("configurationService");function D(g,w){const s=Object.create(null);for(let C in g)G(s,C,g[C],w);return s}function G(g,w,s,C){const f=w.split("."),v=f.pop();let r=g;for(let l=0;l<f.length;l++){let m=f[l],c=r[m];switch(typeof c){case"undefined":c=r[m]=Object.create(null);break;case"object":break;default:C(`Ignoring ${w} as ${f.slice(0,l+1).join(".")} is ${JSON.stringify(c)}`);return}r=c}if(typeof r=="object"&&r!==null)try{r[v]=s}catch(l){C(`Ignoring ${w} as ${f.join(".")} is ${JSON.stringify(r)}`)}else C(`Ignoring ${w} as ${f.join(".")} is ${JSON.stringify(r)}`)}function I(g,w){const s=w.split(".");y(g,s)}function y(g,w){const s=w.shift();if(w.length===0){delete g[s];return}if(Object.keys(g).indexOf(s)!==-1){const C=g[s];typeof C=="object"&&!Array.isArray(C)&&(y(C,w),Object.keys(C).length===0&&delete g[s])}}function E(g,w,s){function C(r,l){let m=r;for(const c of l){if(typeof m!="object"||m===null)return;m=m[c]}return m}const f=w.split("."),v=C(g,f);return typeof v=="undefined"?s:v}function p(){const g=O.B.as(h.IP.Configuration).getConfigurationProperties();return Object.keys(g)}function a(){const g=Object.create(null),w=O.B.as(h.IP.Configuration).getConfigurationProperties();for(let s in w){let C=w[s].default;G(g,s,C,f=>console.error(`Conflict in default settings: ${f}`))}return g}},20855:function(xt,Te,i){"use strict";i.d(Te,{G1:function(){return v},IP:function(){return G},Uh:function(){return r}});var h=i(4348),H=i(72999),O=i(13268),P=i(2142),D=i(44650);const G={Configuration:"base.contributions.configuration"},I={properties:{},patternProperties:{}},y={properties:{},patternProperties:{}},E={properties:{},patternProperties:{}},p={properties:{},patternProperties:{}},a={properties:{},patternProperties:{}},g={properties:{},patternProperties:{}},w="vscode://schemas/settings/resourceLanguage",s=D.B.as(P.I.JSONContribution);class C{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new h.Q5,this._onDidUpdateConfiguration=new h.Q5,this.defaultValues={},this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:O.N("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!1,errorMessage:"Unknown editor configuration setting",allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.excludedConfigurationProperties={},s.registerSchema(w,this.resourceLanguageSettingsSchema)}registerConfiguration(L,T=!0){this.registerConfigurations([L],T)}registerConfigurations(L,T=!0){const M=this.doRegisterConfigurations(L,T);s.registerSchema(w,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire(M)}registerOverrideIdentifiers(L){for(const T of L)this.overrideIdentifiers.add(T);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(L,T){const M=[];return L.forEach(z=>{M.push(...this.validateAndRegisterProperties(z,T,z.extensionInfo)),this.configurationContributors.push(z),this.registerJSONConfiguration(z)}),M}validateAndRegisterProperties(L,T=!0,M,z=3){var oe;z=H.Jp(L.scope)?z:L.scope;let se=[],re=L.properties;if(re)for(let J in re){if(T&&c(J)){delete re[J];continue}const Z=re[J];if(this.updatePropertyDefaultValue(J,Z),v.test(J)?Z.scope=void 0:(Z.scope=H.Jp(Z.scope)?z:Z.scope,Z.restricted=H.Jp(Z.restricted)?!!(!((oe=M==null?void 0:M.restrictedConfigurations)===null||oe===void 0)&&oe.includes(J)):Z.restricted),re[J].hasOwnProperty("included")&&!re[J].included){this.excludedConfigurationProperties[J]=re[J],delete re[J];continue}else this.configurationProperties[J]=re[J];!re[J].deprecationMessage&&re[J].markdownDeprecationMessage&&(re[J].deprecationMessage=re[J].markdownDeprecationMessage),se.push(J)}let De=L.allOf;if(De)for(let J of De)se.push(...this.validateAndRegisterProperties(J,T,M,z));return se}getConfigurationProperties(){return this.configurationProperties}registerJSONConfiguration(L){const T=M=>{let z=M.properties;if(z)for(const se in z)this.updateSchema(se,z[se]);let oe=M.allOf;oe&&oe.forEach(T)};T(L)}updateSchema(L,T){switch(I.properties[L]=T,T.scope){case 1:y.properties[L]=T;break;case 2:E.properties[L]=T;break;case 6:p.properties[L]=T;break;case 3:a.properties[L]=T;break;case 4:g.properties[L]=T;break;case 5:g.properties[L]=T,this.resourceLanguageSettingsSchema.properties[L]=T;break}}updateOverridePropertyPatternKey(){for(const L of this.overrideIdentifiers.values()){const T=`[${L}]`,M={type:"object",description:O.N("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:O.N("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:w};this.updatePropertyDefaultValue(T,M),I.properties[T]=M,y.properties[T]=M,E.properties[T]=M,p.properties[T]=M,a.properties[T]=M,g.properties[T]=M}this._onDidSchemaChange.fire()}updatePropertyDefaultValue(L,T){let M=this.defaultValues[L];H.o8(M)&&(M=T.default),H.o8(M)&&(M=l(T.type)),T.default=M}}const f="\\[.*\\]$",v=new RegExp(f);function r(b){return b.substring(1,b.length-1)}function l(b){switch(Array.isArray(b)?b[0]:b){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}const m=new C;D.B.add(G.Configuration,m);function c(b){return b.trim()?v.test(b)?O.N("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",b):m.getConfigurationProperties()[b]!==void 0?O.N("config.property.duplicate","Cannot register '{0}'. This property is already registered.",b):null:O.N("config.property.empty","Cannot register an empty property")}},75237:function(xt,Te,i){"use strict";i.d(Te,{c:function(){return P},d:function(){return D}});var h=i(23345),H=i(13268),O=i(90689);const P=new O.uy("isWindows",h.ED,(0,H.N)("isWindows","Whether the operating system is Windows")),D="inputFocus"},4999:function(xt,Te,i){"use strict";i.d(Te,{i:function(){return O},u:function(){return H}});var h=i(16925);const H=(0,h.yh)("contextViewService"),O=(0,h.yh)("contextMenuService")},94726:function(xt,Te,i){"use strict";i.d(Te,{S:function(){return H}});var h=i(16925);const H=(0,h.yh)("dialogService")},64441:function(xt,Te,i){"use strict";i.d(Te,{M:function(){return h}});class h{constructor(O,P=[],D=!1){this.ctor=O,this.staticArguments=P,this.supportsDelayedInstantiation=D}}},7335:function(xt,Te,i){"use strict";i.d(Te,{d:function(){return P},z:function(){return O}});var h=i(64441);const H=[];function O(D,G,I){G instanceof h.M||(G=new h.M(G,[],I)),H.push([D,G])}function P(){return H}},36916:function(xt,Te,i){"use strict";i.d(Te,{y:function(){return h}});class h{constructor(...O){this._entries=new Map;for(let[P,D]of O)this.set(P,D)}set(O,P){const D=this._entries.get(O);return this._entries.set(O,P),D}has(O){return this._entries.has(O)}get(O){return this._entries.get(O)}}},2142:function(xt,Te,i){"use strict";i.d(Te,{I:function(){return O}});var h=i(4348),H=i(44650);const O={JSONContribution:"base.contributions.json"};function P(I){return I.length>0&&I.charAt(I.length-1)==="#"?I.substring(0,I.length-1):I}class D{constructor(){this._onDidChangeSchema=new h.Q5,this.schemasById={}}registerSchema(y,E){this.schemasById[P(y)]=E,this._onDidChangeSchema.fire(y)}notifySchemaChanged(y){this._onDidChangeSchema.fire(y)}}const G=new D;H.B.add(O.JSONContribution,G)},5898:function(xt,Te,i){"use strict";i.d(Te,{d:function(){return H}});var h=i(16925);const H=(0,h.yh)("keybindingService")},86414:function(xt,Te,i){"use strict";i.d(Te,{W:function(){return G}});var h=i(86354),H=i(23345),O=i(35884),P=i(44650);class D{constructor(){this._coreKeybindings=[],this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToCurrentPlatform(p){if(H.OS===1){if(p&&p.win)return p.win}else if(H.OS===2){if(p&&p.mac)return p.mac}else if(p&&p.linux)return p.linux;return p}registerKeybindingRule(p){const a=D.bindToCurrentPlatform(p);if(a&&a.primary){const g=(0,h.gm)(a.primary,H.OS);g&&this._registerDefaultKeybinding(g,p.id,p.args,p.weight,0,p.when)}if(a&&Array.isArray(a.secondary))for(let g=0,w=a.secondary.length;g<w;g++){const s=a.secondary[g],C=(0,h.gm)(s,H.OS);C&&this._registerDefaultKeybinding(C,p.id,p.args,p.weight,-g-1,p.when)}}registerCommandAndKeybindingRule(p){this.registerKeybindingRule(p),O.P.registerCommand(p)}static _mightProduceChar(p){return p>=21&&p<=30||p>=31&&p<=56?!0:p===80||p===81||p===82||p===83||p===84||p===85||p===86||p===110||p===111||p===87||p===88||p===89||p===90||p===91||p===92}_assertNoCtrlAlt(p,a){p.ctrlKey&&p.altKey&&!p.metaKey&&D._mightProduceChar(p.keyCode)&&console.warn("Ctrl+Alt+ keybindings should not be used by default under Windows. Offender: ",p," for ",a)}_registerDefaultKeybinding(p,a,g,w,s,C){H.OS===1&&this._assertNoCtrlAlt(p.parts[0],a),this._coreKeybindings.push({keybinding:p.parts,command:a,commandArgs:g,when:C,weight1:w,weight2:s,extensionId:null,isBuiltinExtension:!1}),this._cachedMergedKeybindings=null}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=[].concat(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(y)),this._cachedMergedKeybindings.slice(0)}}const G=new D,I={EditorModes:"platform.keybindingsRegistry"};P.B.add(I.EditorModes,G);function y(E,p){return E.weight1!==p.weight1?E.weight1-p.weight1:E.command<p.command?-1:E.command>p.command?1:E.weight2-p.weight2}},6629:function(xt,Te,i){"use strict";i.d(Te,{e:function(){return H}});var h=i(16925);const H=(0,h.yh)("labelService")},59168:function(xt,Te,i){"use strict";i.d(Te,{Lw:function(){return Jt},XN:function(){return jt},ls:function(){return St},ev:function(){return An},CQ:function(){return Si}});var h=i(69454),H=i(43506),O=i(96283),P=i(4348),D=i(69323),G=i(51488),I=i(62685);class y{constructor(k,Ce){this.renderer=k,this.modelProvider=Ce}get templateId(){return this.renderer.templateId}renderTemplate(k){return{data:this.renderer.renderTemplate(k),disposable:D.JT.None}}renderElement(k,Ce,Be,ot){if(Be.disposable&&Be.disposable.dispose(),!Be.data)return;const wt=this.modelProvider();if(wt.isResolved(k))return this.renderer.renderElement(wt.get(k),k,Be.data,ot);const Ut=new O.A,Yt=wt.resolve(k,Ut.token);Be.disposable={dispose:()=>Ut.cancel()},this.renderer.renderPlaceholder(k,Be.data),Yt.then(ei=>this.renderer.renderElement(ei,k,Be.data,ot))}disposeTemplate(k){k.disposable&&(k.disposable.dispose(),k.disposable=void 0),k.data&&(this.renderer.disposeTemplate(k.data),k.data=void 0)}}class E{constructor(k,Ce){this.modelProvider=k,this.accessibilityProvider=Ce}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(k){const Ce=this.modelProvider();return Ce.isResolved(k)?this.accessibilityProvider.getAriaLabel(Ce.get(k)):null}}function p(Ct,k){return Object.assign(Object.assign({},k),{accessibilityProvider:k.accessibilityProvider&&new E(Ct,k.accessibilityProvider)})}class a{constructor(k,Ce,Be,ot,wt={}){const Ut=()=>this.model,Yt=ot.map(ei=>new y(ei,Ut));this.list=new I.aV(k,Ce,Be,Yt,p(Ut,wt))}updateOptions(k){this.list.updateOptions(k)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return P.ju.map(this.list.onMouseDblClick,({element:k,index:Ce,browserEvent:Be})=>({element:k===void 0?void 0:this._model.get(k),index:Ce,browserEvent:Be}))}get onPointer(){return P.ju.map(this.list.onPointer,({element:k,index:Ce,browserEvent:Be})=>({element:k===void 0?void 0:this._model.get(k),index:Ce,browserEvent:Be}))}get onDidChangeSelection(){return P.ju.map(this.list.onDidChangeSelection,({elements:k,indexes:Ce,browserEvent:Be})=>({elements:k.map(ot=>this._model.get(ot)),indexes:Ce,browserEvent:Be}))}get model(){return this._model}set model(k){this._model=k,this.list.splice(0,this.list.length,(0,H.w6)(k.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map(k=>this.model.get(k))}style(k){this.list.style(k)}dispose(){this.list.dispose()}}var g=i(56586);class w{constructor(k,Ce,Be){this.columns=k,this.getColumnSize=Be,this.templateId=w.TemplateId,this.renderedTemplates=new Set;const ot=new Map(Ce.map(wt=>[wt.templateId,wt]));this.renderers=[];for(const wt of k){const Ut=ot.get(wt.templateId);if(!Ut)throw new Error(`Table cell renderer for template id ${wt.templateId} not found.`);this.renderers.push(Ut)}}renderTemplate(k){const Ce=(0,h.R3)(k,(0,h.$)(".monaco-table-tr")),Be=[],ot=[];for(let Ut=0;Ut<this.columns.length;Ut++){const Yt=this.renderers[Ut],ei=(0,h.R3)(Ce,(0,h.$)(".monaco-table-td",{"data-col-index":Ut}));ei.style.width=`${this.getColumnSize(Ut)}px`,Be.push(ei),ot.push(Yt.renderTemplate(ei))}const wt={container:k,cellContainers:Be,cellTemplateData:ot};return this.renderedTemplates.add(wt),wt}renderElement(k,Ce,Be,ot){for(let wt=0;wt<this.columns.length;wt++){const Yt=this.columns[wt].project(k);this.renderers[wt].renderElement(Yt,Ce,Be.cellTemplateData[wt],ot)}}disposeElement(k,Ce,Be,ot){for(let wt=0;wt<this.columns.length;wt++){const Ut=this.renderers[wt];if(Ut.disposeElement){const ei=this.columns[wt].project(k);Ut.disposeElement(ei,Ce,Be.cellTemplateData[wt],ot)}}}disposeTemplate(k){for(let Ce=0;Ce<this.columns.length;Ce++)this.renderers[Ce].disposeTemplate(k.cellTemplateData[Ce]);(0,h.PO)(k.container),this.renderedTemplates.delete(k)}layoutColumn(k,Ce){for(const{cellContainers:Be}of this.renderedTemplates)Be[k].style.width=`${Ce}px`}}w.TemplateId="row";function s(Ct){return{getHeight(k){return Ct.getHeight(k)},getTemplateId(){return w.TemplateId}}}class C{constructor(k,Ce){this.column=k,this.index=Ce,this._onDidLayout=new P.Q5,this.onDidLayout=this._onDidLayout.event,this.element=(0,h.$)(".monaco-table-th",{"data-col-index":Ce,title:k.tooltip},k.label)}get minimumSize(){var k;return(k=this.column.minimumWidth)!==null&&k!==void 0?k:120}get maximumSize(){var k;return(k=this.column.maximumWidth)!==null&&k!==void 0?k:Number.POSITIVE_INFINITY}get onDidChange(){var k;return(k=this.column.onDidChangeWidthConstraints)!==null&&k!==void 0?k:P.ju.None}layout(k){this._onDidLayout.fire([this.index,k])}}class f{constructor(k,Ce,Be,ot,wt,Ut){this.virtualDelegate=Be,this.domId=`table_id_${++f.InstanceCount}`,this.cachedHeight=0,this.domNode=(0,h.R3)(Ce,(0,h.$)(`.monaco-table.${this.domId}`));const Yt=ot.map((gi,Mi)=>new C(gi,Mi)),ei={size:Yt.reduce((gi,Mi)=>gi+Mi.column.weight,0),views:Yt.map(gi=>({size:gi.column.weight,view:gi}))};this.splitview=new g.z(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:ei}),this.splitview.el.style.height=`${Be.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${Be.headerRowHeight}px`;const ri=new w(ot,wt,gi=>this.splitview.getViewSize(gi));this.list=new I.aV(k,this.domNode,s(Be),[ri],Ut),this.columnLayoutDisposable=P.ju.any(...Yt.map(gi=>gi.onDidLayout))(([gi,Mi])=>ri.layoutColumn(gi,Mi)),this.styleElement=(0,h.dS)(this.domNode),this.style({})}get onDidChangeFocus(){return this.list.onDidChangeFocus}get onDidChangeSelection(){return this.list.onDidChangeSelection}get onMouseDblClick(){return this.list.onMouseDblClick}get onPointer(){return this.list.onPointer}get onDidFocus(){return this.list.onDidFocus}get onDidDispose(){return this.list.onDidDispose}updateOptions(k){this.list.updateOptions(k)}splice(k,Ce,Be=[]){this.list.splice(k,Ce,Be)}getHTMLElement(){return this.domNode}style(k){const Ce=[];Ce.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {
top: ${this.virtualDelegate.headerRowHeight+1}px;
height: calc(100% - ${this.virtualDelegate.headerRowHeight}px);
}`),this.styleElement.textContent=Ce.join(`
`),this.list.style(k)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.splitview.dispose(),this.list.dispose(),this.columnLayoutDisposable.dispose()}}f.InstanceCount=0;var v=i(15674),r=i(84282),l=i(8035),m=i(92813),c;(function(Ct){Ct[Ct.Unknown=0]="Unknown",Ct[Ct.Twistie=1]="Twistie",Ct[Ct.Element=2]="Element"})(c||(c={}));class b extends Error{constructor(k,Ce){super(`TreeError [${k}] ${Ce}`)}}class L{constructor(k){this.fn=k,this._map=new WeakMap}map(k){let Ce=this._map.get(k);return Ce||(Ce=this.fn(k),this._map.set(k,Ce)),Ce}}var T=i(23068),M=i(88226);function z(Ct){return typeof Ct=="object"&&"visibility"in Ct&&"data"in Ct}function oe(Ct){switch(Ct){case!0:return 1;case!1:return 0;default:return Ct}}function se(Ct){return typeof Ct.collapsible=="boolean"}class re{constructor(k,Ce,Be,ot={}){this.user=k,this.list=Ce,this.rootRef=[],this.eventBufferer=new P.E7,this._onDidChangeCollapseState=new P.Q5,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new P.Q5,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new P.Q5,this.onDidSplice=this._onDidSplice.event,this.collapseByDefault=typeof ot.collapseByDefault=="undefined"?!1:ot.collapseByDefault,this.filter=ot.filter,this.autoExpandSingleChildren=typeof ot.autoExpandSingleChildren=="undefined"?!1:ot.autoExpandSingleChildren,this.root={parent:void 0,element:Be,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(k,Ce,Be=M.$.empty(),ot={}){if(k.length===0)throw new b(this.user,"Invalid tree location");ot.diffIdentityProvider?this.spliceSmart(ot.diffIdentityProvider,k,Ce,Be,ot):this.spliceSimple(k,Ce,Be,ot)}spliceSmart(k,Ce,Be,ot,wt,Ut){var Yt;ot===void 0&&(ot=M.$.empty()),Ut===void 0&&(Ut=(Yt=wt.diffDepth)!==null&&Yt!==void 0?Yt:0);const{parentNode:ei}=this.getParentNodeWithListIndex(Ce);if(!ei.lastDiffIds)return this.spliceSimple(Ce,Be,ot,wt);const ri=[...ot],gi=Ce[Ce.length-1],Mi=new T.Hs({getElements:()=>ei.lastDiffIds},{getElements:()=>[...ei.children.slice(0,gi),...ri,...ei.children.slice(gi+Be)].map(Bi=>k.getId(Bi.element).toString())}).ComputeDiff(!1);if(Mi.quitEarly)return ei.lastDiffIds=void 0,this.spliceSimple(Ce,Be,ri,wt);const Ei=Ce.slice(0,-1),xi=(Bi,on,zn)=>{if(Ut>0)for(let hs=0;hs<zn;hs++)Bi--,on--,this.spliceSmart(k,[...Ei,Bi,0],Number.MAX_SAFE_INTEGER,ri[on].children,wt,Ut-1)};let Pi=Math.min(ei.children.length,gi+Be),ki=ri.length;for(const Bi of Mi.changes.sort((on,zn)=>zn.originalStart-on.originalStart))xi(Pi,ki,Pi-(Bi.originalStart+Bi.originalLength)),Pi=Bi.originalStart,ki=Bi.modifiedStart-gi,this.spliceSimple([...Ei,Pi],Bi.originalLength,M.$.slice(ri,ki,ki+Bi.modifiedLength),wt);xi(Pi,ki,Pi)}spliceSimple(k,Ce,Be=M.$.empty(),{onDidCreateNode:ot,onDidDeleteNode:wt,diffIdentityProvider:Ut}){const{parentNode:Yt,listIndex:ei,revealed:ri,visible:gi}=this.getParentNodeWithListIndex(k),Mi=[],Ei=M.$.map(Be,Yi=>this.createTreeNode(Yi,Yt,Yt.visible?1:0,ri,Mi,ot)),xi=k[k.length-1],Pi=Yt.children.length>0;let ki=0;for(let Yi=xi;Yi>=0&&Yi<Yt.children.length;Yi--){const tn=Yt.children[Yi];if(tn.visible){ki=tn.visibleChildIndex;break}}const Bi=[];let on=0,zn=0;for(const Yi of Ei)Bi.push(Yi),zn+=Yi.renderNodeCount,Yi.visible&&(Yi.visibleChildIndex=ki+on++);const hs=(0,H.db)(Yt.children,xi,Ce,Bi);Ut?Yt.lastDiffIds?(0,H.db)(Yt.lastDiffIds,xi,Ce,Bi.map(Yi=>Ut.getId(Yi.element).toString())):Yt.lastDiffIds=Yt.children.map(Yi=>Ut.getId(Yi.element).toString()):Yt.lastDiffIds=void 0;let en=0;for(const Yi of hs)Yi.visible&&en++;if(en!==0)for(let Yi=xi+Bi.length;Yi<Yt.children.length;Yi++){const tn=Yt.children[Yi];tn.visible&&(tn.visibleChildIndex-=en)}if(Yt.visibleChildrenCount+=on-en,ri&&gi){const Yi=hs.reduce((tn,Bn)=>tn+(Bn.visible?Bn.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(Yt,zn-Yi),this.list.splice(ei,Yi,Mi)}if(hs.length>0&&wt){const Yi=tn=>{wt(tn),tn.children.forEach(Yi)};hs.forEach(Yi)}const mn=Yt.children.length>0;Pi!==mn&&this.setCollapsible(k.slice(0,-1),mn),this._onDidSplice.fire({insertedNodes:Bi,deletedNodes:hs});let Pn=Yt;for(;Pn;){if(Pn.visibility===2){this.refilter();break}Pn=Pn.parent}}rerender(k){if(k.length===0)throw new b(this.user,"Invalid tree location");const{node:Ce,listIndex:Be,revealed:ot}=this.getTreeNodeWithListIndex(k);Ce.visible&&ot&&this.list.splice(Be,1,[Ce])}has(k){return this.hasTreeNode(k)}getListIndex(k){const{listIndex:Ce,visible:Be,revealed:ot}=this.getTreeNodeWithListIndex(k);return Be&&ot?Ce:-1}getListRenderCount(k){return this.getTreeNode(k).renderNodeCount}isCollapsible(k){return this.getTreeNode(k).collapsible}setCollapsible(k,Ce){const Be=this.getTreeNode(k);typeof Ce=="undefined"&&(Ce=!Be.collapsible);const ot={collapsible:Ce};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(k,ot))}isCollapsed(k){return this.getTreeNode(k).collapsed}setCollapsed(k,Ce,Be){const ot=this.getTreeNode(k);typeof Ce=="undefined"&&(Ce=!ot.collapsed);const wt={collapsed:Ce,recursive:Be||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(k,wt))}_setCollapseState(k,Ce){const{node:Be,listIndex:ot,revealed:wt}=this.getTreeNodeWithListIndex(k),Ut=this._setListNodeCollapseState(Be,ot,wt,Ce);if(Be!==this.root&&this.autoExpandSingleChildren&&Ut&&!se(Ce)&&Be.collapsible&&!Be.collapsed&&!Ce.recursive){let Yt=-1;for(let ei=0;ei<Be.children.length;ei++)if(Be.children[ei].visible)if(Yt>-1){Yt=-1;break}else Yt=ei;Yt>-1&&this._setCollapseState([...k,Yt],Ce)}return Ut}_setListNodeCollapseState(k,Ce,Be,ot){const wt=this._setNodeCollapseState(k,ot,!1);if(!Be||!k.visible||!wt)return wt;const Ut=k.renderNodeCount,Yt=this.updateNodeAfterCollapseChange(k),ei=Ut-(Ce===-1?0:1);return this.list.splice(Ce+1,ei,Yt.slice(1)),wt}_setNodeCollapseState(k,Ce,Be){let ot;if(k===this.root?ot=!1:(se(Ce)?(ot=k.collapsible!==Ce.collapsible,k.collapsible=Ce.collapsible):k.collapsible?(ot=k.collapsed!==Ce.collapsed,k.collapsed=Ce.collapsed):ot=!1,ot&&this._onDidChangeCollapseState.fire({node:k,deep:Be})),!se(Ce)&&Ce.recursive)for(const wt of k.children)ot=this._setNodeCollapseState(wt,Ce,!0)||ot;return ot}expandTo(k){this.eventBufferer.bufferEvents(()=>{let Ce=this.getTreeNode(k);for(;Ce.parent;)Ce=Ce.parent,k=k.slice(0,k.length-1),Ce.collapsed&&this._setCollapseState(k,{collapsed:!1,recursive:!1})})}refilter(){const k=this.root.renderNodeCount,Ce=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,k,Ce)}createTreeNode(k,Ce,Be,ot,wt,Ut){const Yt={parent:Ce,element:k.element,children:[],depth:Ce.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof k.collapsible=="boolean"?k.collapsible:typeof k.collapsed!="undefined",collapsed:typeof k.collapsed=="undefined"?this.collapseByDefault:k.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},ei=this._filterNode(Yt,Be);Yt.visibility=ei,ot&&wt.push(Yt);const ri=k.children||M.$.empty(),gi=ot&&ei!==0&&!Yt.collapsed,Mi=M.$.map(ri,Pi=>this.createTreeNode(Pi,Yt,ei,gi,wt,Ut));let Ei=0,xi=1;for(const Pi of Mi)Yt.children.push(Pi),xi+=Pi.renderNodeCount,Pi.visible&&(Pi.visibleChildIndex=Ei++);return Yt.collapsible=Yt.collapsible||Yt.children.length>0,Yt.visibleChildrenCount=Ei,Yt.visible=ei===2?Ei>0:ei===1,Yt.visible?Yt.collapsed||(Yt.renderNodeCount=xi):(Yt.renderNodeCount=0,ot&&wt.pop()),Ut&&Ut(Yt),Yt}updateNodeAfterCollapseChange(k){const Ce=k.renderNodeCount,Be=[];return this._updateNodeAfterCollapseChange(k,Be),this._updateAncestorsRenderNodeCount(k.parent,Be.length-Ce),Be}_updateNodeAfterCollapseChange(k,Ce){if(k.visible===!1)return 0;if(Ce.push(k),k.renderNodeCount=1,!k.collapsed)for(const Be of k.children)k.renderNodeCount+=this._updateNodeAfterCollapseChange(Be,Ce);return this._onDidChangeRenderNodeCount.fire(k),k.renderNodeCount}updateNodeAfterFilterChange(k){const Ce=k.renderNodeCount,Be=[];return this._updateNodeAfterFilterChange(k,k.visible?1:0,Be),this._updateAncestorsRenderNodeCount(k.parent,Be.length-Ce),Be}_updateNodeAfterFilterChange(k,Ce,Be,ot=!0){let wt;if(k!==this.root){if(wt=this._filterNode(k,Ce),wt===0)return k.visible=!1,k.renderNodeCount=0,!1;ot&&Be.push(k)}const Ut=Be.length;k.renderNodeCount=k===this.root?0:1;let Yt=!1;if(!k.collapsed||wt!==0){let ei=0;for(const ri of k.children)Yt=this._updateNodeAfterFilterChange(ri,wt,Be,ot&&!k.collapsed)||Yt,ri.visible&&(ri.visibleChildIndex=ei++);k.visibleChildrenCount=ei}else k.visibleChildrenCount=0;return k!==this.root&&(k.visible=wt===2?Yt:wt===1,k.visibility=wt),k.visible?k.collapsed||(k.renderNodeCount+=Be.length-Ut):(k.renderNodeCount=0,ot&&Be.pop()),this._onDidChangeRenderNodeCount.fire(k),k.visible}_updateAncestorsRenderNodeCount(k,Ce){if(Ce!==0)for(;k;)k.renderNodeCount+=Ce,this._onDidChangeRenderNodeCount.fire(k),k=k.parent}_filterNode(k,Ce){const Be=this.filter?this.filter.filter(k.element,Ce):1;return typeof Be=="boolean"?(k.filterData=void 0,Be?1:0):z(Be)?(k.filterData=Be.data,oe(Be.visibility)):(k.filterData=void 0,oe(Be))}hasTreeNode(k,Ce=this.root){if(!k||k.length===0)return!0;const[Be,...ot]=k;return Be<0||Be>Ce.children.length?!1:this.hasTreeNode(ot,Ce.children[Be])}getTreeNode(k,Ce=this.root){if(!k||k.length===0)return Ce;const[Be,...ot]=k;if(Be<0||Be>Ce.children.length)throw new b(this.user,"Invalid tree location");return this.getTreeNode(ot,Ce.children[Be])}getTreeNodeWithListIndex(k){if(k.length===0)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:Ce,listIndex:Be,revealed:ot,visible:wt}=this.getParentNodeWithListIndex(k),Ut=k[k.length-1];if(Ut<0||Ut>Ce.children.length)throw new b(this.user,"Invalid tree location");const Yt=Ce.children[Ut];return{node:Yt,listIndex:Be,revealed:ot,visible:wt&&Yt.visible}}getParentNodeWithListIndex(k,Ce=this.root,Be=0,ot=!0,wt=!0){const[Ut,...Yt]=k;if(Ut<0||Ut>Ce.children.length)throw new b(this.user,"Invalid tree location");for(let ei=0;ei<Ut;ei++)Be+=Ce.children[ei].renderNodeCount;return ot=ot&&!Ce.collapsed,wt=wt&&Ce.visible,Yt.length===0?{parentNode:Ce,listIndex:Be,revealed:ot,visible:wt}:this.getParentNodeWithListIndex(Yt,Ce.children[Ut],Be+1,ot,wt)}getNode(k=[]){return this.getTreeNode(k)}getNodeLocation(k){const Ce=[];let Be=k;for(;Be.parent;)Ce.push(Be.parent.children.indexOf(Be)),Be=Be.parent;return Ce.reverse()}getParentNodeLocation(k){if(k.length!==0)return k.length===1?[]:(0,H.JH)(k)[0]}}var De=i(52615);const J=(0,De.CM)("tree-item-expanded",De.lA.chevronDown),Z=(0,De.CM)("tree-filter-on-type-on",De.lA.listFilter),Q=(0,De.CM)("tree-filter-on-type-off",De.lA.listSelection),le=(0,De.CM)("tree-filter-clear",De.lA.close),xe=(0,De.CM)("tree-item-loading",De.lA.loading);var j=i(50431),R=i(55237),V=i(99599),K=i(56722),ie=i(23345),te=i(13268);class ge extends v.kX{constructor(k){super(k.elements.map(Ce=>Ce.element)),this.data=k}}function ye(Ct){return Ct instanceof v.kX?new ge(Ct):Ct}class ve{constructor(k,Ce){this.modelProvider=k,this.dnd=Ce,this.autoExpandDisposable=D.JT.None}getDragURI(k){return this.dnd.getDragURI(k.element)}getDragLabel(k,Ce){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(k.map(Be=>Be.element),Ce)}onDragStart(k,Ce){this.dnd.onDragStart&&this.dnd.onDragStart(ye(k),Ce)}onDragOver(k,Ce,Be,ot,wt=!0){const Ut=this.dnd.onDragOver(ye(k),Ce&&Ce.element,Be,ot),Yt=this.autoExpandNode!==Ce;if(Yt&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=Ce),typeof Ce=="undefined")return Ut;if(Yt&&typeof Ut!="boolean"&&Ut.autoExpand&&(this.autoExpandDisposable=(0,j.Vg)(()=>{const Ei=this.modelProvider(),xi=Ei.getNodeLocation(Ce);Ei.isCollapsed(xi)&&Ei.setCollapsed(xi,!1),this.autoExpandNode=void 0},500)),typeof Ut=="boolean"||!Ut.accept||typeof Ut.bubble=="undefined"||Ut.feedback){if(!wt){const Ei=typeof Ut=="boolean"?Ut:Ut.accept,xi=typeof Ut=="boolean"?void 0:Ut.effect;return{accept:Ei,effect:xi,feedback:[Be]}}return Ut}if(Ut.bubble===1){const Ei=this.modelProvider(),xi=Ei.getNodeLocation(Ce),Pi=Ei.getParentNodeLocation(xi),ki=Ei.getNode(Pi),Bi=Pi&&Ei.getListIndex(Pi);return this.onDragOver(k,ki,Bi,ot,!1)}const ei=this.modelProvider(),ri=ei.getNodeLocation(Ce),gi=ei.getListIndex(ri),Mi=ei.getListRenderCount(ri);return Object.assign(Object.assign({},Ut),{feedback:(0,H.w6)(gi,gi+Mi)})}drop(k,Ce,Be,ot){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(ye(k),Ce&&Ce.element,Be,ot)}onDragEnd(k){this.dnd.onDragEnd&&this.dnd.onDragEnd(k)}}function Fe(Ct,k){return k&&Object.assign(Object.assign({},k),{identityProvider:k.identityProvider&&{getId(Ce){return k.identityProvider.getId(Ce.element)}},dnd:k.dnd&&new ve(Ct,k.dnd),multipleSelectionController:k.multipleSelectionController&&{isSelectionSingleChangeEvent(Ce){return k.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({},Ce),{element:Ce.element}))},isSelectionRangeChangeEvent(Ce){return k.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({},Ce),{element:Ce.element}))}},accessibilityProvider:k.accessibilityProvider&&Object.assign(Object.assign({},k.accessibilityProvider),{getSetSize(Ce){const Be=Ct(),ot=Be.getNodeLocation(Ce),wt=Be.getParentNodeLocation(ot);return Be.getNode(wt).visibleChildrenCount},getPosInSet(Ce){return Ce.visibleChildIndex+1},isChecked:k.accessibilityProvider&&k.accessibilityProvider.isChecked?Ce=>k.accessibilityProvider.isChecked(Ce.element):void 0,getRole:k.accessibilityProvider&&k.accessibilityProvider.getRole?Ce=>k.accessibilityProvider.getRole(Ce.element):()=>"treeitem",getAriaLabel(Ce){return k.accessibilityProvider.getAriaLabel(Ce.element)},getWidgetAriaLabel(){return k.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:k.accessibilityProvider&&k.accessibilityProvider.getWidgetRole?()=>k.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:k.accessibilityProvider&&k.accessibilityProvider.getAriaLevel?Ce=>k.accessibilityProvider.getAriaLevel(Ce.element):Ce=>Ce.depth,getActiveDescendantId:k.accessibilityProvider.getActiveDescendantId&&(Ce=>k.accessibilityProvider.getActiveDescendantId(Ce.element))}),keyboardNavigationLabelProvider:k.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},k.keyboardNavigationLabelProvider),{getKeyboardNavigationLabel(Ce){return k.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(Ce.element)}}),enableKeyboardNavigation:k.simpleKeyboardNavigation})}class we{constructor(k){this.delegate=k}getHeight(k){return this.delegate.getHeight(k.element)}getTemplateId(k){return this.delegate.getTemplateId(k.element)}hasDynamicHeight(k){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(k.element)}setDynamicHeight(k,Ce){this.delegate.setDynamicHeight&&this.delegate.setDynamicHeight(k.element,Ce)}}var ue;(function(Ct){Ct.None="none",Ct.OnHover="onHover",Ct.Always="always"})(ue||(ue={}));class ce{constructor(k,Ce=[]){this._elements=Ce,this.onDidChange=P.ju.forEach(k,Be=>this._elements=Be)}get elements(){return this._elements}}class Ve{constructor(k,Ce,Be,ot,wt={}){this.renderer=k,this.modelProvider=Ce,this.activeNodes=ot,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=Ve.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.renderedIndentGuides=new R.r,this.activeIndentNodes=new Set,this.indentGuidesDisposable=D.JT.None,this.disposables=new D.SL,this.templateId=k.templateId,this.updateOptions(wt),P.ju.map(Be,Ut=>Ut.node)(this.onDidChangeNodeTwistieState,this,this.disposables),k.onDidChangeTwistieState&&k.onDidChangeTwistieState(this.onDidChangeTwistieState,this,this.disposables)}updateOptions(k={}){if(typeof k.indent!="undefined"&&(this.indent=(0,K.u)(k.indent,0,40)),typeof k.renderIndentGuides!="undefined"){const Ce=k.renderIndentGuides!==ue.None;if(Ce!==this.shouldRenderIndentGuides&&(this.shouldRenderIndentGuides=Ce,this.indentGuidesDisposable.dispose(),Ce)){const Be=new D.SL;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,Be),this.indentGuidesDisposable=Be,this._onDidChangeActiveNodes(this.activeNodes.elements)}}typeof k.hideTwistiesOfChildlessElements!="undefined"&&(this.hideTwistiesOfChildlessElements=k.hideTwistiesOfChildlessElements)}renderTemplate(k){const Ce=(0,h.R3)(k,(0,h.$)(".monaco-tl-row")),Be=(0,h.R3)(Ce,(0,h.$)(".monaco-tl-indent")),ot=(0,h.R3)(Ce,(0,h.$)(".monaco-tl-twistie")),wt=(0,h.R3)(Ce,(0,h.$)(".monaco-tl-contents")),Ut=this.renderer.renderTemplate(wt);return{container:k,indent:Be,twistie:ot,indentGuidesDisposable:D.JT.None,templateData:Ut}}renderElement(k,Ce,Be,ot){typeof ot=="number"&&(this.renderedNodes.set(k,{templateData:Be,height:ot}),this.renderedElements.set(k.element,k));const wt=Ve.DefaultIndent+(k.depth-1)*this.indent;Be.twistie.style.paddingLeft=`${wt}px`,Be.indent.style.width=`${wt+this.indent-16}px`,this.renderTwistie(k,Be),typeof ot=="number"&&this.renderIndentGuides(k,Be),this.renderer.renderElement(k,Ce,Be.templateData,ot)}disposeElement(k,Ce,Be,ot){Be.indentGuidesDisposable.dispose(),this.renderer.disposeElement&&this.renderer.disposeElement(k,Ce,Be.templateData,ot),typeof ot=="number"&&(this.renderedNodes.delete(k),this.renderedElements.delete(k.element))}disposeTemplate(k){this.renderer.disposeTemplate(k.templateData)}onDidChangeTwistieState(k){const Ce=this.renderedElements.get(k);Ce&&this.onDidChangeNodeTwistieState(Ce)}onDidChangeNodeTwistieState(k){const Ce=this.renderedNodes.get(k);Ce&&(this.renderTwistie(k,Ce.templateData),this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderIndentGuides(k,Ce.templateData))}renderTwistie(k,Ce){Ce.twistie.classList.remove(...J.classNamesArray);let Be=!1;this.renderer.renderTwistie&&(Be=this.renderer.renderTwistie(k.element,Ce.twistie)),k.collapsible&&(!this.hideTwistiesOfChildlessElements||k.visibleChildrenCount>0)?(Be||Ce.twistie.classList.add(...J.classNamesArray),Ce.twistie.classList.add("collapsible"),Ce.twistie.classList.toggle("collapsed",k.collapsed)):Ce.twistie.classList.remove("collapsible","collapsed"),k.collapsible?Ce.container.setAttribute("aria-expanded",String(!k.collapsed)):Ce.container.removeAttribute("aria-expanded")}renderIndentGuides(k,Ce){if((0,h.PO)(Ce.indent),Ce.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const Be=new D.SL,ot=this.modelProvider();let wt=k;for(;;){const Ut=ot.getNodeLocation(wt),Yt=ot.getParentNodeLocation(Ut);if(!Yt)break;const ei=ot.getNode(Yt),ri=(0,h.$)(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(ei)&&ri.classList.add("active"),Ce.indent.childElementCount===0?Ce.indent.appendChild(ri):Ce.indent.insertBefore(ri,Ce.indent.firstElementChild),this.renderedIndentGuides.add(ei,ri),Be.add((0,D.OF)(()=>this.renderedIndentGuides.delete(ei,ri))),wt=ei}Ce.indentGuidesDisposable=Be}_onDidChangeActiveNodes(k){if(!this.shouldRenderIndentGuides)return;const Ce=new Set,Be=this.modelProvider();k.forEach(ot=>{const wt=Be.getNodeLocation(ot);try{const Ut=Be.getParentNodeLocation(wt);ot.collapsible&&ot.children.length>0&&!ot.collapsed?Ce.add(ot):Ut&&Ce.add(Be.getNode(Ut))}catch(Ut){}}),this.activeIndentNodes.forEach(ot=>{Ce.has(ot)||this.renderedIndentGuides.forEach(ot,wt=>wt.classList.remove("active"))}),Ce.forEach(ot=>{this.activeIndentNodes.has(ot)||this.renderedIndentGuides.forEach(ot,wt=>wt.classList.add("active"))}),this.activeIndentNodes=Ce}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),(0,D.B9)(this.disposables)}}Ve.DefaultIndent=8;class We{constructor(k,Ce,Be){this.tree=k,this.keyboardNavigationLabelProvider=Ce,this._filter=Be,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new D.SL,k.onWillRefilter(this.reset,this,this.disposables)}get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}set pattern(k){this._pattern=k,this._lowercasePattern=k.toLowerCase()}filter(k,Ce){if(this._filter){const wt=this._filter.filter(k,Ce);if(this.tree.options.simpleKeyboardNavigation)return wt;let Ut;if(typeof wt=="boolean"?Ut=wt?1:0:z(wt)?Ut=oe(wt.visibility):Ut=wt,Ut===0)return!1}if(this._totalCount++,this.tree.options.simpleKeyboardNavigation||!this._pattern)return this._matchCount++,{data:V.CL.Default,visibility:!0};const Be=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(k),ot=Array.isArray(Be)?Be:[Be];for(const wt of ot){const Ut=wt&&wt.toString();if(typeof Ut=="undefined")return{data:V.CL.Default,visibility:!0};const Yt=(0,V.EW)(this._pattern,this._lowercasePattern,0,Ut,Ut.toLowerCase(),0,!0);if(Yt)return this._matchCount++,ot.length===1?{data:Yt,visibility:!0}:{data:{label:Ut,score:Yt},visibility:!0}}return this.tree.options.filterOnType?2:{data:V.CL.Default,visibility:!0}}reset(){this._totalCount=0,this._matchCount=0}dispose(){(0,D.B9)(this.disposables)}}class ae{constructor(k,Ce,Be,ot,wt){this.tree=k,this.view=Be,this.filter=ot,this.keyboardNavigationDelegate=wt,this._enabled=!1,this._pattern="",this._empty=!1,this._onDidChangeEmptyState=new P.Q5,this.positionClassName="ne",this.automaticKeyboardNavigation=!0,this.triggered=!1,this._onDidChangePattern=new P.Q5,this.enabledDisposables=new D.SL,this.disposables=new D.SL,this.domNode=(0,h.$)(`.monaco-list-type-filter.${this.positionClassName}`),this.domNode.draggable=!0,this.disposables.add((0,h.nm)(this.domNode,"dragstart",()=>this.onDragStart())),this.messageDomNode=(0,h.R3)(Be.getHTMLElement(),(0,h.$)(".monaco-list-type-filter-message")),this.labelDomNode=(0,h.R3)(this.domNode,(0,h.$)("span.label"));const Ut=(0,h.R3)(this.domNode,(0,h.$)(".controls"));this._filterOnType=!!k.options.filterOnType,this.filterOnTypeDomNode=(0,h.R3)(Ut,(0,h.$)("input.filter")),this.filterOnTypeDomNode.type="checkbox",this.filterOnTypeDomNode.checked=this._filterOnType,this.filterOnTypeDomNode.tabIndex=-1,this.updateFilterOnTypeTitleAndIcon(),this.disposables.add((0,h.nm)(this.filterOnTypeDomNode,"input",()=>this.onDidChangeFilterOnType())),this.clearDomNode=(0,h.R3)(Ut,(0,h.$)("button.clear"+le.cssSelector)),this.clearDomNode.tabIndex=-1,this.clearDomNode.title=(0,te.N)("clear","Clear"),this.keyboardNavigationEventFilter=k.options.keyboardNavigationEventFilter,Ce.onDidSplice(this.onDidSpliceModel,this,this.disposables),this.updateOptions(k.options)}get enabled(){return this._enabled}get pattern(){return this._pattern}get filterOnType(){return this._filterOnType}updateOptions(k){k.simpleKeyboardNavigation?this.disable():this.enable(),typeof k.filterOnType!="undefined"&&(this._filterOnType=!!k.filterOnType,this.filterOnTypeDomNode.checked=this._filterOnType,this.updateFilterOnTypeTitleAndIcon()),typeof k.automaticKeyboardNavigation!="undefined"&&(this.automaticKeyboardNavigation=k.automaticKeyboardNavigation),this.tree.refilter(),this.render(),this.automaticKeyboardNavigation||this.onEventOrInput("")}enable(){if(this._enabled)return;const k=this.enabledDisposables.add(new l.Y(this.view.getHTMLElement(),"keydown")),Ce=P.ju.chain(k.event).filter(ot=>!(0,I.cK)(ot.target)||ot.target===this.filterOnTypeDomNode).filter(ot=>ot.key!=="Dead"&&!/^Media/.test(ot.key)).map(ot=>new m.y(ot)).filter(this.keyboardNavigationEventFilter||(()=>!0)).filter(()=>this.automaticKeyboardNavigation||this.triggered).filter(ot=>this.keyboardNavigationDelegate.mightProducePrintableCharacter(ot)&&!(ot.keyCode===18||ot.keyCode===16||ot.keyCode===15||ot.keyCode===17)||(this.pattern.length>0||this.triggered)&&(ot.keyCode===9||ot.keyCode===1)&&!ot.altKey&&!ot.ctrlKey&&!ot.metaKey||ot.keyCode===1&&(ie.dz?ot.altKey&&!ot.metaKey:ot.ctrlKey)&&!ot.shiftKey).forEach(ot=>{ot.stopPropagation(),ot.preventDefault()}).event,Be=this.enabledDisposables.add(new l.Y(this.clearDomNode,"click"));P.ju.chain(P.ju.any(Ce,Be.event)).event(this.onEventOrInput,this,this.enabledDisposables),this.filter.pattern="",this.tree.refilter(),this.render(),this._enabled=!0,this.triggered=!1}disable(){this._enabled&&(this.domNode.remove(),this.enabledDisposables.clear(),this.tree.refilter(),this.render(),this._enabled=!1,this.triggered=!1)}onEventOrInput(k){typeof k=="string"?this.onInput(k):k instanceof MouseEvent||k.keyCode===9||k.keyCode===1&&(ie.dz?k.altKey:k.ctrlKey)?this.onInput(""):k.keyCode===1?this.onInput(this.pattern.length===0?"":this.pattern.substr(0,this.pattern.length-1)):this.onInput(this.pattern+k.browserEvent.key)}onInput(k){const Ce=this.view.getHTMLElement();k&&!this.domNode.parentElement?Ce.append(this.domNode):!k&&this.domNode.parentElement&&(this.domNode.remove(),this.tree.domFocus()),this._pattern=k,this._onDidChangePattern.fire(k),this.filter.pattern=k,this.tree.refilter(),k&&this.tree.focusNext(0,!0,void 0,ot=>!V.CL.isDefault(ot.filterData));const Be=this.tree.getFocus();if(Be.length>0){const ot=Be[0];this.tree.getRelativeTop(ot)===null&&this.tree.reveal(ot,.5)}this.render(),k||(this.triggered=!1)}onDragStart(){const k=this.view.getHTMLElement(),{left:Ce}=(0,h.i)(k),Be=k.clientWidth,ot=Be/2,wt=this.domNode.clientWidth,Ut=new D.SL;let Yt=this.positionClassName;const ei=()=>{switch(Yt){case"nw":this.domNode.style.top="4px",this.domNode.style.left="4px";break;case"ne":this.domNode.style.top="4px",this.domNode.style.left=`${Be-wt-6}px`;break}},ri=Mi=>{Mi.preventDefault();const Ei=Mi.clientX-Ce;Mi.dataTransfer&&(Mi.dataTransfer.dropEffect="none"),Ei<ot?Yt="nw":Yt="ne",ei()},gi=()=>{this.positionClassName=Yt,this.domNode.className=`monaco-list-type-filter ${this.positionClassName}`,this.domNode.style.top="",this.domNode.style.left="",(0,D.B9)(Ut)};ei(),this.domNode.classList.remove(Yt),this.domNode.classList.add("dragging"),Ut.add((0,D.OF)(()=>this.domNode.classList.remove("dragging"))),Ut.add((0,h.nm)(document,"dragover",Mi=>ri(Mi))),Ut.add((0,h.nm)(this.domNode,"dragend",()=>gi())),r.P$.CurrentDragAndDropData=new r.TN("vscode-ui"),Ut.add((0,D.OF)(()=>r.P$.CurrentDragAndDropData=void 0))}onDidSpliceModel(){!this._enabled||this.pattern.length===0||(this.tree.refilter(),this.render())}onDidChangeFilterOnType(){this.tree.updateOptions({filterOnType:this.filterOnTypeDomNode.checked}),this.tree.refilter(),this.tree.domFocus(),this.render(),this.updateFilterOnTypeTitleAndIcon()}updateFilterOnTypeTitleAndIcon(){this.filterOnType?(this.filterOnTypeDomNode.classList.remove(...Q.classNamesArray),this.filterOnTypeDomNode.classList.add(...Z.classNamesArray),this.filterOnTypeDomNode.title=(0,te.N)("disable filter on type","Disable Filter on Type")):(this.filterOnTypeDomNode.classList.remove(...Z.classNamesArray),this.filterOnTypeDomNode.classList.add(...Q.classNamesArray),this.filterOnTypeDomNode.title=(0,te.N)("enable filter on type","Enable Filter on Type"))}render(){const k=this.filter.totalCount>0&&this.filter.matchCount===0;this.pattern&&this.tree.options.filterOnType&&k?(this.messageDomNode.textContent=(0,te.N)("empty","No elements found"),this._empty=!0):(this.messageDomNode.innerText="",this._empty=!1),this.domNode.classList.toggle("no-matches",k),this.domNode.title=(0,te.N)("found","Matched {0} out of {1} elements",this.filter.matchCount,this.filter.totalCount),this.labelDomNode.textContent=this.pattern.length>16?"\u2026"+this.pattern.substr(this.pattern.length-16):this.pattern,this._onDidChangeEmptyState.fire(this._empty)}shouldAllowFocus(k){return!this.enabled||!this.pattern||this.filterOnType||this.filter.totalCount>0&&this.filter.matchCount<=1?!0:!V.CL.isDefault(k.filterData)}dispose(){this._enabled&&(this.domNode.remove(),this.enabledDisposables.dispose(),this._enabled=!1,this.triggered=!1),this._onDidChangePattern.dispose(),(0,D.B9)(this.disposables)}}function fe(Ct){let k=c.Unknown;return(0,h.uU)(Ct.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?k=c.Twistie:(0,h.uU)(Ct.browserEvent.target,"monaco-tl-contents","monaco-tl-row")&&(k=c.Element),{browserEvent:Ct.browserEvent,element:Ct.element?Ct.element.element:null,target:k}}function ne(Ct,k){k(Ct),Ct.children.forEach(Ce=>ne(Ce,k))}class W{constructor(k,Ce){this.getFirstViewElementWithTrait=k,this.identityProvider=Ce,this.nodes=[],this._onDidChange=new P.Q5,this.onDidChange=this._onDidChange.event}get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}set(k,Ce){var Be;!(!((Be=Ce)===null||Be===void 0)&&Be.__forceEvent)&&(0,H.fS)(this.nodes,k)||this._set(k,!1,Ce)}_set(k,Ce,Be){if(this.nodes=[...k],this.elements=void 0,this._nodeSet=void 0,!Ce){const ot=this;this._onDidChange.fire({get elements(){return ot.get()},browserEvent:Be})}}get(){return this.elements||(this.elements=this.nodes.map(k=>k.element)),[...this.elements]}getNodes(){return this.nodes}has(k){return this.nodeSet.has(k)}onDidModelSplice({insertedNodes:k,deletedNodes:Ce}){if(!this.identityProvider){const ei=this.createNodeSet(),ri=gi=>ei.delete(gi);Ce.forEach(gi=>ne(gi,ri)),this.set([...ei.values()]);return}const Be=new Set,ot=ei=>Be.add(this.identityProvider.getId(ei.element).toString());Ce.forEach(ei=>ne(ei,ot));const wt=new Map,Ut=ei=>wt.set(this.identityProvider.getId(ei.element).toString(),ei);k.forEach(ei=>ne(ei,Ut));const Yt=[];for(const ei of this.nodes){const ri=this.identityProvider.getId(ei.element).toString();if(!Be.has(ri))Yt.push(ei);else{const Mi=wt.get(ri);Mi&&Yt.push(Mi)}}if(this.nodes.length>0&&Yt.length===0){const ei=this.getFirstViewElementWithTrait();ei&&Yt.push(ei)}this._set(Yt,!0)}createNodeSet(){const k=new Set;for(const Ce of this.nodes)k.add(Ce);return k}}class $ extends I.sx{constructor(k,Ce){super(k),this.tree=Ce}onViewPointer(k){if((0,I.cK)(k.browserEvent.target)||(0,I.hD)(k.browserEvent.target))return;const Ce=k.element;if(!Ce)return super.onViewPointer(k);if(this.isSelectionRangeChangeEvent(k)||this.isSelectionSingleChangeEvent(k))return super.onViewPointer(k);const Be=k.browserEvent.target,ot=Be.classList.contains("monaco-tl-twistie")||Be.classList.contains("monaco-icon-label")&&Be.classList.contains("folder-icon")&&k.browserEvent.offsetX<16;let wt=!1;if(typeof this.tree.expandOnlyOnTwistieClick=="function"?wt=this.tree.expandOnlyOnTwistieClick(Ce.element):wt=!!this.tree.expandOnlyOnTwistieClick,wt&&!ot&&k.browserEvent.detail!==2)return super.onViewPointer(k);if(!this.tree.expandOnDoubleClick&&k.browserEvent.detail===2)return super.onViewPointer(k);if(Ce.collapsible){const Ut=this.tree.model,Yt=Ut.getNodeLocation(Ce),ei=k.browserEvent.altKey;if(this.tree.setFocus([Yt]),Ut.setCollapsed(Yt,void 0,ei),wt&&ot)return}super.onViewPointer(k)}onDoubleClick(k){k.browserEvent.target.classList.contains("monaco-tl-twistie")||!this.tree.expandOnDoubleClick||super.onDoubleClick(k)}}class ee extends I.aV{constructor(k,Ce,Be,ot,wt,Ut,Yt,ei){super(k,Ce,Be,ot,ei),this.focusTrait=wt,this.selectionTrait=Ut,this.anchorTrait=Yt}createMouseController(k){return new $(this,k.tree)}splice(k,Ce,Be=[]){if(super.splice(k,Ce,Be),Be.length===0)return;const ot=[],wt=[];let Ut;Be.forEach((Yt,ei)=>{this.focusTrait.has(Yt)&&ot.push(k+ei),this.selectionTrait.has(Yt)&&wt.push(k+ei),this.anchorTrait.has(Yt)&&(Ut=k+ei)}),ot.length>0&&super.setFocus((0,H.EB)([...super.getFocus(),...ot])),wt.length>0&&super.setSelection((0,H.EB)([...super.getSelection(),...wt])),typeof Ut=="number"&&super.setAnchor(Ut)}setFocus(k,Ce,Be=!1){super.setFocus(k,Ce),Be||this.focusTrait.set(k.map(ot=>this.element(ot)),Ce)}setSelection(k,Ce,Be=!1){super.setSelection(k,Ce),Be||this.selectionTrait.set(k.map(ot=>this.element(ot)),Ce)}setAnchor(k,Ce=!1){super.setAnchor(k),Ce||(typeof k=="undefined"?this.anchorTrait.set([]):this.anchorTrait.set([this.element(k)]))}}class he{constructor(k,Ce,Be,ot,wt={}){this._options=wt,this.eventBufferer=new P.E7,this.disposables=new D.SL,this._onWillRefilter=new P.Q5,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new P.Q5;const Ut=new we(Be),Yt=new P.ZD,ei=new P.ZD,ri=new ce(ei.event);this.renderers=ot.map(Ei=>new Ve(Ei,()=>this.model,Yt.event,ri,wt));for(let Ei of this.renderers)this.disposables.add(Ei);let gi;wt.keyboardNavigationLabelProvider&&(gi=new We(this,wt.keyboardNavigationLabelProvider,wt.filter),wt=Object.assign(Object.assign({},wt),{filter:gi}),this.disposables.add(gi)),this.focus=new W(()=>this.view.getFocusedElements()[0],wt.identityProvider),this.selection=new W(()=>this.view.getSelectedElements()[0],wt.identityProvider),this.anchor=new W(()=>this.view.getAnchorElement(),wt.identityProvider),this.view=new ee(k,Ce,Ut,this.renderers,this.focus,this.selection,this.anchor,Object.assign(Object.assign({},Fe(()=>this.model,wt)),{tree:this})),this.model=this.createModel(k,this.view,wt),Yt.input=this.model.onDidChangeCollapseState;const Mi=P.ju.forEach(this.model.onDidSplice,Ei=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(Ei),this.selection.onDidModelSplice(Ei)})});if(Mi(()=>null,null,this.disposables),ei.input=P.ju.chain(P.ju.any(Mi,this.focus.onDidChange,this.selection.onDidChange)).debounce(()=>null,0).map(()=>{const Ei=new Set;for(const xi of this.focus.getNodes())Ei.add(xi);for(const xi of this.selection.getNodes())Ei.add(xi);return[...Ei.values()]}).event,wt.keyboardSupport!==!1){const Ei=P.ju.chain(this.view.onKeyDown).filter(xi=>!(0,I.cK)(xi.target)).map(xi=>new m.y(xi));Ei.filter(xi=>xi.keyCode===15).on(this.onLeftArrow,this,this.disposables),Ei.filter(xi=>xi.keyCode===17).on(this.onRightArrow,this,this.disposables),Ei.filter(xi=>xi.keyCode===10).on(this.onSpace,this,this.disposables)}if(wt.keyboardNavigationLabelProvider){const Ei=wt.keyboardNavigationDelegate||I.WK;this.typeFilterController=new ae(this,this.model,this.view,gi,Ei),this.focusNavigationFilter=xi=>this.typeFilterController.shouldAllowFocus(xi),this.disposables.add(this.typeFilterController)}this.styleElement=(0,h.dS)(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===ue.Always)}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return P.ju.map(this.view.onMouseDblClick,fe)}get onPointer(){return P.ju.map(this.view.onPointer,fe)}get onDidFocus(){return this.view.onDidFocus}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get expandOnDoubleClick(){return typeof this._options.expandOnDoubleClick=="undefined"?!0:this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return typeof this._options.expandOnlyOnTwistieClick=="undefined"?!0:this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}updateOptions(k={}){this._options=Object.assign(Object.assign({},this._options),k);for(const Ce of this.renderers)Ce.updateOptions(k);this.view.updateOptions(Object.assign(Object.assign({},this._options),{enableKeyboardNavigation:this._options.simpleKeyboardNavigation})),this.typeFilterController&&this.typeFilterController.updateOptions(this._options),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===ue.Always)}get options(){return this._options}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(k){this.view.scrollTop=k}domFocus(){this.view.domFocus()}layout(k,Ce){this.view.layout(k,Ce)}style(k){const Ce=`.${this.view.domId}`,Be=[];k.treeIndentGuidesStroke&&(Be.push(`.monaco-list${Ce}:hover .monaco-tl-indent > .indent-guide, .monaco-list${Ce}.always .monaco-tl-indent > .indent-guide { border-color: ${k.treeIndentGuidesStroke.transparent(.4)}; }`),Be.push(`.monaco-list${Ce} .monaco-tl-indent > .indent-guide.active { border-color: ${k.treeIndentGuidesStroke}; }`)),this.styleElement.textContent=Be.join(`
`),this.view.style(k)}collapse(k,Ce=!1){return this.model.setCollapsed(k,!0,Ce)}expand(k,Ce=!1){return this.model.setCollapsed(k,!1,Ce)}isCollapsible(k){return this.model.isCollapsible(k)}setCollapsible(k,Ce){return this.model.setCollapsible(k,Ce)}isCollapsed(k){return this.model.isCollapsed(k)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(k,Ce){const Be=k.map(wt=>this.model.getNode(wt));this.selection.set(Be,Ce);const ot=k.map(wt=>this.model.getListIndex(wt)).filter(wt=>wt>-1);this.view.setSelection(ot,Ce,!0)}getSelection(){return this.selection.get()}setFocus(k,Ce){const Be=k.map(wt=>this.model.getNode(wt));this.focus.set(Be,Ce);const ot=k.map(wt=>this.model.getListIndex(wt)).filter(wt=>wt>-1);this.view.setFocus(ot,Ce,!0)}focusNext(k=1,Ce=!1,Be,ot=this.focusNavigationFilter){this.view.focusNext(k,Ce,Be,ot)}getFocus(){return this.focus.get()}reveal(k,Ce){this.model.expandTo(k);const Be=this.model.getListIndex(k);Be!==-1&&this.view.reveal(Be,Ce)}getRelativeTop(k){const Ce=this.model.getListIndex(k);return Ce===-1?null:this.view.getRelativeTop(Ce)}onLeftArrow(k){k.preventDefault(),k.stopPropagation();const Ce=this.view.getFocusedElements();if(Ce.length===0)return;const Be=Ce[0],ot=this.model.getNodeLocation(Be);if(!this.model.setCollapsed(ot,!0)){const Ut=this.model.getParentNodeLocation(ot);if(!Ut)return;const Yt=this.model.getListIndex(Ut);this.view.reveal(Yt),this.view.setFocus([Yt])}}onRightArrow(k){k.preventDefault(),k.stopPropagation();const Ce=this.view.getFocusedElements();if(Ce.length===0)return;const Be=Ce[0],ot=this.model.getNodeLocation(Be);if(!this.model.setCollapsed(ot,!1)){if(!Be.children.some(ei=>ei.visible))return;const[Ut]=this.view.getFocus(),Yt=Ut+1;this.view.reveal(Yt),this.view.setFocus([Yt])}}onSpace(k){k.preventDefault(),k.stopPropagation();const Ce=this.view.getFocusedElements();if(Ce.length===0)return;const Be=Ce[0],ot=this.model.getNodeLocation(Be),wt=k.browserEvent.altKey;this.model.setCollapsed(ot,void 0,wt)}dispose(){(0,D.B9)(this.disposables),this.view.dispose()}}class Pe{constructor(k,Ce,Be={}){this.user=k,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new re(k,Ce,null,Be),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,Be.sorter&&(this.sorter={compare(ot,wt){return Be.sorter.compare(ot.element,wt.element)}}),this.identityProvider=Be.identityProvider}setChildren(k,Ce=M.$.empty(),Be={}){const ot=this.getElementLocation(k);this._setChildren(ot,this.preserveCollapseState(Ce),Be)}_setChildren(k,Ce=M.$.empty(),Be){const ot=new Set,wt=new Set,Ut=ei=>{var ri;if(ei.element===null)return;const gi=ei;if(ot.add(gi.element),this.nodes.set(gi.element,gi),this.identityProvider){const Mi=this.identityProvider.getId(gi.element).toString();wt.add(Mi),this.nodesByIdentity.set(Mi,gi)}(ri=Be.onDidCreateNode)===null||ri===void 0||ri.call(Be,gi)},Yt=ei=>{var ri;if(ei.element===null)return;const gi=ei;if(ot.has(gi.element)||this.nodes.delete(gi.element),this.identityProvider){const Mi=this.identityProvider.getId(gi.element).toString();wt.has(Mi)||this.nodesByIdentity.delete(Mi)}(ri=Be.onDidDeleteNode)===null||ri===void 0||ri.call(Be,gi)};this.model.splice([...k,0],Number.MAX_VALUE,Ce,Object.assign(Object.assign({},Be),{onDidCreateNode:Ut,onDidDeleteNode:Yt}))}preserveCollapseState(k=M.$.empty()){return this.sorter&&(k=[...k].sort(this.sorter.compare.bind(this.sorter))),M.$.map(k,Ce=>{let Be=this.nodes.get(Ce.element);if(!Be&&this.identityProvider){const Ut=this.identityProvider.getId(Ce.element).toString();Be=this.nodesByIdentity.get(Ut)}if(!Be)return Object.assign(Object.assign({},Ce),{children:this.preserveCollapseState(Ce.children)});const ot=typeof Ce.collapsible=="boolean"?Ce.collapsible:Be.collapsible,wt=typeof Ce.collapsed!="undefined"?Ce.collapsed:Be.collapsed;return Object.assign(Object.assign({},Ce),{collapsible:ot,collapsed:wt,children:this.preserveCollapseState(Ce.children)})})}rerender(k){const Ce=this.getElementLocation(k);this.model.rerender(Ce)}has(k){return this.nodes.has(k)}getListIndex(k){const Ce=this.getElementLocation(k);return this.model.getListIndex(Ce)}getListRenderCount(k){const Ce=this.getElementLocation(k);return this.model.getListRenderCount(Ce)}isCollapsible(k){const Ce=this.getElementLocation(k);return this.model.isCollapsible(Ce)}setCollapsible(k,Ce){const Be=this.getElementLocation(k);return this.model.setCollapsible(Be,Ce)}isCollapsed(k){const Ce=this.getElementLocation(k);return this.model.isCollapsed(Ce)}setCollapsed(k,Ce,Be){const ot=this.getElementLocation(k);return this.model.setCollapsed(ot,Ce,Be)}expandTo(k){const Ce=this.getElementLocation(k);this.model.expandTo(Ce)}refilter(){this.model.refilter()}getNode(k=null){if(k===null)return this.model.getNode(this.model.rootRef);const Ce=this.nodes.get(k);if(!Ce)throw new b(this.user,`Tree element not found: ${k}`);return Ce}getNodeLocation(k){return k.element}getParentNodeLocation(k){if(k===null)throw new b(this.user,"Invalid getParentNodeLocation call");const Ce=this.nodes.get(k);if(!Ce)throw new b(this.user,`Tree element not found: ${k}`);const Be=this.model.getNodeLocation(Ce),ot=this.model.getParentNodeLocation(Be);return this.model.getNode(ot).element}getElementLocation(k){if(k===null)return[];const Ce=this.nodes.get(k);if(!Ce)throw new b(this.user,`Tree element not found: ${k}`);return this.model.getNodeLocation(Ce)}}function Ye(Ct){const k=[Ct.element],Ce=Ct.incompressible||!1;return{element:{elements:k,incompressible:Ce},children:M.$.map(M.$.from(Ct.children),Ye),collapsible:Ct.collapsible,collapsed:Ct.collapsed}}function it(Ct){const k=[Ct.element],Ce=Ct.incompressible||!1;let Be,ot;for(;[ot,Be]=M.$.consume(M.$.from(Ct.children),2),!(ot.length!==1||ot[0].incompressible);)Ct=ot[0],k.push(Ct.element);return{element:{elements:k,incompressible:Ce},children:M.$.map(M.$.concat(ot,Be),it),collapsible:Ct.collapsible,collapsed:Ct.collapsed}}function rt(Ct,k=0){let Ce;return k<Ct.element.elements.length-1?Ce=[rt(Ct,k+1)]:Ce=M.$.map(M.$.from(Ct.children),Be=>rt(Be,0)),k===0&&Ct.element.incompressible?{element:Ct.element.elements[k],children:Ce,incompressible:!0,collapsible:Ct.collapsible,collapsed:Ct.collapsed}:{element:Ct.element.elements[k],children:Ce,collapsible:Ct.collapsible,collapsed:Ct.collapsed}}function vt(Ct){return rt(Ct,0)}function Ft(Ct,k,Ce){return Ct.element===k?Object.assign(Object.assign({},Ct),{children:Ce}):Object.assign(Object.assign({},Ct),{children:M.$.map(M.$.from(Ct.children),Be=>Ft(Be,k,Ce))})}const Ht=Ct=>({getId(k){return k.elements.map(Ce=>Ct.getId(Ce).toString()).join("\0")}});class ze{constructor(k,Ce,Be={}){this.user=k,this.rootRef=null,this.nodes=new Map,this.model=new Pe(k,Ce,Be),this.enabled=typeof Be.compressionEnabled=="undefined"?!0:Be.compressionEnabled,this.identityProvider=Be.identityProvider}get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}setChildren(k,Ce=M.$.empty(),Be){const ot=Be.diffIdentityProvider&&Ht(Be.diffIdentityProvider);if(k===null){const xi=M.$.map(Ce,this.enabled?it:Ye);this._setChildren(null,xi,{diffIdentityProvider:ot,diffDepth:1/0});return}const wt=this.nodes.get(k);if(!wt)throw new Error("Unknown compressed tree node");const Ut=this.model.getNode(wt),Yt=this.model.getParentNodeLocation(wt),ei=this.model.getNode(Yt),ri=vt(Ut),gi=Ft(ri,k,Ce),Mi=(this.enabled?it:Ye)(gi),Ei=ei.children.map(xi=>xi===Ut?Mi:xi);this._setChildren(ei.element,Ei,{diffIdentityProvider:ot,diffDepth:Ut.depth-ei.depth})}setCompressionEnabled(k){if(k===this.enabled)return;this.enabled=k;const Be=this.model.getNode().children,ot=M.$.map(Be,vt),wt=M.$.map(ot,k?it:Ye);this._setChildren(null,wt,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(k,Ce,Be){const ot=new Set,wt=Yt=>{for(const ei of Yt.element.elements)ot.add(ei),this.nodes.set(ei,Yt.element)},Ut=Yt=>{for(const ei of Yt.element.elements)ot.has(ei)||this.nodes.delete(ei)};this.model.setChildren(k,Ce,Object.assign(Object.assign({},Be),{onDidCreateNode:wt,onDidDeleteNode:Ut}))}has(k){return this.nodes.has(k)}getListIndex(k){const Ce=this.getCompressedNode(k);return this.model.getListIndex(Ce)}getListRenderCount(k){const Ce=this.getCompressedNode(k);return this.model.getListRenderCount(Ce)}getNode(k){if(typeof k=="undefined")return this.model.getNode();const Ce=this.getCompressedNode(k);return this.model.getNode(Ce)}getNodeLocation(k){const Ce=this.model.getNodeLocation(k);return Ce===null?null:Ce.elements[Ce.elements.length-1]}getParentNodeLocation(k){const Ce=this.getCompressedNode(k),Be=this.model.getParentNodeLocation(Ce);return Be===null?null:Be.elements[Be.elements.length-1]}isCollapsible(k){const Ce=this.getCompressedNode(k);return this.model.isCollapsible(Ce)}setCollapsible(k,Ce){const Be=this.getCompressedNode(k);return this.model.setCollapsible(Be,Ce)}isCollapsed(k){const Ce=this.getCompressedNode(k);return this.model.isCollapsed(Ce)}setCollapsed(k,Ce,Be){const ot=this.getCompressedNode(k);return this.model.setCollapsed(ot,Ce,Be)}expandTo(k){const Ce=this.getCompressedNode(k);this.model.expandTo(Ce)}rerender(k){const Ce=this.getCompressedNode(k);this.model.rerender(Ce)}refilter(){this.model.refilter()}getCompressedNode(k){if(k===null)return null;const Ce=this.nodes.get(k);if(!Ce)throw new b(this.user,`Tree element not found: ${k}`);return Ce}}const Xe=Ct=>Ct[Ct.length-1];class Ze{constructor(k,Ce){this.unwrapper=k,this.node=Ce}get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map(k=>new Ze(this.unwrapper,k))}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}}function Ae(Ct,k){return{splice(Ce,Be,ot){k.splice(Ce,Be,ot.map(wt=>Ct.map(wt)))},updateElementHeight(Ce,Be){k.updateElementHeight(Ce,Be)}}}function He(Ct,k){return Object.assign(Object.assign({},k),{identityProvider:k.identityProvider&&{getId(Ce){return k.identityProvider.getId(Ct(Ce))}},sorter:k.sorter&&{compare(Ce,Be){return k.sorter.compare(Ce.elements[0],Be.elements[0])}},filter:k.filter&&{filter(Ce,Be){return k.filter.filter(Ct(Ce),Be)}}})}class Et{constructor(k,Ce,Be={}){this.rootRef=null,this.elementMapper=Be.elementMapper||Xe;const ot=wt=>this.elementMapper(wt.elements);this.nodeMapper=new L(wt=>new Ze(ot,wt)),this.model=new ze(k,Ae(this.nodeMapper,Ce),He(ot,Be))}get onDidSplice(){return P.ju.map(this.model.onDidSplice,({insertedNodes:k,deletedNodes:Ce})=>({insertedNodes:k.map(Be=>this.nodeMapper.map(Be)),deletedNodes:Ce.map(Be=>this.nodeMapper.map(Be))}))}get onDidChangeCollapseState(){return P.ju.map(this.model.onDidChangeCollapseState,({node:k,deep:Ce})=>({node:this.nodeMapper.map(k),deep:Ce}))}get onDidChangeRenderNodeCount(){return P.ju.map(this.model.onDidChangeRenderNodeCount,k=>this.nodeMapper.map(k))}setChildren(k,Ce=M.$.empty(),Be={}){this.model.setChildren(k,Ce,Be)}setCompressionEnabled(k){this.model.setCompressionEnabled(k)}has(k){return this.model.has(k)}getListIndex(k){return this.model.getListIndex(k)}getListRenderCount(k){return this.model.getListRenderCount(k)}getNode(k){return this.nodeMapper.map(this.model.getNode(k))}getNodeLocation(k){return k.element}getParentNodeLocation(k){return this.model.getParentNodeLocation(k)}isCollapsible(k){return this.model.isCollapsible(k)}setCollapsible(k,Ce){return this.model.setCollapsible(k,Ce)}isCollapsed(k){return this.model.isCollapsed(k)}setCollapsed(k,Ce,Be){return this.model.setCollapsed(k,Ce,Be)}expandTo(k){return this.model.expandTo(k)}rerender(k){return this.model.rerender(k)}refilter(){return this.model.refilter()}getCompressedTreeNode(k=null){return this.model.getNode(k)}}var Wt=i(85402),oi=function(Ct,k,Ce,Be){var ot=arguments.length,wt=ot<3?k:Be===null?Be=Object.getOwnPropertyDescriptor(k,Ce):Be,Ut;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")wt=Reflect.decorate(Ct,k,Ce,Be);else for(var Yt=Ct.length-1;Yt>=0;Yt--)(Ut=Ct[Yt])&&(wt=(ot<3?Ut(wt):ot>3?Ut(k,Ce,wt):Ut(k,Ce))||wt);return ot>3&&wt&&Object.defineProperty(k,Ce,wt),wt};class ni extends he{constructor(k,Ce,Be,ot,wt={}){super(k,Ce,Be,ot,wt)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}setChildren(k,Ce=M.$.empty(),Be){this.model.setChildren(k,Ce,Be)}rerender(k){if(k===void 0){this.view.rerender();return}this.model.rerender(k)}hasElement(k){return this.model.has(k)}createModel(k,Ce,Be){return new Pe(k,Ce,Be)}}class hi{constructor(k,Ce){this._compressedTreeNodeProvider=k,this.renderer=Ce,this.templateId=Ce.templateId,Ce.onDidChangeTwistieState&&(this.onDidChangeTwistieState=Ce.onDidChangeTwistieState)}get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}renderTemplate(k){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(k)}}renderElement(k,Ce,Be,ot){const wt=this.compressedTreeNodeProvider.getCompressedTreeNode(k.element);wt.element.elements.length===1?(Be.compressedTreeNode=void 0,this.renderer.renderElement(k,Ce,Be.data,ot)):(Be.compressedTreeNode=wt,this.renderer.renderCompressedElements(wt,Ce,Be.data,ot))}disposeElement(k,Ce,Be,ot){Be.compressedTreeNode?this.renderer.disposeCompressedElements&&this.renderer.disposeCompressedElements(Be.compressedTreeNode,Ce,Be.data,ot):this.renderer.disposeElement&&this.renderer.disposeElement(k,Ce,Be.data,ot)}disposeTemplate(k){this.renderer.disposeTemplate(k.data)}renderTwistie(k,Ce){return this.renderer.renderTwistie?this.renderer.renderTwistie(k,Ce):!1}}oi([Wt.H],hi.prototype,"compressedTreeNodeProvider",null);function Di(Ct,k){return k&&Object.assign(Object.assign({},k),{keyboardNavigationLabelProvider:k.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel(Ce){let Be;try{Be=Ct().getCompressedTreeNode(Ce)}catch(ot){return k.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(Ce)}return Be.element.elements.length===1?k.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(Ce):k.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(Be.element.elements)}}})}class Ti extends ni{constructor(k,Ce,Be,ot,wt={}){const Ut=()=>this,Yt=ot.map(ei=>new hi(Ut,ei));super(k,Ce,Be,Yt,Di(Ut,wt))}setChildren(k,Ce=M.$.empty(),Be){this.model.setChildren(k,Ce,Be)}createModel(k,Ce,Be){return new Et(k,Ce,Be)}updateOptions(k={}){super.updateOptions(k),typeof k.compressionEnabled!="undefined"&&this.model.setCompressionEnabled(k.compressionEnabled)}getCompressedTreeNode(k=null){return this.model.getCompressedTreeNode(k)}}var Ni=i(79881),ai=function(Ct,k,Ce,Be){function ot(wt){return wt instanceof Ce?wt:new Ce(function(Ut){Ut(wt)})}return new(Ce||(Ce=Promise))(function(wt,Ut){function Yt(gi){try{ri(Be.next(gi))}catch(Mi){Ut(Mi)}}function ei(gi){try{ri(Be.throw(gi))}catch(Mi){Ut(Mi)}}function ri(gi){gi.done?wt(gi.value):ot(gi.value).then(Yt,ei)}ri((Be=Be.apply(Ct,k||[])).next())})};function Pt(Ct){return Object.assign(Object.assign({},Ct),{children:[],refreshPromise:void 0,stale:!0,slow:!1,collapsedByDefault:void 0})}function Gt(Ct,k){return k.parent?k.parent===Ct?!0:Gt(Ct,k.parent):!1}function st(Ct,k){return Ct===k||Gt(Ct,k)||Gt(k,Ct)}class gt{constructor(k){this.node=k}get element(){return this.node.element.element}get children(){return this.node.children.map(k=>new gt(k))}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}}class ht{constructor(k,Ce,Be){this.renderer=k,this.nodeMapper=Ce,this.onDidChangeTwistieState=Be,this.renderedNodes=new Map,this.templateId=k.templateId}renderTemplate(k){return{templateData:this.renderer.renderTemplate(k)}}renderElement(k,Ce,Be,ot){this.renderer.renderElement(this.nodeMapper.map(k),Ce,Be.templateData,ot)}renderTwistie(k,Ce){return k.slow?(Ce.classList.add(...xe.classNamesArray),!0):(Ce.classList.remove(...xe.classNamesArray),!1)}disposeElement(k,Ce,Be,ot){this.renderer.disposeElement&&this.renderer.disposeElement(this.nodeMapper.map(k),Ce,Be.templateData,ot)}disposeTemplate(k){this.renderer.disposeTemplate(k.templateData)}dispose(){this.renderedNodes.clear()}}function Qe(Ct){return{browserEvent:Ct.browserEvent,elements:Ct.elements.map(k=>k.element)}}function $e(Ct){return{browserEvent:Ct.browserEvent,element:Ct.element&&Ct.element.element,target:Ct.target}}class Ie extends v.kX{constructor(k){super(k.elements.map(Ce=>Ce.element)),this.data=k}}function Oe(Ct){return Ct instanceof v.kX?new Ie(Ct):Ct}class Ke{constructor(k){this.dnd=k}getDragURI(k){return this.dnd.getDragURI(k.element)}getDragLabel(k,Ce){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(k.map(Be=>Be.element),Ce)}onDragStart(k,Ce){this.dnd.onDragStart&&this.dnd.onDragStart(Oe(k),Ce)}onDragOver(k,Ce,Be,ot,wt=!0){return this.dnd.onDragOver(Oe(k),Ce&&Ce.element,Be,ot)}drop(k,Ce,Be,ot){this.dnd.drop(Oe(k),Ce&&Ce.element,Be,ot)}onDragEnd(k){this.dnd.onDragEnd&&this.dnd.onDragEnd(k)}}function ct(Ct){return Ct&&Object.assign(Object.assign({},Ct),{collapseByDefault:!0,identityProvider:Ct.identityProvider&&{getId(k){return Ct.identityProvider.getId(k.element)}},dnd:Ct.dnd&&new Ke(Ct.dnd),multipleSelectionController:Ct.multipleSelectionController&&{isSelectionSingleChangeEvent(k){return Ct.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({},k),{element:k.element}))},isSelectionRangeChangeEvent(k){return Ct.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({},k),{element:k.element}))}},accessibilityProvider:Ct.accessibilityProvider&&Object.assign(Object.assign({},Ct.accessibilityProvider),{getPosInSet:void 0,getSetSize:void 0,getRole:Ct.accessibilityProvider.getRole?k=>Ct.accessibilityProvider.getRole(k.element):()=>"treeitem",isChecked:Ct.accessibilityProvider.isChecked?k=>{var Ce;return!!(!((Ce=Ct.accessibilityProvider)===null||Ce===void 0)&&Ce.isChecked(k.element))}:void 0,getAriaLabel(k){return Ct.accessibilityProvider.getAriaLabel(k.element)},getWidgetAriaLabel(){return Ct.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:Ct.accessibilityProvider.getWidgetRole?()=>Ct.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:Ct.accessibilityProvider.getAriaLevel&&(k=>Ct.accessibilityProvider.getAriaLevel(k.element)),getActiveDescendantId:Ct.accessibilityProvider.getActiveDescendantId&&(k=>Ct.accessibilityProvider.getActiveDescendantId(k.element))}),filter:Ct.filter&&{filter(k,Ce){return Ct.filter.filter(k.element,Ce)}},keyboardNavigationLabelProvider:Ct.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},Ct.keyboardNavigationLabelProvider),{getKeyboardNavigationLabel(k){return Ct.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(k.element)}}),sorter:void 0,expandOnlyOnTwistieClick:typeof Ct.expandOnlyOnTwistieClick=="undefined"?void 0:typeof Ct.expandOnlyOnTwistieClick!="function"?Ct.expandOnlyOnTwistieClick:k=>Ct.expandOnlyOnTwistieClick(k.element),additionalScrollHeight:Ct.additionalScrollHeight})}function Nt(Ct,k){k(Ct),Ct.children.forEach(Ce=>Nt(Ce,k))}class $t{constructor(k,Ce,Be,ot,wt,Ut={}){this.user=k,this.dataSource=wt,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new P.Q5,this._onDidChangeNodeSlowState=new P.Q5,this.nodeMapper=new L(Yt=>new gt(Yt)),this.disposables=new D.SL,this.identityProvider=Ut.identityProvider,this.autoExpandSingleChildren=typeof Ut.autoExpandSingleChildren=="undefined"?!1:Ut.autoExpandSingleChildren,this.sorter=Ut.sorter,this.collapseByDefault=Ut.collapseByDefault,this.tree=this.createTree(k,Ce,Be,ot,Ut),this.root=Pt({element:void 0,parent:null,hasChildren:!0}),this.identityProvider&&(this.root=Object.assign(Object.assign({},this.root),{id:null})),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}get onDidChangeFocus(){return P.ju.map(this.tree.onDidChangeFocus,Qe)}get onDidChangeSelection(){return P.ju.map(this.tree.onDidChangeSelection,Qe)}get onMouseDblClick(){return P.ju.map(this.tree.onMouseDblClick,$e)}get onPointer(){return P.ju.map(this.tree.onPointer,$e)}get onDidFocus(){return this.tree.onDidFocus}get onDidDispose(){return this.tree.onDidDispose}createTree(k,Ce,Be,ot,wt){const Ut=new we(Be),Yt=ot.map(ri=>new ht(ri,this.nodeMapper,this._onDidChangeNodeSlowState.event)),ei=ct(wt)||{};return new ni(k,Ce,Ut,Yt,ei)}updateOptions(k={}){this.tree.updateOptions(k)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(k){this.tree.scrollTop=k}domFocus(){this.tree.domFocus()}layout(k,Ce){this.tree.layout(k,Ce)}style(k){this.tree.style(k)}getInput(){return this.root.element}setInput(k,Ce){return ai(this,void 0,void 0,function*(){this.refreshPromises.forEach(ot=>ot.cancel()),this.refreshPromises.clear(),this.root.element=k;const Be=Ce&&{viewState:Ce,focus:[],selection:[]};yield this._updateChildren(k,!0,!1,Be),Be&&(this.tree.setFocus(Be.focus),this.tree.setSelection(Be.selection)),Ce&&typeof Ce.scrollTop=="number"&&(this.scrollTop=Ce.scrollTop)})}_updateChildren(k=this.root.element,Ce=!0,Be=!1,ot,wt){return ai(this,void 0,void 0,function*(){if(typeof this.root.element=="undefined")throw new b(this.user,"Tree input not set");this.root.refreshPromise&&(yield this.root.refreshPromise,yield P.ju.toPromise(this._onDidRender.event));const Ut=this.getDataNode(k);if(yield this.refreshAndRenderNode(Ut,Ce,ot,wt),Be)try{this.tree.rerender(Ut)}catch(Yt){}})}rerender(k){if(k===void 0||k===this.root.element){this.tree.rerender();return}const Ce=this.getDataNode(k);this.tree.rerender(Ce)}collapse(k,Ce=!1){const Be=this.getDataNode(k);return this.tree.collapse(Be===this.root?null:Be,Ce)}expand(k,Ce=!1){return ai(this,void 0,void 0,function*(){if(typeof this.root.element=="undefined")throw new b(this.user,"Tree input not set");this.root.refreshPromise&&(yield this.root.refreshPromise,yield P.ju.toPromise(this._onDidRender.event));const Be=this.getDataNode(k);if(this.tree.hasElement(Be)&&!this.tree.isCollapsible(Be)||(Be.refreshPromise&&(yield this.root.refreshPromise,yield P.ju.toPromise(this._onDidRender.event)),Be!==this.root&&!Be.refreshPromise&&!this.tree.isCollapsed(Be)))return!1;const ot=this.tree.expand(Be===this.root?null:Be,Ce);return Be.refreshPromise&&(yield this.root.refreshPromise,yield P.ju.toPromise(this._onDidRender.event)),ot})}setSelection(k,Ce){const Be=k.map(ot=>this.getDataNode(ot));this.tree.setSelection(Be,Ce)}getSelection(){return this.tree.getSelection().map(Ce=>Ce.element)}setFocus(k,Ce){const Be=k.map(ot=>this.getDataNode(ot));this.tree.setFocus(Be,Ce)}getFocus(){return this.tree.getFocus().map(Ce=>Ce.element)}reveal(k,Ce){this.tree.reveal(this.getDataNode(k),Ce)}getDataNode(k){const Ce=this.nodes.get(k===this.root.element?null:k);if(!Ce)throw new b(this.user,`Data tree node not found: ${k}`);return Ce}refreshAndRenderNode(k,Ce,Be,ot){return ai(this,void 0,void 0,function*(){yield this.refreshNode(k,Ce,Be),this.render(k,Be,ot)})}refreshNode(k,Ce,Be){return ai(this,void 0,void 0,function*(){let ot;return this.subTreeRefreshPromises.forEach((wt,Ut)=>{!ot&&st(Ut,k)&&(ot=wt.then(()=>this.refreshNode(k,Ce,Be)))}),ot||this.doRefreshSubTree(k,Ce,Be)})}doRefreshSubTree(k,Ce,Be){return ai(this,void 0,void 0,function*(){let ot;k.refreshPromise=new Promise(wt=>ot=wt),this.subTreeRefreshPromises.set(k,k.refreshPromise),k.refreshPromise.finally(()=>{k.refreshPromise=void 0,this.subTreeRefreshPromises.delete(k)});try{const wt=yield this.doRefreshNode(k,Ce,Be);k.stale=!1,yield j.jT.settled(wt.map(Ut=>this.doRefreshSubTree(Ut,Ce,Be)))}finally{ot()}})}doRefreshNode(k,Ce,Be){return ai(this,void 0,void 0,function*(){k.hasChildren=!!this.dataSource.hasChildren(k.element);let ot;if(!k.hasChildren)ot=Promise.resolve(M.$.empty());else{const wt=(0,j.Vs)(800);wt.then(()=>{k.slow=!0,this._onDidChangeNodeSlowState.fire(k)},Ut=>null),ot=this.doGetChildren(k).finally(()=>wt.cancel())}try{const wt=yield ot;return this.setChildren(k,wt,Ce,Be)}catch(wt){if(k!==this.root&&this.tree.hasElement(k)&&this.tree.collapse(k),(0,Ni.VV)(wt))return[];throw wt}finally{k.slow&&(k.slow=!1,this._onDidChangeNodeSlowState.fire(k))}})}doGetChildren(k){let Ce=this.refreshPromises.get(k);return Ce||(Ce=(0,j.PG)(()=>ai(this,void 0,void 0,function*(){const Be=yield this.dataSource.getChildren(k.element);return this.processChildren(Be)})),this.refreshPromises.set(k,Ce),Ce.finally(()=>{this.refreshPromises.delete(k)}))}_onDidChangeCollapseState({node:k,deep:Ce}){k.element!==null&&!k.collapsed&&k.element.stale&&(Ce?this.collapse(k.element.element):this.refreshAndRenderNode(k.element,!1).catch(Ni.dL))}setChildren(k,Ce,Be,ot){const wt=[...Ce];if(k.children.length===0&&wt.length===0)return[];const Ut=new Map,Yt=new Map;for(const gi of k.children)if(Ut.set(gi.element,gi),this.identityProvider){const Mi=this.tree.isCollapsed(gi);Yt.set(gi.id,{node:gi,collapsed:Mi})}const ei=[],ri=wt.map(gi=>{const Mi=!!this.dataSource.hasChildren(gi);if(!this.identityProvider){const ki=Pt({element:gi,parent:k,hasChildren:Mi});return Mi&&this.collapseByDefault&&!this.collapseByDefault(gi)&&(ki.collapsedByDefault=!1,ei.push(ki)),ki}const Ei=this.identityProvider.getId(gi).toString(),xi=Yt.get(Ei);if(xi){const ki=xi.node;return Ut.delete(ki.element),this.nodes.delete(ki.element),this.nodes.set(gi,ki),ki.element=gi,ki.hasChildren=Mi,Be?xi.collapsed?(ki.children.forEach(Bi=>Nt(Bi,on=>this.nodes.delete(on.element))),ki.children.splice(0,ki.children.length),ki.stale=!0):ei.push(ki):Mi&&this.collapseByDefault&&!this.collapseByDefault(gi)&&(ki.collapsedByDefault=!1,ei.push(ki)),ki}const Pi=Pt({element:gi,parent:k,id:Ei,hasChildren:Mi});return ot&&ot.viewState.focus&&ot.viewState.focus.indexOf(Ei)>-1&&ot.focus.push(Pi),ot&&ot.viewState.selection&&ot.viewState.selection.indexOf(Ei)>-1&&ot.selection.push(Pi),ot&&ot.viewState.expanded&&ot.viewState.expanded.indexOf(Ei)>-1?ei.push(Pi):Mi&&this.collapseByDefault&&!this.collapseByDefault(gi)&&(Pi.collapsedByDefault=!1,ei.push(Pi)),Pi});for(const gi of Ut.values())Nt(gi,Mi=>this.nodes.delete(Mi.element));for(const gi of ri)this.nodes.set(gi.element,gi);return k.children.splice(0,k.children.length,...ri),k!==this.root&&this.autoExpandSingleChildren&&ri.length===1&&ei.length===0&&(ri[0].collapsedByDefault=!1,ei.push(ri[0])),ei}render(k,Ce,Be){const ot=k.children.map(Ut=>this.asTreeElement(Ut,Ce)),wt=Be&&Object.assign(Object.assign({},Be),{diffIdentityProvider:Be.diffIdentityProvider&&{getId(Ut){return Be.diffIdentityProvider.getId(Ut.element)}}});this.tree.setChildren(k===this.root?null:k,ot,wt),k!==this.root&&this.tree.setCollapsible(k,k.hasChildren),this._onDidRender.fire()}asTreeElement(k,Ce){if(k.stale)return{element:k,collapsible:k.hasChildren,collapsed:!0};let Be;return Ce&&Ce.viewState.expanded&&k.id&&Ce.viewState.expanded.indexOf(k.id)>-1?Be=!1:Be=k.collapsedByDefault,k.collapsedByDefault=void 0,{element:k,children:k.hasChildren?M.$.map(k.children,ot=>this.asTreeElement(ot,Ce)):[],collapsible:k.hasChildren,collapsed:Be}}processChildren(k){return this.sorter&&(k=[...k].sort(this.sorter.compare.bind(this.sorter))),k}dispose(){this.disposables.dispose()}}class Xt{constructor(k){this.node=k}get element(){return{elements:this.node.element.elements.map(k=>k.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(k=>new Xt(k))}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}}class Ci{constructor(k,Ce,Be,ot){this.renderer=k,this.nodeMapper=Ce,this.compressibleNodeMapperProvider=Be,this.onDidChangeTwistieState=ot,this.renderedNodes=new Map,this.disposables=[],this.templateId=k.templateId}renderTemplate(k){return{templateData:this.renderer.renderTemplate(k)}}renderElement(k,Ce,Be,ot){this.renderer.renderElement(this.nodeMapper.map(k),Ce,Be.templateData,ot)}renderCompressedElements(k,Ce,Be,ot){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(k),Ce,Be.templateData,ot)}renderTwistie(k,Ce){return k.slow?(Ce.classList.add(...xe.classNamesArray),!0):(Ce.classList.remove(...xe.classNamesArray),!1)}disposeElement(k,Ce,Be,ot){this.renderer.disposeElement&&this.renderer.disposeElement(this.nodeMapper.map(k),Ce,Be.templateData,ot)}disposeCompressedElements(k,Ce,Be,ot){this.renderer.disposeCompressedElements&&this.renderer.disposeCompressedElements(this.compressibleNodeMapperProvider().map(k),Ce,Be.templateData,ot)}disposeTemplate(k){this.renderer.disposeTemplate(k.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=(0,D.B9)(this.disposables)}}function Zt(Ct){const k=Ct&&ct(Ct);return k&&Object.assign(Object.assign({},k),{keyboardNavigationLabelProvider:k.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},k.keyboardNavigationLabelProvider),{getCompressedNodeKeyboardNavigationLabel(Ce){return Ct.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(Ce.map(Be=>Be.element))}})})}class mi extends $t{constructor(k,Ce,Be,ot,wt,Ut,Yt={}){super(k,Ce,Be,wt,Ut,Yt),this.compressionDelegate=ot,this.compressibleNodeMapper=new L(ei=>new Xt(ei)),this.filter=Yt.filter}createTree(k,Ce,Be,ot,wt){const Ut=new we(Be),Yt=ot.map(ri=>new Ci(ri,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),ei=Zt(wt)||{};return new Ti(k,Ce,Ut,Yt,ei)}asTreeElement(k,Ce){return Object.assign({incompressible:this.compressionDelegate.isIncompressible(k.element)},super.asTreeElement(k,Ce))}updateOptions(k={}){this.tree.updateOptions(k)}render(k,Ce){if(!this.identityProvider)return super.render(k,Ce);const Be=Ei=>this.identityProvider.getId(Ei).toString(),ot=Ei=>{const xi=new Set;for(const Pi of Ei){const ki=this.tree.getCompressedTreeNode(Pi===this.root?null:Pi);if(ki.element)for(const Bi of ki.element.elements)xi.add(Be(Bi.element))}return xi},wt=ot(this.tree.getSelection()),Ut=ot(this.tree.getFocus());super.render(k,Ce);const Yt=this.getSelection();let ei=!1;const ri=this.getFocus();let gi=!1;const Mi=Ei=>{const xi=Ei.element;if(xi)for(let Pi=0;Pi<xi.elements.length;Pi++){const ki=Be(xi.elements[Pi].element),Bi=xi.elements[xi.elements.length-1].element;wt.has(ki)&&Yt.indexOf(Bi)===-1&&(Yt.push(Bi),ei=!0),Ut.has(ki)&&ri.indexOf(Bi)===-1&&(ri.push(Bi),gi=!0)}Ei.children.forEach(Mi)};Mi(this.tree.getCompressedTreeNode(k===this.root?null:k)),ei&&this.setSelection(Yt),gi&&this.setFocus(ri)}processChildren(k){return this.filter&&(k=M.$.filter(k,Ce=>{const Be=this.filter.filter(Ce,1),ot=mt(Be);if(ot===2)throw new Error("Recursive tree visibility not supported in async data compressed trees");return ot===1})),super.processChildren(k)}}function mt(Ct){return typeof Ct=="boolean"?Ct?1:0:z(Ct)?oe(Ct.visibility):oe(Ct)}class ut extends he{constructor(k,Ce,Be,ot,wt,Ut={}){super(k,Ce,Be,ot,Ut),this.user=k,this.dataSource=wt,this.identityProvider=Ut.identityProvider}createModel(k,Ce,Be){return new Pe(k,Ce,Be)}}var qe=i(52950),de=i(21194),Se=i(20855),Y=i(90689),_e=i(75237),ke=i(16925),lt=i(5898),nt=i(44650),pt=i(32426),Dt=i(49055),Vt=function(Ct,k,Ce,Be){var ot=arguments.length,wt=ot<3?k:Be===null?Be=Object.getOwnPropertyDescriptor(k,Ce):Be,Ut;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")wt=Reflect.decorate(Ct,k,Ce,Be);else for(var Yt=Ct.length-1;Yt>=0;Yt--)(Ut=Ct[Yt])&&(wt=(ot<3?Ut(wt):ot>3?Ut(k,Ce,wt):Ut(k,Ce))||wt);return ot>3&&wt&&Object.defineProperty(k,Ce,wt),wt},Mt=function(Ct,k){return function(Ce,Be){k(Ce,Be,Ct)}};const Jt=(0,ke.yh)("listService");let jt=class{constructor(k){this._themeService=k,this.disposables=new D.SL,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}get lastFocusedList(){return this._lastFocusedWidget}register(k,Ce){if(!this._hasCreatedStyleController){this._hasCreatedStyleController=!0;const ot=new I.wD((0,h.dS)(),"");this.disposables.add((0,pt.Jl)(ot,this._themeService))}if(this.lists.some(ot=>ot.widget===k))throw new Error("Cannot register the same widget multiple times");const Be={widget:k,extraContextKeys:Ce};return this.lists.push(Be),k.getHTMLElement()===document.activeElement&&(this._lastFocusedWidget=k),(0,D.F8)(k.onDidFocus(()=>this._lastFocusedWidget=k),(0,D.OF)(()=>this.lists.splice(this.lists.indexOf(Be),1)),k.onDidDispose(()=>{this.lists=this.lists.filter(ot=>ot!==Be),this._lastFocusedWidget===k&&(this._lastFocusedWidget=void 0)}))}dispose(){this.disposables.dispose()}};jt=Vt([Mt(0,Dt.XE)],jt);const ui=new Y.uy("listFocus",!0),vi=new Y.uy("listSupportsMultiselect",!0),Si=Y.Ao.and(ui,Y.Ao.not(_e.d)),Oi=new Y.uy("listHasSelectionOrFocus",!1),Ri=new Y.uy("listDoubleSelection",!1),zi=new Y.uy("listMultiSelection",!1),hn=new Y.uy("listSelectionNavigation",!1),bn="listAutomaticKeyboardNavigation";function qi(Ct,k){const Ce=Ct.createScoped(k.getHTMLElement());return ui.bindTo(Ce),Ce}const Rn="workbench.list.multiSelectModifier",yn="workbench.list.openMode",nn="workbench.list.horizontalScrolling",kn="workbench.list.keyboardNavigation",Dn="workbench.list.automaticKeyboardNavigation",En="workbench.tree.indent",Jn="workbench.tree.renderIndentGuides",ln="workbench.list.smoothScrolling",$n="workbench.list.mouseWheelScrollSensitivity",Gn="workbench.list.fastScrollSensitivity",ss="workbench.tree.expandMode";function pn(Ct){return Ct.getValue(Rn)==="alt"}class Yn extends D.JT{constructor(k){super(),this.configurationService=k,this.useAltAsMultipleSelectionModifier=pn(k),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(k=>{k.affectsConfiguration(Rn)&&(this.useAltAsMultipleSelectionModifier=pn(this.configurationService))}))}isSelectionSingleChangeEvent(k){return this.useAltAsMultipleSelectionModifier?k.browserEvent.altKey:(0,I.Zo)(k)}isSelectionRangeChangeEvent(k){return(0,I.wn)(k)}}function Vn(Ct,k,Ce){var Be;const ot=new D.SL;return[Object.assign(Object.assign({},Ct),{keyboardNavigationDelegate:{mightProducePrintableCharacter(Ut){return Ce.mightProducePrintableCharacter(Ut)}},smoothScrolling:!!k.getValue(ln),mouseWheelScrollSensitivity:k.getValue($n),fastScrollSensitivity:k.getValue(Gn),multipleSelectionController:(Be=Ct.multipleSelectionController)!==null&&Be!==void 0?Be:ot.add(new Yn(k))}),ot]}let An=class extends I.aV{constructor(k,Ce,Be,ot,wt,Ut,Yt,ei,ri,gi){const Mi=typeof wt.horizontalScrolling!="undefined"?wt.horizontalScrolling:!!ri.getValue(nn),[Ei,xi]=Vn(wt,ri,gi);super(k,Ce,Be,ot,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},(0,pt.o)(ei.getColorTheme(),pt.O2)),Ei),{horizontalScrolling:Mi})),this.disposables.add(xi),this.contextKeyService=qi(Ut,this),this.themeService=ei,this.listSupportsMultiSelect=vi.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(wt.multipleSelectionSupport!==!1),hn.bindTo(this.contextKeyService).set(!!wt.selectionNavigation),this.listHasSelectionOrFocus=Oi.bindTo(this.contextKeyService),this.listDoubleSelection=Ri.bindTo(this.contextKeyService),this.listMultiSelection=zi.bindTo(this.contextKeyService),this.horizontalScrolling=wt.horizontalScrolling,this._useAltAsMultipleSelectionModifier=pn(ri),this.disposables.add(this.contextKeyService),this.disposables.add(Yt.register(this)),wt.overrideStyles&&this.updateStyles(wt.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const ki=this.getSelection(),Bi=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(ki.length>0||Bi.length>0),this.listMultiSelection.set(ki.length>1),this.listDoubleSelection.set(ki.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const ki=this.getSelection(),Bi=this.getFocus();this.listHasSelectionOrFocus.set(ki.length>0||Bi.length>0)})),this.disposables.add(ri.onDidChangeConfiguration(ki=>{ki.affectsConfiguration(Rn)&&(this._useAltAsMultipleSelectionModifier=pn(ri));let Bi={};if(ki.affectsConfiguration(nn)&&this.horizontalScrolling===void 0){const on=!!ri.getValue(nn);Bi=Object.assign(Object.assign({},Bi),{horizontalScrolling:on})}if(ki.affectsConfiguration(ln)){const on=!!ri.getValue(ln);Bi=Object.assign(Object.assign({},Bi),{smoothScrolling:on})}if(ki.affectsConfiguration($n)){const on=ri.getValue($n);Bi=Object.assign(Object.assign({},Bi),{mouseWheelScrollSensitivity:on})}if(ki.affectsConfiguration(Gn)){const on=ri.getValue(Gn);Bi=Object.assign(Object.assign({},Bi),{fastScrollSensitivity:on})}Object.keys(Bi).length>0&&this.updateOptions(Bi)})),this.navigator=new sn(this,Object.assign({configurationService:ri},wt)),this.disposables.add(this.navigator)}updateOptions(k){super.updateOptions(k),k.overrideStyles&&this.updateStyles(k.overrideStyles),k.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!k.multipleSelectionSupport)}updateStyles(k){var Ce;(Ce=this._styler)===null||Ce===void 0||Ce.dispose(),this._styler=(0,pt.Jl)(this,this.themeService,k)}dispose(){var k;(k=this._styler)===null||k===void 0||k.dispose(),super.dispose()}};An=Vt([Mt(5,Y.i6),Mt(6,Jt),Mt(7,Dt.XE),Mt(8,de.Ui),Mt(9,lt.d)],An);let On=class extends a{constructor(k,Ce,Be,ot,wt,Ut,Yt,ei,ri,gi){const Mi=typeof wt.horizontalScrolling!="undefined"?wt.horizontalScrolling:!!ri.getValue(nn),[Ei,xi]=Vn(wt,ri,gi);super(k,Ce,Be,ot,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},(0,pt.o)(ei.getColorTheme(),pt.O2)),Ei),{horizontalScrolling:Mi})),this.disposables=new D.SL,this.disposables.add(xi),this.contextKeyService=qi(Ut,this),this.themeService=ei,this.horizontalScrolling=wt.horizontalScrolling,this.listSupportsMultiSelect=vi.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(wt.multipleSelectionSupport!==!1),hn.bindTo(this.contextKeyService).set(!!wt.selectionNavigation),this._useAltAsMultipleSelectionModifier=pn(ri),this.disposables.add(this.contextKeyService),this.disposables.add(Yt.register(this)),wt.overrideStyles&&this.updateStyles(wt.overrideStyles),wt.overrideStyles&&this.disposables.add((0,pt.Jl)(this,ei,wt.overrideStyles)),this.disposables.add(ri.onDidChangeConfiguration(ki=>{ki.affectsConfiguration(Rn)&&(this._useAltAsMultipleSelectionModifier=pn(ri));let Bi={};if(ki.affectsConfiguration(nn)&&this.horizontalScrolling===void 0){const on=!!ri.getValue(nn);Bi=Object.assign(Object.assign({},Bi),{horizontalScrolling:on})}if(ki.affectsConfiguration(ln)){const on=!!ri.getValue(ln);Bi=Object.assign(Object.assign({},Bi),{smoothScrolling:on})}if(ki.affectsConfiguration($n)){const on=ri.getValue($n);Bi=Object.assign(Object.assign({},Bi),{mouseWheelScrollSensitivity:on})}if(ki.affectsConfiguration(Gn)){const on=ri.getValue(Gn);Bi=Object.assign(Object.assign({},Bi),{fastScrollSensitivity:on})}Object.keys(Bi).length>0&&this.updateOptions(Bi)})),this.navigator=new sn(this,Object.assign({configurationService:ri},wt)),this.disposables.add(this.navigator)}updateOptions(k){super.updateOptions(k),k.overrideStyles&&this.updateStyles(k.overrideStyles),k.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!k.multipleSelectionSupport)}updateStyles(k){var Ce;(Ce=this._styler)===null||Ce===void 0||Ce.dispose(),this._styler=(0,pt.Jl)(this,this.themeService,k)}dispose(){var k;(k=this._styler)===null||k===void 0||k.dispose(),this.disposables.dispose(),super.dispose()}};On=Vt([Mt(5,Y.i6),Mt(6,Jt),Mt(7,Dt.XE),Mt(8,de.Ui),Mt(9,lt.d)],On);let ts=class extends f{constructor(k,Ce,Be,ot,wt,Ut,Yt,ei,ri,gi,Mi){const Ei=typeof Ut.horizontalScrolling!="undefined"?Ut.horizontalScrolling:!!gi.getValue(nn),[xi,Pi]=Vn(Ut,gi,Mi);super(k,Ce,Be,ot,wt,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},(0,pt.o)(ri.getColorTheme(),pt.O2)),xi),{horizontalScrolling:Ei})),this.disposables=new D.SL,this.disposables.add(Pi),this.contextKeyService=qi(Yt,this),this.themeService=ri,this.listSupportsMultiSelect=vi.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Ut.multipleSelectionSupport!==!1),hn.bindTo(this.contextKeyService).set(!!Ut.selectionNavigation),this.listHasSelectionOrFocus=Oi.bindTo(this.contextKeyService),this.listDoubleSelection=Ri.bindTo(this.contextKeyService),this.listMultiSelection=zi.bindTo(this.contextKeyService),this.horizontalScrolling=Ut.horizontalScrolling,this._useAltAsMultipleSelectionModifier=pn(gi),this.disposables.add(this.contextKeyService),this.disposables.add(ei.register(this)),Ut.overrideStyles&&this.updateStyles(Ut.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const Bi=this.getSelection(),on=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(Bi.length>0||on.length>0),this.listMultiSelection.set(Bi.length>1),this.listDoubleSelection.set(Bi.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const Bi=this.getSelection(),on=this.getFocus();this.listHasSelectionOrFocus.set(Bi.length>0||on.length>0)})),this.disposables.add(gi.onDidChangeConfiguration(Bi=>{Bi.affectsConfiguration(Rn)&&(this._useAltAsMultipleSelectionModifier=pn(gi));let on={};if(Bi.affectsConfiguration(nn)&&this.horizontalScrolling===void 0){const zn=!!gi.getValue(nn);on=Object.assign(Object.assign({},on),{horizontalScrolling:zn})}if(Bi.affectsConfiguration(ln)){const zn=!!gi.getValue(ln);on=Object.assign(Object.assign({},on),{smoothScrolling:zn})}if(Bi.affectsConfiguration($n)){const zn=gi.getValue($n);on=Object.assign(Object.assign({},on),{mouseWheelScrollSensitivity:zn})}if(Bi.affectsConfiguration(Gn)){const zn=gi.getValue(Gn);on=Object.assign(Object.assign({},on),{fastScrollSensitivity:zn})}Object.keys(on).length>0&&this.updateOptions(on)})),this.navigator=new Lt(this,Object.assign({configurationService:gi},Ut)),this.disposables.add(this.navigator)}updateOptions(k){super.updateOptions(k),k.overrideStyles&&this.updateStyles(k.overrideStyles),k.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!k.multipleSelectionSupport)}updateStyles(k){var Ce;(Ce=this._styler)===null||Ce===void 0||Ce.dispose(),this._styler=(0,pt.Jl)(this,this.themeService,k)}dispose(){var k;(k=this._styler)===null||k===void 0||k.dispose(),this.disposables.dispose(),super.dispose()}};ts=Vt([Mt(6,Y.i6),Mt(7,Jt),Mt(8,Dt.XE),Mt(9,de.Ui),Mt(10,lt.d)],ts);class Un extends D.JT{constructor(k,Ce){var Be;super(),this.widget=k,this._onDidOpen=this._register(new P.Q5),this.onDidOpen=this._onDidOpen.event,this._register(P.ju.filter(this.widget.onDidChangeSelection,ot=>ot.browserEvent instanceof KeyboardEvent)(ot=>this.onSelectionFromKeyboard(ot))),this._register(this.widget.onPointer(ot=>this.onPointer(ot.element,ot.browserEvent))),this._register(this.widget.onMouseDblClick(ot=>this.onMouseDblClick(ot.element,ot.browserEvent))),typeof(Ce==null?void 0:Ce.openOnSingleClick)!="boolean"&&(Ce!=null&&Ce.configurationService)?(this.openOnSingleClick=(Ce==null?void 0:Ce.configurationService.getValue(yn))!=="doubleClick",this._register(Ce==null?void 0:Ce.configurationService.onDidChangeConfiguration(()=>{this.openOnSingleClick=(Ce==null?void 0:Ce.configurationService.getValue(yn))!=="doubleClick"}))):this.openOnSingleClick=(Be=Ce==null?void 0:Ce.openOnSingleClick)!==null&&Be!==void 0?Be:!0}onSelectionFromKeyboard(k){if(k.elements.length!==1)return;const Ce=k.browserEvent,Be=typeof Ce.preserveFocus=="boolean"?Ce.preserveFocus:!0,ot=typeof Ce.pinned=="boolean"?Ce.pinned:!Be;this._open(this.getSelectedElement(),Be,ot,!1,k.browserEvent)}onPointer(k,Ce){if(!this.openOnSingleClick||Ce.detail===2)return;const ot=Ce.button===1,wt=!0,Ut=ot,Yt=Ce.ctrlKey||Ce.metaKey||Ce.altKey;this._open(k,wt,Ut,Yt,Ce)}onMouseDblClick(k,Ce){if(!Ce)return;const Be=Ce.target;if(Be.classList.contains("monaco-tl-twistie")||Be.classList.contains("monaco-icon-label")&&Be.classList.contains("folder-icon")&&Ce.offsetX<16)return;const wt=!1,Ut=!0,Yt=Ce.ctrlKey||Ce.metaKey||Ce.altKey;this._open(k,wt,Ut,Yt,Ce)}_open(k,Ce,Be,ot,wt){k&&this._onDidOpen.fire({editorOptions:{preserveFocus:Ce,pinned:Be,revealIfVisible:!0},sideBySide:ot,element:k,browserEvent:wt})}}class sn extends Un{constructor(k,Ce){super(k,Ce),this.widget=k}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class Lt extends Un{constructor(k,Ce){super(k,Ce)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class F extends Un{constructor(k,Ce){super(k,Ce)}getSelectedElement(){var k;return(k=this.widget.getSelection()[0])!==null&&k!==void 0?k:void 0}}function pe(Ct,k){let Ce=!1;return Be=>{if(Ce)return Ce=!1,!1;const ot=k.softDispatch(Be,Ct);return ot&&ot.enterChord?(Ce=!0,!1):(Ce=!1,!0)}}let Ne=class extends ni{constructor(k,Ce,Be,ot,wt,Ut,Yt,ei,ri,gi,Mi){const{options:Ei,getAutomaticKeyboardNavigation:xi,disposable:Pi}=ti(Ce,wt,Ut,ri,gi,Mi);super(k,Ce,Be,ot,Ei),this.disposables.add(Pi),this.internals=new fi(this,wt,xi,wt.overrideStyles,Ut,Yt,ei,ri,Mi),this.disposables.add(this.internals)}updateOptions(k){super.updateOptions(k),this.internals.updateOptions(k)}};Ne=Vt([Mt(5,Y.i6),Mt(6,Jt),Mt(7,Dt.XE),Mt(8,de.Ui),Mt(9,lt.d),Mt(10,qe.F)],Ne);let je=class extends Ti{constructor(k,Ce,Be,ot,wt,Ut,Yt,ei,ri,gi,Mi){const{options:Ei,getAutomaticKeyboardNavigation:xi,disposable:Pi}=ti(Ce,wt,Ut,ri,gi,Mi);super(k,Ce,Be,ot,Ei),this.disposables.add(Pi),this.internals=new fi(this,wt,xi,wt.overrideStyles,Ut,Yt,ei,ri,Mi),this.disposables.add(this.internals)}updateOptions(k={}){super.updateOptions(k),k.overrideStyles&&this.internals.updateStyleOverrides(k.overrideStyles),this.internals.updateOptions(k)}};je=Vt([Mt(5,Y.i6),Mt(6,Jt),Mt(7,Dt.XE),Mt(8,de.Ui),Mt(9,lt.d),Mt(10,qe.F)],je);let Je=class extends ut{constructor(k,Ce,Be,ot,wt,Ut,Yt,ei,ri,gi,Mi,Ei){const{options:xi,getAutomaticKeyboardNavigation:Pi,disposable:ki}=ti(Ce,Ut,Yt,gi,Mi,Ei);super(k,Ce,Be,ot,wt,xi),this.disposables.add(ki),this.internals=new fi(this,Ut,Pi,Ut.overrideStyles,Yt,ei,ri,gi,Ei),this.disposables.add(this.internals)}updateOptions(k={}){super.updateOptions(k),k.overrideStyles&&this.internals.updateStyleOverrides(k.overrideStyles),this.internals.updateOptions(k)}};Je=Vt([Mt(6,Y.i6),Mt(7,Jt),Mt(8,Dt.XE),Mt(9,de.Ui),Mt(10,lt.d),Mt(11,qe.F)],Je);let St=class extends $t{constructor(k,Ce,Be,ot,wt,Ut,Yt,ei,ri,gi,Mi,Ei){const{options:xi,getAutomaticKeyboardNavigation:Pi,disposable:ki}=ti(Ce,Ut,Yt,gi,Mi,Ei);super(k,Ce,Be,ot,wt,xi),this.disposables.add(ki),this.internals=new fi(this,Ut,Pi,Ut.overrideStyles,Yt,ei,ri,gi,Ei),this.disposables.add(this.internals)}get onDidOpen(){return this.internals.onDidOpen}updateOptions(k={}){super.updateOptions(k),k.overrideStyles&&this.internals.updateStyleOverrides(k.overrideStyles),this.internals.updateOptions(k)}};St=Vt([Mt(6,Y.i6),Mt(7,Jt),Mt(8,Dt.XE),Mt(9,de.Ui),Mt(10,lt.d),Mt(11,qe.F)],St);let Rt=class extends mi{constructor(k,Ce,Be,ot,wt,Ut,Yt,ei,ri,gi,Mi,Ei,xi){const{options:Pi,getAutomaticKeyboardNavigation:ki,disposable:Bi}=ti(Ce,Yt,ei,Mi,Ei,xi);super(k,Ce,Be,ot,wt,Ut,Pi),this.disposables.add(Bi),this.internals=new fi(this,Yt,ki,Yt.overrideStyles,ei,ri,gi,Mi,xi),this.disposables.add(this.internals)}updateOptions(k){super.updateOptions(k),this.internals.updateOptions(k)}};Rt=Vt([Mt(7,Y.i6),Mt(8,Jt),Mt(9,Dt.XE),Mt(10,de.Ui),Mt(11,lt.d),Mt(12,qe.F)],Rt);function ti(Ct,k,Ce,Be,ot,wt){var Ut;const Yt=()=>{let Pi=!!Ce.getContextKeyValue(bn);return Pi&&(Pi=!!Be.getValue(Dn)),Pi},ei=wt.isScreenReaderOptimized(),ri=k.simpleKeyboardNavigation||ei?"simple":Be.getValue(kn),gi=k.horizontalScrolling!==void 0?k.horizontalScrolling:!!Be.getValue(nn),[Mi,Ei]=Vn(k,Be,ot),xi=k.additionalScrollHeight;return{getAutomaticKeyboardNavigation:Yt,disposable:Ei,options:Object.assign(Object.assign({keyboardSupport:!1},Mi),{indent:typeof Be.getValue(En)=="number"?Be.getValue(En):void 0,renderIndentGuides:Be.getValue(Jn),smoothScrolling:!!Be.getValue(ln),automaticKeyboardNavigation:Yt(),simpleKeyboardNavigation:ri==="simple",filterOnType:ri==="filter",horizontalScrolling:gi,keyboardNavigationEventFilter:pe(Ct,ot),additionalScrollHeight:xi,hideTwistiesOfChildlessElements:k.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:(Ut=k.expandOnlyOnTwistieClick)!==null&&Ut!==void 0?Ut:Be.getValue(ss)==="doubleClick"})}}let fi=class{constructor(k,Ce,Be,ot,wt,Ut,Yt,ei,ri){this.tree=k,this.themeService=Yt,this.disposables=[],this.contextKeyService=qi(wt,k),this.listSupportsMultiSelect=vi.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Ce.multipleSelectionSupport!==!1),hn.bindTo(this.contextKeyService).set(!!Ce.selectionNavigation),this.hasSelectionOrFocus=Oi.bindTo(this.contextKeyService),this.hasDoubleSelection=Ri.bindTo(this.contextKeyService),this.hasMultiSelection=zi.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=pn(ei);const Mi=new Set;Mi.add(bn);const Ei=()=>{const Pi=ri.isScreenReaderOptimized()?"simple":ei.getValue(kn);k.updateOptions({simpleKeyboardNavigation:Pi==="simple",filterOnType:Pi==="filter"})};this.updateStyleOverrides(ot),this.disposables.push(this.contextKeyService,Ut.register(k),k.onDidChangeSelection(()=>{const xi=k.getSelection(),Pi=k.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(xi.length>0||Pi.length>0),this.hasMultiSelection.set(xi.length>1),this.hasDoubleSelection.set(xi.length===2)})}),k.onDidChangeFocus(()=>{const xi=k.getSelection(),Pi=k.getFocus();this.hasSelectionOrFocus.set(xi.length>0||Pi.length>0)}),ei.onDidChangeConfiguration(xi=>{let Pi={};if(xi.affectsConfiguration(Rn)&&(this._useAltAsMultipleSelectionModifier=pn(ei)),xi.affectsConfiguration(En)){const ki=ei.getValue(En);Pi=Object.assign(Object.assign({},Pi),{indent:ki})}if(xi.affectsConfiguration(Jn)){const ki=ei.getValue(Jn);Pi=Object.assign(Object.assign({},Pi),{renderIndentGuides:ki})}if(xi.affectsConfiguration(ln)){const ki=!!ei.getValue(ln);Pi=Object.assign(Object.assign({},Pi),{smoothScrolling:ki})}if(xi.affectsConfiguration(kn)&&Ei(),xi.affectsConfiguration(Dn)&&(Pi=Object.assign(Object.assign({},Pi),{automaticKeyboardNavigation:Be()})),xi.affectsConfiguration(nn)&&Ce.horizontalScrolling===void 0){const ki=!!ei.getValue(nn);Pi=Object.assign(Object.assign({},Pi),{horizontalScrolling:ki})}if(xi.affectsConfiguration(ss)&&Ce.expandOnlyOnTwistieClick===void 0&&(Pi=Object.assign(Object.assign({},Pi),{expandOnlyOnTwistieClick:ei.getValue(ss)==="doubleClick"})),xi.affectsConfiguration($n)){const ki=ei.getValue($n);Pi=Object.assign(Object.assign({},Pi),{mouseWheelScrollSensitivity:ki})}if(xi.affectsConfiguration(Gn)){const ki=ei.getValue(Gn);Pi=Object.assign(Object.assign({},Pi),{fastScrollSensitivity:ki})}Object.keys(Pi).length>0&&k.updateOptions(Pi)}),this.contextKeyService.onDidChangeContext(xi=>{xi.affectsSome(Mi)&&k.updateOptions({automaticKeyboardNavigation:Be()})}),ri.onDidChangeScreenReaderOptimized(()=>Ei())),this.navigator=new F(k,Object.assign({configurationService:ei},Ce)),this.disposables.push(this.navigator)}get onDidOpen(){return this.navigator.onDidOpen}updateOptions(k){k.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!k.multipleSelectionSupport)}updateStyleOverrides(k){(0,D.B9)(this.styler),this.styler=k?(0,pt.Jl)(this.tree,this.themeService,k):D.JT.None}dispose(){this.disposables=(0,D.B9)(this.disposables),(0,D.B9)(this.styler),this.styler=void 0}};fi=Vt([Mt(4,Y.i6),Mt(5,Jt),Mt(6,Dt.XE),Mt(7,de.Ui),Mt(8,qe.F)],fi),nt.B.as(Se.IP.Configuration).registerConfiguration({id:"workbench",order:7,title:(0,te.N)("workbenchConfigurationTitle","Workbench"),type:"object",properties:{[Rn]:{type:"string",enum:["ctrlCmd","alt"],enumDescriptions:[(0,te.N)("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),(0,te.N)("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:(0,te.N)({key:"multiSelectModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"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.")},[yn]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:(0,te.N)({key:"openModeModifier",comment:["`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized."]},"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.")},[nn]:{type:"boolean",default:!1,description:(0,te.N)("horizontalScrolling setting","Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[En]:{type:"number",default:8,minimum:0,maximum:40,description:(0,te.N)("tree indent setting","Controls tree indentation in pixels.")},[Jn]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:(0,te.N)("render tree indent guides","Controls whether the tree should render indent guides.")},[ln]:{type:"boolean",default:!1,description:(0,te.N)("list smoothScrolling setting","Controls whether lists and trees have smooth scrolling.")},[$n]:{type:"number",default:1,description:(0,te.N)("Mouse Wheel Scroll Sensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[Gn]:{type:"number",default:5,description:(0,te.N)("Fast Scroll Sensitivity","Scrolling speed multiplier when pressing `Alt`.")},[kn]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[(0,te.N)("keyboardNavigationSettingKey.simple","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),(0,te.N)("keyboardNavigationSettingKey.highlight","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),(0,te.N)("keyboardNavigationSettingKey.filter","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:(0,te.N)("keyboardNavigationSettingKey","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.")},[Dn]:{type:"boolean",default:!0,markdownDescription:(0,te.N)("automatic keyboard navigation setting","Controls whether keyboard navigation in lists and trees is automatically triggered simply by typing. If set to `false`, keyboard navigation is only triggered when executing the `list.toggleKeyboardNavigation` command, for which you can assign a keyboard shortcut.")},[ss]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:(0,te.N)("expand mode","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.")}}})},44182:function(xt,Te,i){"use strict";i.d(Te,{$V:function(){return E},VZ:function(){return P},in:function(){return D},kw:function(){return y}});var h=i(4348),H=i(69323),O=i(16925);const P=(0,O.yh)("logService");var D;(function(p){p[p.Trace=0]="Trace",p[p.Debug=1]="Debug",p[p.Info=2]="Info",p[p.Warning=3]="Warning",p[p.Error=4]="Error",p[p.Critical=5]="Critical",p[p.Off=6]="Off"})(D||(D={}));const G=D.Info;class I extends H.JT{constructor(){super(...arguments),this.level=G,this._onDidChangeLogLevel=this._register(new h.Q5)}setLevel(a){this.level!==a&&(this.level=a,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}}class y extends I{constructor(a=G){super(),this.setLevel(a)}trace(a,...g){this.getLevel()<=D.Trace&&console.log("%cTRACE","color: #888",a,...g)}debug(a,...g){this.getLevel()<=D.Debug&&console.log("%cDEBUG","background: #eee; color: #888",a,...g)}info(a,...g){this.getLevel()<=D.Info&&console.log("%c INFO","color: #33f",a,...g)}error(a,...g){this.getLevel()<=D.Error&&console.log("%c ERR","color: #f33",a,...g)}dispose(){}}class E extends H.JT{constructor(a){super(),this.logger=a,this._register(a)}getLevel(){return this.logger.getLevel()}trace(a,...g){this.logger.trace(a,...g)}debug(a,...g){this.logger.debug(a,...g)}info(a,...g){this.logger.info(a,...g)}error(a,...g){this.logger.error(a,...g)}}},12145:function(xt,Te,i){"use strict";i.d(Te,{H0:function(){return D},ZL:function(){return P},lT:function(){return G}});var h=i(37254),H=i(13268),O=i(16925),P;(function(I){I[I.Hint=1]="Hint",I[I.Info=2]="Info",I[I.Warning=4]="Warning",I[I.Error=8]="Error"})(P||(P={})),function(I){function y(w,s){return s-w}I.compare=y;const E=Object.create(null);E[I.Error]=(0,H.N)("sev.error","Error"),E[I.Warning]=(0,H.N)("sev.warning","Warning"),E[I.Info]=(0,H.N)("sev.info","Info");function p(w){return E[w]||""}I.toString=p;function a(w){switch(w){case h.Z.Error:return I.Error;case h.Z.Warning:return I.Warning;case h.Z.Info:return I.Info;case h.Z.Ignore:return I.Hint}}I.fromSeverity=a;function g(w){switch(w){case I.Error:return h.Z.Error;case I.Warning:return h.Z.Warning;case I.Info:return h.Z.Info;case I.Hint:return h.Z.Ignore}}I.toSeverity=g}(P||(P={}));var D;(function(I){const y="";function E(a){return p(a,!0)}I.makeKey=E;function p(a,g){let w=[y];return a.source?w.push(a.source.replace("\xA6","\\\xA6")):w.push(y),a.code?typeof a.code=="string"?w.push(a.code.replace("\xA6","\\\xA6")):w.push(a.code.value.replace("\xA6","\\\xA6")):w.push(y),a.severity!==void 0&&a.severity!==null?w.push(P.toString(a.severity)):w.push(y),a.message&&g?w.push(a.message.replace("\xA6","\\\xA6")):w.push(y),a.startLineNumber!==void 0&&a.startLineNumber!==null?w.push(a.startLineNumber.toString()):w.push(y),a.startColumn!==void 0&&a.startColumn!==null?w.push(a.startColumn.toString()):w.push(y),a.endLineNumber!==void 0&&a.endLineNumber!==null?w.push(a.endLineNumber.toString()):w.push(y),a.endColumn!==void 0&&a.endColumn!==null?w.push(a.endColumn.toString()):w.push(y),w.push(y),w.join("\xA6")}I.makeKeyOptionalMessage=p})(D||(D={}));const G=(0,O.yh)("markerService")},79504:function(xt,Te,i){"use strict";i.d(Te,{EO:function(){return D},lT:function(){return P}});var h=i(37254),H=i(16925),O=null;const P=(0,H.yh)("notificationService");class D{}},271:function(xt,Te,i){"use strict";i.d(Te,{SW:function(){return I},v4:function(){return G},xn:function(){return y}});var h=i(69323),H=i(82983),O=i(4968),P=i(16925),D=function(E,p,a,g){function w(s){return s instanceof a?s:new a(function(C){C(s)})}return new(a||(a=Promise))(function(s,C){function f(l){try{r(g.next(l))}catch(m){C(m)}}function v(l){try{r(g.throw(l))}catch(m){C(m)}}function r(l){l.done?s(l.value):w(l.value).then(f,v)}r((g=g.apply(E,p||[])).next())})};const G=(0,P.yh)("openerService"),I=Object.freeze({_serviceBrand:void 0,registerOpener(){return h.JT.None},registerValidator(){return h.JT.None},registerExternalUriResolver(){return h.JT.None},setDefaultExternalOpener(){},registerExternalOpener(){return h.JT.None},open(){return D(this,void 0,void 0,function*(){return!1})},resolveExternalUri(E){return D(this,void 0,void 0,function*(){return{resolved:E,dispose(){}}})}});function y(E,p){return O.o.isUri(E)?(0,H.qq)(E.scheme,p):(0,H.ok)(E,p+":")}},81641:function(xt,Te,i){"use strict";i.d(Te,{E:function(){return H},e:function(){return O}});var h=i(16925);class H{constructor(D){this.callback=D}report(D){this._value=D,this.callback(this._value)}}H.None=Object.freeze({report(){}});const O=(0,h.yh)("editorProgressService")},82825:function(xt,Te,i){"use strict";i.d(Te,{IP:function(){return D},Ry:function(){return P}});var h=i(43506),H=i(69323),O=i(44650),P;(function(I){I[I.PRESERVE=0]="PRESERVE",I[I.LAST=1]="LAST"})(P||(P={}));const D={Quickaccess:"workbench.contributions.quickaccess"};class G{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(y){return y.prefix.length===0?this.defaultProvider=y:this.providers.push(y),this.providers.sort((E,p)=>p.prefix.length-E.prefix.length),(0,H.OF)(()=>{this.providers.splice(this.providers.indexOf(y),1),this.defaultProvider===y&&(this.defaultProvider=void 0)})}getQuickAccessProviders(){return(0,h.kX)([this.defaultProvider,...this.providers])}getQuickAccessProvider(y){return y&&this.providers.find(p=>y.startsWith(p.prefix))||void 0||this.defaultProvider}}O.B.add(D.Quickaccess,new G)},96148:function(xt,Te,i){"use strict";i.d(Te,{eJ:function(){return O},jG:function(){return H.jG}});var h=i(16925),H=i(29711);const O=(0,h.yh)("quickInputService")},19490:function(xt,Te,i){"use strict";i.d(Te,{Uy:function(){return a},vm:function(){return s},fk:function(){return g}});var h=i(4348),H=i(69323),O=i(72999),P=i(50431),D=function(C,f,v,r){function l(m){return m instanceof v?m:new v(function(c){c(m)})}return new(v||(v=Promise))(function(m,c){function b(M){try{T(r.next(M))}catch(z){c(z)}}function L(M){try{T(r.throw(M))}catch(z){c(z)}}function T(M){M.done?m(M.value):l(M.value).then(b,L)}T((r=r.apply(C,f||[])).next())})},G;(function(C){C[C.None=0]="None",C[C.Initialized=1]="Initialized",C[C.Closed=2]="Closed"})(G||(G={}));class I extends H.JT{constructor(f,v=Object.create(null)){super(),this.database=f,this.options=v,this._onDidChangeStorage=this._register(new h.Q5),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=G.None,this.cache=new Map,this.flushDelayer=new P.rH(I.DEFAULT_FLUSH_DELAY),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal(f=>this.onDidChangeItemsExternal(f)))}onDidChangeItemsExternal(f){var v,r;(v=f.changed)===null||v===void 0||v.forEach((l,m)=>this.accept(m,l)),(r=f.deleted)===null||r===void 0||r.forEach(l=>this.accept(l,void 0))}accept(f,v){if(this.state===G.Closed)return;let r=!1;(0,O.Jp)(v)?r=this.cache.delete(f):this.cache.get(f)!==v&&(this.cache.set(f,v),r=!0),r&&this._onDidChangeStorage.fire(f)}get(f,v){const r=this.cache.get(f);return(0,O.Jp)(r)?v:r}getBoolean(f,v){const r=this.get(f);return(0,O.Jp)(r)?v:r==="true"}getNumber(f,v){const r=this.get(f);return(0,O.Jp)(r)?v:parseInt(r,10)}set(f,v){return D(this,void 0,void 0,function*(){if(this.state===G.Closed)return;if((0,O.Jp)(v))return this.delete(f);const r=String(v);if(this.cache.get(f)!==r)return this.cache.set(f,r),this.pendingInserts.set(f,r),this.pendingDeletes.delete(f),this._onDidChangeStorage.fire(f),this.flushDelayer.trigger(()=>this.flushPending())})}delete(f){return D(this,void 0,void 0,function*(){if(!(this.state===G.Closed||!this.cache.delete(f)))return this.pendingDeletes.has(f)||this.pendingDeletes.add(f),this.pendingInserts.delete(f),this._onDidChangeStorage.fire(f),this.flushDelayer.trigger(()=>this.flushPending())})}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}flushPending(){return D(this,void 0,void 0,function*(){if(!this.hasPending)return;const f={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(f).finally(()=>{var v;if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)(v=this.whenFlushedCallbacks.pop())===null||v===void 0||v()})})}dispose(){this.flushDelayer.dispose(),super.dispose()}}I.DEFAULT_FLUSH_DELAY=100;class y{constructor(){this.onDidChangeItemsExternal=h.ju.None,this.items=new Map}updateItems(f){return D(this,void 0,void 0,function*(){f.insert&&f.insert.forEach((v,r)=>this.items.set(r,v)),f.delete&&f.delete.forEach(v=>this.items.delete(v))})}}var E=i(16925);const p="__$__targetStorageMarker",a=(0,E.yh)("storageService");var g;(function(C){C[C.NONE=0]="NONE",C[C.SHUTDOWN=1]="SHUTDOWN"})(g||(g={}));class w extends H.JT{constructor(f={flushInterval:w.DEFAULT_FLUSH_INTERVAL}){super(),this.options=f,this._onDidChangeValue=this._register(new h.K3),this._onDidChangeTarget=this._register(new h.K3),this._onWillSaveState=this._register(new h.Q5),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._globalKeyTargets=void 0}emitDidChangeValue(f,v){v===p?(f===0?this._globalKeyTargets=void 0:f===1&&(this._workspaceKeyTargets=void 0),this._onDidChangeTarget.fire({scope:f})):this._onDidChangeValue.fire({scope:f,key:v,target:this.getKeyTargets(f)[v]})}get(f,v,r){var l;return(l=this.getStorage(v))===null||l===void 0?void 0:l.get(f,r)}getBoolean(f,v,r){var l;return(l=this.getStorage(v))===null||l===void 0?void 0:l.getBoolean(f,r)}getNumber(f,v,r){var l;return(l=this.getStorage(v))===null||l===void 0?void 0:l.getNumber(f,r)}store(f,v,r,l){if((0,O.Jp)(v)){this.remove(f,r);return}this.withPausedEmitters(()=>{var m;this.updateKeyTarget(f,r,l),(m=this.getStorage(r))===null||m===void 0||m.set(f,v)})}remove(f,v){this.withPausedEmitters(()=>{var r;this.updateKeyTarget(f,v,void 0),(r=this.getStorage(v))===null||r===void 0||r.delete(f)})}withPausedEmitters(f){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{f()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(f,v,r){var l,m;const c=this.getKeyTargets(v);typeof r=="number"?c[f]!==r&&(c[f]=r,(l=this.getStorage(v))===null||l===void 0||l.set(p,JSON.stringify(c))):typeof c[f]=="number"&&(delete c[f],(m=this.getStorage(v))===null||m===void 0||m.set(p,JSON.stringify(c)))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get globalKeyTargets(){return this._globalKeyTargets||(this._globalKeyTargets=this.loadKeyTargets(0)),this._globalKeyTargets}getKeyTargets(f){return f===0?this.globalKeyTargets:this.workspaceKeyTargets}loadKeyTargets(f){const v=this.get(p,f);if(v)try{return JSON.parse(v)}catch(r){}return Object.create(null)}}w.DEFAULT_FLUSH_INTERVAL=60*1e3;class s extends w{constructor(){super(),this.globalStorage=this._register(new I(new y)),this.workspaceStorage=this._register(new I(new y)),this._register(this.workspaceStorage.onDidChangeStorage(f=>this.emitDidChangeValue(1,f))),this._register(this.globalStorage.onDidChangeStorage(f=>this.emitDidChangeValue(0,f)))}getStorage(f){return f===0?this.globalStorage:this.workspaceStorage}}},14347:function(xt,Te,i){"use strict";i.d(Te,{b:function(){return H}});var h=i(16925);const H=(0,h.yh)("telemetryService")},44350:function(xt,Te,i){"use strict";i.d(Te,{$D:function(){return ts},$d:function(){return qi},A2:function(){return Ve},AB:function(){return we},AS:function(){return Rn},AW:function(){return ni},BO:function(){return Yt},C3:function(){return Q},CA:function(){return Be},CN:function(){return ct},Cd:function(){return Yn},Cz:function(){return Se},D0:function(){return vt},D1:function(){return Ht},DE:function(){return Vn},Du:function(){return Pe},E3:function(){return Un},EP:function(){return De},ES:function(){return Ni},Ei:function(){return Qe},F3:function(){return hn},Fm:function(){return Je},Fu:function(){return qe},GO:function(){return te},Gj:function(){return ii},Gw:function(){return yn},HC:function(){return mt},Hf:function(){return Ft},Hz:function(){return An},I1:function(){return Ne},IP:function(){return y},IY:function(){return ti},Id:function(){return w},It:function(){return Ce},Iv:function(){return Ct},Jp:function(){return Ut},K1:function(){return hi},KT:function(){return Rt},LL:function(){return pt},L_:function(){return Dt},Lo:function(){return Nt},M6:function(){return ui},MU:function(){return st},NO:function(){return rt},NP:function(){return Gn},Ng:function(){return ze},OL:function(){return ei},OZ:function(){return j},Oo:function(){return Jt},P4:function(){return ke},P6:function(){return a},PR:function(){return M},PX:function(){return nn},Pk:function(){return pe},Pp:function(){return Ci},Pv:function(){return oe},R8:function(){return C},RV:function(){return J},Rz:function(){return ai},S:function(){return En},SP:function(){return St},SU:function(){return Z},Sb:function(){return Ke},Sn:function(){return Bi},Sw:function(){return m},T8:function(){return he},Tn:function(){return vi},U6:function(){return je},Un:function(){return Jn},VV:function(){return Xt},Vq:function(){return pn},XE:function(){return z},XL:function(){return lt},XZ:function(){return s},Xy:function(){return ot},YI:function(){return re},ZG:function(){return sn},Zn:function(){return Ei},_2:function(){return Mt},_Y:function(){return $t},_b:function(){return Vt},_l:function(){return se},_t:function(){return xe},_w:function(){return ve},b6:function(){return ae},b7:function(){return ie},bK:function(){return mi},br:function(){return wt},c6:function(){return ee},cb:function(){return ss},cv:function(){return it},dC:function(){return jt},dR:function(){return g},dt:function(){return T},et:function(){return Fe},fE:function(){return Ye},fe:function(){return $},g8:function(){return ge},g_:function(){return Pt},gk:function(){return $e},gp:function(){return fe},hE:function(){return Di},hX:function(){return Zt},j5:function(){return K},jU:function(){return gt},jb:function(){return On},kJ:function(){return He},kV:function(){return k},ke:function(){return Y},kv:function(){return Ri},kw:function(){return xi},lR:function(){return f},lU:function(){return Lt},lW:function(){return oi},lX:function(){return We},lo:function(){return Ae},mH:function(){return nt},mV:function(){return bn},ny:function(){return Gt},oQ:function(){return Wt},oS:function(){return Dn},op:function(){return Et},ov:function(){return fi},p:function(){return le},pW:function(){return W},ph:function(){return ut},pn:function(){return ht},pt:function(){return Ie},qe:function(){return ye},rg:function(){return Si},rh:function(){return c},s$:function(){return zi},sE:function(){return b},sK:function(){return de},sg:function(){return l},tZ:function(){return Ze},u2:function(){return F},uo:function(){return ne},ur:function(){return r},ux:function(){return ln},vG:function(){return kn},xL:function(){return v},yJ:function(){return Oe},yb:function(){return Ti},yn:function(){return ue},yp:function(){return _e},yt:function(){return Oi},zJ:function(){return L},zK:function(){return Xe},zR:function(){return ce}});var h=i(50431),H=i(51737),O=i(4348),P=i(72999),D=i(13268),G=i(2142),I=i(44650);const y={ColorContribution:"base.contributions.colors"};class E{constructor(){this._onDidChangeSchema=new O.Q5,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(mn,Pn,Yi,tn=!1,Bn){let vs={id:mn,description:Yi,defaults:Pn,needsTransparency:tn,deprecationMessage:Bn};this.colorsById[mn]=vs;let ws={type:"string",description:Yi,format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return Bn&&(ws.deprecationMessage=Bn),this.colorSchema.properties[mn]=ws,this.colorReferenceSchema.enum.push(mn),this.colorReferenceSchema.enumDescriptions.push(Yi),this._onDidChangeSchema.fire(),mn}resolveDefaultColor(mn,Pn){const Yi=this.colorsById[mn];if(Yi&&Yi.defaults){const tn=Yi.defaults[Pn.type];return Bi(tn,Pn)}}getColorSchema(){return this.colorSchema}toString(){let mn=(Pn,Yi)=>{let tn=Pn.indexOf(".")===-1?0:1,Bn=Yi.indexOf(".")===-1?0:1;return tn!==Bn?tn-Bn:Pn.localeCompare(Yi)};return Object.keys(this.colorsById).sort(mn).map(Pn=>`- \`${Pn}\`: ${this.colorsById[Pn].description}`).join(`
`)}}const p=new E;I.B.add(y.ColorContribution,p);function a(en,mn,Pn,Yi,tn){return p.registerColor(en,mn,Pn,Yi,tn)}const g=a("foreground",{dark:"#CCCCCC",light:"#616161",hc:"#FFFFFF"},D.N("foreground","Overall foreground color. This color is only used if not overridden by a component.")),w=a("errorForeground",{dark:"#F48771",light:"#A1260D",hc:"#F48771"},D.N("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component.")),s=a("icon.foreground",{dark:"#C5C5C5",light:"#424242",hc:"#FFFFFF"},D.N("iconForeground","The default color for icons in the workbench.")),C=a("focusBorder",{dark:"#007FD4",light:"#0090F1",hc:"#F38518"},D.N("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),f=a("contrastBorder",{light:null,dark:null,hc:"#6FC3DF"},D.N("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),v=a("contrastActiveBorder",{light:null,dark:null,hc:C},D.N("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast.")),r=a("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hc:"#3794FF"},D.N("textLinkForeground","Foreground color for links in text.")),l=a("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hc:"#3794FF"},D.N("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover.")),m=a("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hc:H.Il.black},D.N("textCodeBlockBackground","Background color for code blocks in text.")),c=a("widget.shadow",{dark:Ei(H.Il.black,.36),light:Ei(H.Il.black,.16),hc:null},D.N("widgetShadow","Shadow color of widgets such as find/replace inside the editor.")),b=a("input.background",{dark:"#3C3C3C",light:H.Il.white,hc:H.Il.black},D.N("inputBoxBackground","Input box background.")),L=a("input.foreground",{dark:g,light:g,hc:g},D.N("inputBoxForeground","Input box foreground.")),T=a("input.border",{dark:null,light:null,hc:f},D.N("inputBoxBorder","Input box border.")),M=a("inputOption.activeBorder",{dark:"#007ACC00",light:"#007ACC00",hc:f},D.N("inputBoxActiveOptionBorder","Border color of activated options in input fields.")),z=a("inputOption.activeBackground",{dark:Ei(C,.4),light:Ei(C,.2),hc:H.Il.transparent},D.N("inputOption.activeBackground","Background color of activated options in input fields.")),oe=a("inputOption.activeForeground",{dark:H.Il.white,light:H.Il.black,hc:null},D.N("inputOption.activeForeground","Foreground color of activated options in input fields.")),se=a("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hc:H.Il.black},D.N("inputValidationInfoBackground","Input validation background color for information severity.")),re=a("inputValidation.infoForeground",{dark:null,light:null,hc:null},D.N("inputValidationInfoForeground","Input validation foreground color for information severity.")),De=a("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hc:f},D.N("inputValidationInfoBorder","Input validation border color for information severity.")),J=a("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hc:H.Il.black},D.N("inputValidationWarningBackground","Input validation background color for warning severity.")),Z=a("inputValidation.warningForeground",{dark:null,light:null,hc:null},D.N("inputValidationWarningForeground","Input validation foreground color for warning severity.")),Q=a("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hc:f},D.N("inputValidationWarningBorder","Input validation border color for warning severity.")),le=a("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hc:H.Il.black},D.N("inputValidationErrorBackground","Input validation background color for error severity.")),xe=a("inputValidation.errorForeground",{dark:null,light:null,hc:null},D.N("inputValidationErrorForeground","Input validation foreground color for error severity.")),j=a("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hc:f},D.N("inputValidationErrorBorder","Input validation border color for error severity.")),R=a("dropdown.background",{dark:"#3C3C3C",light:H.Il.white,hc:H.Il.black},D.N("dropdownBackground","Dropdown background.")),V=a("dropdown.foreground",{dark:"#F0F0F0",light:null,hc:H.Il.white},D.N("dropdownForeground","Dropdown foreground.")),K=a("button.foreground",{dark:H.Il.white,light:H.Il.white,hc:H.Il.white},D.N("buttonForeground","Button foreground color.")),ie=a("button.background",{dark:"#0E639C",light:"#007ACC",hc:null},D.N("buttonBackground","Button background color.")),te=a("button.hoverBackground",{dark:Mi(ie,.2),light:gi(ie,.2),hc:null},D.N("buttonHoverBackground","Button background color when hovering.")),ge=a("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hc:H.Il.black},D.N("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count.")),ye=a("badge.foreground",{dark:H.Il.white,light:"#333",hc:H.Il.white},D.N("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),ve=a("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hc:null},D.N("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled.")),Fe=a("scrollbarSlider.background",{dark:H.Il.fromHex("#797979").transparent(.4),light:H.Il.fromHex("#646464").transparent(.4),hc:Ei(f,.6)},D.N("scrollbarSliderBackground","Scrollbar slider background color.")),we=a("scrollbarSlider.hoverBackground",{dark:H.Il.fromHex("#646464").transparent(.7),light:H.Il.fromHex("#646464").transparent(.7),hc:Ei(f,.8)},D.N("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),ue=a("scrollbarSlider.activeBackground",{dark:H.Il.fromHex("#BFBFBF").transparent(.4),light:H.Il.fromHex("#000000").transparent(.6),hc:f},D.N("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),ce=a("progressBar.background",{dark:H.Il.fromHex("#0E70C0"),light:H.Il.fromHex("#0E70C0"),hc:f},D.N("progressBarBackground","Background color of the progress bar that can show for long running operations.")),Ve=a("editorError.background",{dark:null,light:null,hc:null},D.N("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),We=a("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hc:null},D.N("editorError.foreground","Foreground color of error squigglies in the editor.")),ae=a("editorError.border",{dark:null,light:null,hc:H.Il.fromHex("#E47777").transparent(.8)},D.N("errorBorder","Border color of error boxes in the editor.")),fe=a("editorWarning.background",{dark:null,light:null,hc:null},D.N("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),ne=a("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hc:null},D.N("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),W=a("editorWarning.border",{dark:null,light:null,hc:H.Il.fromHex("#FFCC00").transparent(.8)},D.N("warningBorder","Border color of warning boxes in the editor.")),$=a("editorInfo.background",{dark:null,light:null,hc:null},D.N("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),ee=a("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hc:"#3794FF"},D.N("editorInfo.foreground","Foreground color of info squigglies in the editor.")),he=a("editorInfo.border",{dark:null,light:null,hc:H.Il.fromHex("#3794FF").transparent(.8)},D.N("infoBorder","Border color of info boxes in the editor.")),Pe=a("editorHint.foreground",{dark:H.Il.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hc:null},D.N("editorHint.foreground","Foreground color of hint squigglies in the editor.")),Ye=a("editorHint.border",{dark:null,light:null,hc:H.Il.fromHex("#eeeeee").transparent(.8)},D.N("hintBorder","Border color of hint boxes in the editor.")),it=a("editor.background",{light:"#fffffe",dark:"#1E1E1E",hc:H.Il.black},D.N("editorBackground","Editor background color.")),rt=a("editor.foreground",{light:"#333333",dark:"#BBBBBB",hc:H.Il.white},D.N("editorForeground","Editor default foreground color.")),vt=a("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hc:"#0C141F"},D.N("editorWidgetBackground","Background color of editor widgets, such as find/replace.")),Ft=a("editorWidget.foreground",{dark:g,light:g,hc:g},D.N("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),Ht=a("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hc:f},D.N("editorWidgetBorder","Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.")),ze=a("editorWidget.resizeBorder",{light:null,dark:null,hc:null},D.N("editorWidgetResizeBorder","Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.")),Xe=a("quickInput.background",{dark:vt,light:vt,hc:vt},D.N("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),Ze=a("quickInput.foreground",{dark:Ft,light:Ft,hc:Ft},D.N("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),Ae=a("quickInputTitle.background",{dark:new H.Il(new H.VS(255,255,255,.105)),light:new H.Il(new H.VS(0,0,0,.06)),hc:"#000000"},D.N("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),He=a("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hc:H.Il.white},D.N("pickerGroupForeground","Quick picker color for grouping labels.")),Et=a("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hc:H.Il.white},D.N("pickerGroupBorder","Quick picker color for grouping borders.")),Wt=a("keybindingLabel.background",{dark:new H.Il(new H.VS(128,128,128,.17)),light:new H.Il(new H.VS(221,221,221,.4)),hc:H.Il.transparent},D.N("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),oi=a("keybindingLabel.foreground",{dark:H.Il.fromHex("#CCCCCC"),light:H.Il.fromHex("#555555"),hc:H.Il.white},D.N("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),ni=a("keybindingLabel.border",{dark:new H.Il(new H.VS(51,51,51,.6)),light:new H.Il(new H.VS(204,204,204,.4)),hc:new H.Il(new H.VS(111,195,223))},D.N("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),hi=a("keybindingLabel.bottomBorder",{dark:new H.Il(new H.VS(68,68,68,.6)),light:new H.Il(new H.VS(187,187,187,.4)),hc:new H.Il(new H.VS(111,195,223))},D.N("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),Di=a("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hc:"#f3f518"},D.N("editorSelectionBackground","Color of the editor selection.")),Ti=a("editor.selectionForeground",{light:null,dark:null,hc:"#000000"},D.N("editorSelectionForeground","Color of the selected text for high contrast.")),Ni=a("editor.inactiveSelectionBackground",{light:Ei(Di,.5),dark:Ei(Di,.5),hc:Ei(Di,.5)},D.N("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),ai=a("editor.selectionHighlightBackground",{light:ki(Di,it,.3,.6),dark:ki(Di,it,.3,.6),hc:null},D.N("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0),Pt=a("editor.selectionHighlightBorder",{light:null,dark:null,hc:v},D.N("editorSelectionHighlightBorder","Border color for regions with the same content as the selection.")),Gt=a("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hc:null},D.N("editorFindMatch","Color of the current search match.")),st=a("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hc:null},D.N("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0),gt=a("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hc:null},D.N("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),ht=a("editor.findMatchBorder",{light:null,dark:null,hc:v},D.N("editorFindMatchBorder","Border color of the current search match.")),Qe=a("editor.findMatchHighlightBorder",{light:null,dark:null,hc:v},D.N("findMatchHighlightBorder","Border color of the other search matches.")),$e=a("editor.findRangeHighlightBorder",{dark:null,light:null,hc:Ei(v,.4)},D.N("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),Ie=a("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hc:"#ADD6FF26"},D.N("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0),Oe=a("editorHoverWidget.background",{light:vt,dark:vt,hc:vt},D.N("hoverBackground","Background color of the editor hover.")),Ke=a("editorHoverWidget.foreground",{light:Ft,dark:Ft,hc:Ft},D.N("hoverForeground","Foreground color of the editor hover.")),ct=a("editorHoverWidget.border",{light:Ht,dark:Ht,hc:Ht},D.N("hoverBorder","Border color of the editor hover.")),Nt=a("editorHoverWidget.statusBarBackground",{dark:Mi(Oe,.2),light:gi(Oe,.05),hc:vt},D.N("statusBarBackground","Background color of the editor hover status bar.")),$t=a("editorLink.activeForeground",{dark:"#4E94CE",light:H.Il.blue,hc:H.Il.cyan},D.N("activeLinkForeground","Color of active links.")),Xt=a("editorInlayHint.foreground",{dark:Ei(ye,.8),light:Ei(ye,.8),hc:ye},D.N("editorInlayHintForeground","Foreground color of inline hints")),Ci=a("editorInlayHint.background",{dark:Ei(ge,.6),light:Ei(ge,.3),hc:ge},D.N("editorInlayHintBackground","Background color of inline hints")),Zt=a("editorInlayHint.typeForeground",{dark:Xt,light:Xt,hc:Xt},D.N("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),mi=a("editorInlayHint.typeBackground",{dark:Ci,light:Ci,hc:Ci},D.N("editorInlayHintBackgroundTypes","Background color of inline hints for types")),mt=a("editorInlayHint.parameterForeground",{dark:Xt,light:Xt,hc:Xt},D.N("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),ut=a("editorInlayHint.parameterBackground",{dark:Ci,light:Ci,hc:Ci},D.N("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),qe=a("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hc:"#FFCC00"},D.N("editorLightBulbForeground","The color used for the lightbulb actions icon.")),de=a("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},D.N("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon.")),Se=new H.Il(new H.VS(155,185,85,.2)),Y=new H.Il(new H.VS(255,0,0,.2)),_e=a("diffEditor.insertedTextBackground",{dark:Se,light:Se,hc:null},D.N("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),ke=a("diffEditor.removedTextBackground",{dark:Y,light:Y,hc:null},D.N("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),lt=a("diffEditor.insertedTextBorder",{dark:null,light:null,hc:"#33ff2eff"},D.N("diffEditorInsertedOutline","Outline color for the text that got inserted.")),nt=a("diffEditor.removedTextBorder",{dark:null,light:null,hc:"#FF008F"},D.N("diffEditorRemovedOutline","Outline color for text that got removed.")),pt=a("diffEditor.border",{dark:null,light:null,hc:f},D.N("diffEditorBorder","Border color between the two text editors.")),Dt=a("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hc:null},D.N("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),Vt=a("list.focusBackground",{dark:null,light:null,hc:null},D.N("listFocusBackground","List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),Mt=a("list.focusForeground",{dark:null,light:null,hc:null},D.N("listFocusForeground","List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),Jt=a("list.focusOutline",{dark:C,light:C,hc:v},D.N("listFocusOutline","List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),jt=a("list.activeSelectionBackground",{dark:"#094771",light:"#0060C0",hc:null},D.N("listActiveSelectionBackground","List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),ui=a("list.activeSelectionForeground",{dark:H.Il.white,light:H.Il.white,hc:null},D.N("listActiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),vi=a("list.activeSelectionIconForeground",{dark:null,light:null,hc:null},D.N("listActiveSelectionIconForeground","List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),Si=a("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hc:null},D.N("listInactiveSelectionBackground","List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),Oi=a("list.inactiveSelectionForeground",{dark:null,light:null,hc:null},D.N("listInactiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),Ri=a("list.inactiveSelectionIconForeground",{dark:null,light:null,hc:null},D.N("listInactiveSelectionIconForeground","List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),zi=a("list.inactiveFocusBackground",{dark:null,light:null,hc:null},D.N("listInactiveFocusBackground","List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),hn=a("list.inactiveFocusOutline",{dark:null,light:null,hc:null},D.N("listInactiveFocusOutline","List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),bn=a("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hc:null},D.N("listHoverBackground","List/Tree background when hovering over items using the mouse.")),qi=a("list.hoverForeground",{dark:null,light:null,hc:null},D.N("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),Rn=a("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hc:null},D.N("listDropBackground","List/Tree drag and drop background when moving items around using the mouse.")),yn=a("list.highlightForeground",{dark:"#18A3FF",light:"#0066BF",hc:C},D.N("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")),nn=a("list.focusHighlightForeground",{dark:yn,light:Pi(jt,yn,"#9DDDFF"),hc:yn},D.N("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree.")),kn=a("listFilterWidget.background",{light:"#efc1ad",dark:"#653723",hc:H.Il.black},D.N("listFilterWidgetBackground","Background color of the type filter widget in lists and trees.")),Dn=a("listFilterWidget.outline",{dark:H.Il.transparent,light:H.Il.transparent,hc:"#f38518"},D.N("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),En=a("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hc:f},D.N("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),Jn=a("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hc:"#a9a9a9"},D.N("treeIndentGuidesStroke","Tree stroke color for the indentation guides.")),ln=a("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hc:null},D.N("treeIndentGuidesStroke","Tree stroke color for the indentation guides.")),$n=a("quickInput.list.focusBackground",{dark:null,light:null,hc:null},"",void 0,D.N("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")),Gn=a("quickInputList.focusForeground",{dark:ui,light:ui,hc:ui},D.N("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),ss=a("quickInputList.focusIconForeground",{dark:vi,light:vi,hc:vi},D.N("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),pn=a("quickInputList.focusBackground",{dark:xi($n,jt),light:xi($n,jt),hc:null},D.N("quickInput.listFocusBackground","Quick picker background color for the focused item.")),Yn=a("menu.border",{dark:null,light:null,hc:f},D.N("menuBorder","Border color of menus.")),Vn=a("menu.foreground",{dark:V,light:g,hc:V},D.N("menuForeground","Foreground color of menu items.")),An=a("menu.background",{dark:R,light:R,hc:R},D.N("menuBackground","Background color of menu items.")),On=a("menu.selectionForeground",{dark:ui,light:ui,hc:ui},D.N("menuSelectionForeground","Foreground color of the selected menu item in menus.")),ts=a("menu.selectionBackground",{dark:jt,light:jt,hc:jt},D.N("menuSelectionBackground","Background color of the selected menu item in menus.")),Un=a("menu.selectionBorder",{dark:null,light:null,hc:v},D.N("menuSelectionBorder","Border color of the selected menu item in menus.")),sn=a("menu.separatorBackground",{dark:"#BBBBBB",light:"#888888",hc:f},D.N("menuSeparatorBackground","Color of a separator menu item in menus.")),Lt=a("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hc:null},D.N("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse")),F=a("editor.snippetTabstopHighlightBackground",{dark:new H.Il(new H.VS(124,124,124,.3)),light:new H.Il(new H.VS(10,50,100,.2)),hc:new H.Il(new H.VS(124,124,124,.3))},D.N("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop.")),pe=a("editor.snippetTabstopHighlightBorder",{dark:null,light:null,hc:null},D.N("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop.")),Ne=a("editor.snippetFinalTabstopHighlightBackground",{dark:null,light:null,hc:null},D.N("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet.")),je=a("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new H.Il(new H.VS(10,50,100,.5)),hc:"#525252"},D.N("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet.")),Je=a("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hc:"#AB5A00"},D.N("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),St=a("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},D.N("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Rt=a("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hc:"#AB5A00"},D.N("minimapFindMatchHighlight","Minimap marker color for find matches."),!0),ti=a("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hc:"#ffffff"},D.N("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),fi=a("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hc:"#ffffff"},D.N("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),ii=a("minimap.errorHighlight",{dark:new H.Il(new H.VS(255,18,18,.7)),light:new H.Il(new H.VS(255,18,18,.7)),hc:new H.Il(new H.VS(255,50,50,1))},D.N("minimapError","Minimap marker color for errors.")),Ct=a("minimap.warningHighlight",{dark:ne,light:ne,hc:W},D.N("overviewRuleWarning","Minimap marker color for warnings.")),k=a("minimap.background",{dark:null,light:null,hc:null},D.N("minimapBackground","Minimap background color.")),Ce=a("minimap.foregroundOpacity",{dark:H.Il.fromHex("#000f"),light:H.Il.fromHex("#000f"),hc:H.Il.fromHex("#000f")},D.N("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.')),Be=a("minimapSlider.background",{light:Ei(Fe,.5),dark:Ei(Fe,.5),hc:Ei(Fe,.5)},D.N("minimapSliderBackground","Minimap slider background color.")),ot=a("minimapSlider.hoverBackground",{light:Ei(we,.5),dark:Ei(we,.5),hc:Ei(we,.5)},D.N("minimapSliderHoverBackground","Minimap slider background color when hovering.")),wt=a("minimapSlider.activeBackground",{light:Ei(ue,.5),dark:Ei(ue,.5),hc:Ei(ue,.5)},D.N("minimapSliderActiveBackground","Minimap slider background color when clicked on.")),Ut=a("problemsErrorIcon.foreground",{dark:We,light:We,hc:We},D.N("problemsErrorIconForeground","The color used for the problems error icon.")),Yt=a("problemsWarningIcon.foreground",{dark:ne,light:ne,hc:ne},D.N("problemsWarningIconForeground","The color used for the problems warning icon.")),ei=a("problemsInfoIcon.foreground",{dark:ee,light:ee,hc:ee},D.N("problemsInfoIconForeground","The color used for the problems info icon."));function ri(en,mn){var Pn,Yi,tn;switch(en.op){case 0:return(Pn=Bi(en.value,mn))===null||Pn===void 0?void 0:Pn.darken(en.factor);case 1:return(Yi=Bi(en.value,mn))===null||Yi===void 0?void 0:Yi.lighten(en.factor);case 2:return(tn=Bi(en.value,mn))===null||tn===void 0?void 0:tn.transparent(en.factor);case 3:for(const ws of en.values){const ds=Bi(ws,mn);if(ds)return ds}return;case 5:return Bi(mn.defines(en.if)?en.then:en.else,mn);case 4:const Bn=Bi(en.value,mn);if(!Bn)return;const vs=Bi(en.background,mn);return vs?Bn.isDarkerThan(vs)?H.Il.getLighterColor(Bn,vs,en.factor).transparent(en.transparency):H.Il.getDarkerColor(Bn,vs,en.factor).transparent(en.transparency):Bn.transparent(en.factor*en.transparency);default:throw(0,P.vE)(en)}}function gi(en,mn){return{op:0,value:en,factor:mn}}function Mi(en,mn){return{op:1,value:en,factor:mn}}function Ei(en,mn){return{op:2,value:en,factor:mn}}function xi(...en){return{op:3,values:en}}function Pi(en,mn,Pn){return{op:5,if:en,then:mn,else:Pn}}function ki(en,mn,Pn,Yi){return{op:4,value:en,background:mn,factor:Pn,transparency:Yi}}function Bi(en,mn){if(en!==null){if(typeof en=="string")return en[0]==="#"?H.Il.fromHex(en):mn.getColor(en);if(en instanceof H.Il)return en;if(typeof en=="object")return ri(en,mn)}}const on="vscode://schemas/workbench-colors";let zn=I.B.as(G.I.JSONContribution);zn.registerSchema(on,p.getColorSchema());const hs=new h.pY(()=>zn.notifySchemaChanged(on),200);p.onDidChangeSchema(()=>{hs.isScheduled()||hs.schedule()})},55773:function(xt,Te,i){"use strict";i.d(Te,{Ks:function(){return g},q5:function(){return a},s_:function(){return v}});var h=i(50431),H=i(52615),O=i(4348),P=i(13268),D=i(2142),G=i(44650),I=i(49055);const y={IconContribution:"base.contributions.icons"};class E{constructor(){this._onDidChange=new O.Q5,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:(0,P.N)("iconDefintion.fontId","The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:(0,P.N)("iconDefintion.fontCharacter","The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${H.dT.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(l,m,c,b){const L=this.iconsById[l];if(L){if(c&&!L.description){L.description=c,this.iconSchema.properties[l].markdownDescription=`${c} $(${l})`;const z=this.iconReferenceSchema.enum.indexOf(l);z!==-1&&(this.iconReferenceSchema.enumDescriptions[z]=c),this._onDidChange.fire()}return L}let T={id:l,description:c,defaults:m,deprecationMessage:b};this.iconsById[l]=T;let M={$ref:"#/definitions/icons"};return b&&(M.deprecationMessage=b),c&&(M.markdownDescription=`${c}: $(${l})`),this.iconSchema.properties[l]=M,this.iconReferenceSchema.enum.push(l),this.iconReferenceSchema.enumDescriptions.push(c||""),this._onDidChange.fire(),{id:l}}getIcons(){return Object.keys(this.iconsById).map(l=>this.iconsById[l])}getIcon(l){return this.iconsById[l]}getIconSchema(){return this.iconSchema}getIconFont(l){return this.iconFontsById[l]}toString(){const l=(L,T)=>L.id.localeCompare(T.id),m=L=>{for(;I.kS.isThemeIcon(L.defaults);)L=this.iconsById[L.defaults.id];return`codicon codicon-${L?L.id:""}`};let c=[];c.push("| preview | identifier | default codicon ID | description"),c.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const b=Object.keys(this.iconsById).map(L=>this.iconsById[L]);for(const L of b.filter(T=>!!T.description).sort(l))c.push(`|<i class="${m(L)}"></i>|${L.id}|${I.kS.isThemeIcon(L.defaults)?L.defaults.id:L.id}|${L.description||""}|`);c.push("| preview | identifier "),c.push("| ----------- | --------------------------------- |");for(const L of b.filter(T=>!I.kS.isThemeIcon(T.defaults)).sort(l))c.push(`|<i class="${m(L)}"></i>|${L.id}|`);return c.join(`
`)}}const p=new E;G.B.add(y.IconContribution,p);function a(r,l,m,c){return p.registerIcon(r,l,m,c)}function g(){return p}function w(){for(const r of H.fK.all)p.registerIcon(r.id,r.definition,r.description);H.fK.onDidRegister(r=>p.registerIcon(r.id,r.definition,r.description))}w();const s="vscode://schemas/icons";let C=G.B.as(D.I.JSONContribution);C.registerSchema(s,p.getIconSchema());const f=new h.pY(()=>C.notifySchemaChanged(s),200);p.onDidChange(()=>{f.isScheduled()||f.schedule()});const v=a("widget-close",H.lA.close,(0,P.N)("widgetClose","Icon for the close action in widgets."))},32426:function(xt,Te,i){"use strict";i.d(Te,{Jl:function(){return D},O2:function(){return G},WZ:function(){return P},o:function(){return H},tj:function(){return y}});var h=i(44350);function H(E,p){const a=Object.create(null);for(let g in p){const w=p[g];w&&(a[g]=(0,h.Sn)(w,E))}return a}function O(E,p,a){function g(){const w=H(E.getColorTheme(),p);typeof a=="function"?a(w):a.style(w)}return g(),E.onDidColorThemeChange(g)}function P(E,p,a){return O(p,{badgeBackground:(a==null?void 0:a.badgeBackground)||h.g8,badgeForeground:(a==null?void 0:a.badgeForeground)||h.qe,badgeBorder:h.lR},E)}function D(E,p,a){return O(p,Object.assign(Object.assign({},G),a||{}),E)}const G={listFocusBackground:h._b,listFocusForeground:h._2,listFocusOutline:h.Oo,listActiveSelectionBackground:h.dC,listActiveSelectionForeground:h.M6,listActiveSelectionIconForeground:h.Tn,listFocusAndSelectionBackground:h.dC,listFocusAndSelectionForeground:h.M6,listInactiveSelectionBackground:h.rg,listInactiveSelectionIconForeground:h.kv,listInactiveSelectionForeground:h.yt,listInactiveFocusBackground:h.s$,listInactiveFocusOutline:h.F3,listHoverBackground:h.mV,listHoverForeground:h.$d,listDropBackground:h.AS,listSelectionOutline:h.xL,listHoverOutline:h.xL,listFilterWidgetBackground:h.vG,listFilterWidgetOutline:h.oS,listFilterWidgetNoMatchesOutline:h.S,listMatchesShadow:h.rh,treeIndentGuidesStroke:h.Un,tableColumnsBorder:h.ux},I={shadowColor:h.rh,borderColor:h.Cd,foregroundColor:h.DE,backgroundColor:h.Hz,selectionForegroundColor:h.jb,selectionBackgroundColor:h.$D,selectionBorderColor:h.E3,separatorColor:h.ZG};function y(E,p,a){return O(p,Object.assign(Object.assign({},I),a),E)}},1085:function(xt,Te,i){"use strict";i.d(Te,{Xt:function(){return P},YO:function(){return O},gJ:function(){return D},tJ:function(){return H}});var h=i(16925);const H=(0,h.yh)("undoRedoService");class O{constructor(I,y){this.resource=I,this.elements=y}}class P{constructor(){this.id=P._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}}P._ID=0,P.None=new P;class D{constructor(){this.id=D._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}}D._ID=0,D.None=new D},52648:function(xt,Te,i){"use strict";i.d(Te,{ec:function(){return O},md:function(){return D}});var h=i(78421),H=i(16925);const O=(0,H.yh)("contextService");class P{constructor(I,y,E,p,a){this._id=I,this._transient=E,this._configuration=p,this._ignorePathCasing=a,this._foldersMap=TernarySearchTree.forUris(this._ignorePathCasing),this.folders=y}get folders(){return this._folders}set folders(I){this._folders=I,this.updateFoldersMap()}get id(){return this._id}get transient(){return this._transient}get configuration(){return this._configuration}set configuration(I){this._configuration=I}getFolder(I){return I&&this._foldersMap.findSubstr(I.with({scheme:I.scheme,authority:I.authority,path:I.path}))||null}updateFoldersMap(){this._foldersMap=TernarySearchTree.forUris(this._ignorePathCasing);for(const I of this.folders)this._foldersMap.set(I.uri,I)}toJSON(){return{id:this.id,folders:this.folders,transient:this.transient,configuration:this.configuration}}}class D{constructor(I,y){this.raw=y,this.uri=I.uri,this.index=I.index,this.name=I.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}}}]);
}());