var J6=Object.defineProperty;var eW=(o,e,t)=>e in o?J6(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Xt=(o,e,t)=>(eW(o,typeof e!="symbol"?e+"":e,t),t);import{_ as pe}from"./preload-helper.41c905a7.js";globalThis&&globalThis.__awaiter;let tW=typeof document<"u"&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function iW(o,e){let t;return e.length===0?t=o:t=o.replace(/\{(\d+)\}/g,(i,n)=>{const s=n[0],r=e[s];let a=i;return typeof r=="string"?a=r:(typeof r=="number"||typeof r=="boolean"||r===void 0||r===null)&&(a=String(r)),a}),tW&&(t="["+t.replace(/[aouei]/g,"$&$&")+"]"),t}function f(o,e,...t){return iW(e,t)}var GS;const ju="en";let qv=!1,Gv=!1,cv=!1,H4=!1,KE=!1,qE=!1,z4=!1,Kb,dv=ju,nM=ju,nW,tr;const bs=typeof self=="object"?self:typeof global=="object"?global:{};let On;typeof bs.vscode<"u"&&typeof bs.vscode.process<"u"?On=bs.vscode.process:typeof process<"u"&&(On=process);const sW=typeof((GS=On==null?void 0:On.versions)===null||GS===void 0?void 0:GS.electron)=="string",oW=sW&&(On==null?void 0:On.type)==="renderer";if(typeof navigator=="object"&&!oW)tr=navigator.userAgent,qv=tr.indexOf("Windows")>=0,Gv=tr.indexOf("Macintosh")>=0,qE=(tr.indexOf("Macintosh")>=0||tr.indexOf("iPad")>=0||tr.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,cv=tr.indexOf("Linux")>=0,z4=(tr==null?void 0:tr.indexOf("Mobi"))>=0,KE=!0,f({key:"ensureLoaderPluginIsLoaded",comment:["{Locked}"]},"_"),Kb=ju,dv=Kb,nM=navigator.language;else if(typeof On=="object"){qv=On.platform==="win32",Gv=On.platform==="darwin",cv=On.platform==="linux",cv&&On.env.SNAP&&On.env.SNAP_REVISION,On.env.CI||On.env.BUILD_ARTIFACTSTAGINGDIRECTORY,Kb=ju,dv=ju;const o=On.env.VSCODE_NLS_CONFIG;if(o)try{const e=JSON.parse(o),t=e.availableLanguages["*"];Kb=e.locale,nM=e.osLocale,dv=t||ju,nW=e._translationsConfigFile}catch{}H4=!0}else console.error("Unable to resolve platform.");const tn=qv,qe=Gv,fn=cv,Cr=H4,Qc=KE,rW=KE&&typeof bs.importScripts=="function",Ca=qE,aW=z4,wa=tr,lW=dv,cW=typeof bs.postMessage=="function"&&!bs.importScripts,U4=(()=>{if(cW){const o=[];bs.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,n=o.length;i{const i=++e;o.push({id:i,callback:t}),bs.postMessage({vscodeScheduleAsyncWork:i},"*")}}return o=>setTimeout(o)})(),Fs=Gv||qE?2:qv?1:3;let sM=!0,oM=!1;function $4(){if(!oM){oM=!0;const o=new Uint8Array(2);o[0]=1,o[1]=2,sM=new Uint16Array(o.buffer)[0]===(2<<8)+1}return sM}const j4=!!(wa&&wa.indexOf("Chrome")>=0),dW=!!(wa&&wa.indexOf("Firefox")>=0),hW=!!(!j4&&wa&&wa.indexOf("Safari")>=0),uW=!!(wa&&wa.indexOf("Edg/")>=0);wa&&wa.indexOf("Android")>=0;var nt;(function(o){function e(v){return v&&typeof v=="object"&&typeof v[Symbol.iterator]=="function"}o.is=e;const t=Object.freeze([]);function i(){return t}o.empty=i;function*n(v){yield v}o.single=n;function s(v){return e(v)?v:n(v)}o.wrap=s;function r(v){return v||t}o.from=r;function a(v){return!v||v[Symbol.iterator]().next().done===!0}o.isEmpty=a;function l(v){return v[Symbol.iterator]().next().value}o.first=l;function c(v,b){for(const C of v)if(b(C))return!0;return!1}o.some=c;function d(v,b){for(const C of v)if(b(C))return C}o.find=d;function*h(v,b){for(const C of v)b(C)&&(yield C)}o.filter=h;function*u(v,b){let C=0;for(const w of v)yield b(w,C++)}o.map=u;function*g(...v){for(const b of v)for(const C of b)yield C}o.concat=g;function p(v,b,C){let w=C;for(const L of v)w=b(w,L);return w}o.reduce=p;function*m(v,b,C=v.length){for(b<0&&(b+=v.length),C<0?C+=v.length:C>v.length&&(C=v.length);b{n||(n=!0,this._remove(i))}}shift(){if(this._first!==vi.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==vi.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==vi.Undefined&&e.next!==vi.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===vi.Undefined&&e.next===vi.Undefined?(this._first=vi.Undefined,this._last=vi.Undefined):e.next===vi.Undefined?(this._last=this._last.prev,this._last.next=vi.Undefined):e.prev===vi.Undefined&&(this._first=this._first.next,this._first.prev=vi.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==vi.Undefined;)yield e.element,e=e.next}}const K4="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";function gW(o=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const t of K4)o.indexOf(t)>=0||(e+="\\"+t);return e+="\\s]+)",new RegExp(e,"g")}const GE=gW();function q4(o){let e=GE;if(o&&o instanceof RegExp)if(o.global)e=o;else{let t="g";o.ignoreCase&&(t+="i"),o.multiline&&(t+="m"),o.unicode&&(t+="u"),e=new RegExp(o.source,t)}return e.lastIndex=0,e}const G4=new hn;G4.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function Mm(o,e,t,i,n){if(n||(n=nt.first(G4)),t.length>n.maxLen){let c=o-n.maxLen/2;return c<0?c=0:i+=c,t=t.substring(c,o+n.maxLen/2),Mm(o,e,t,i,n)}const s=Date.now(),r=o-1-i;let a=-1,l=null;for(let c=1;!(Date.now()-s>=n.timeBudget);c++){const d=r-n.windowSize*c;e.lastIndex=Math.max(0,d);const h=fW(e,t,r,a);if(!h&&l||(l=h,d<=0))break;a=d}if(l){const c={word:l[0],startColumn:i+1+l.index,endColumn:i+1+l.index+l[0].length};return e.lastIndex=0,c}return null}function fW(o,e,t,i){let n;for(;n=o.exec(e);){const s=n.index||0;if(s<=t&&o.lastIndex>=t)return n;if(i>0&&s>i)return null}return null}function to(o,e=0){return o[o.length-(1+e)]}function pW(o){if(o.length===0)throw new Error("Invalid tail call");return[o.slice(0,o.length-1),o[o.length-1]]}function un(o,e,t=(i,n)=>i===n){if(o===e)return!0;if(!o||!e||o.length!==e.length)return!1;for(let i=0,n=o.length;it(o[i],e))}function _W(o,e){let t=0,i=o-1;for(;t<=i;){const n=(t+i)/2|0,s=e(n);if(s<0)t=n+1;else if(s>0)i=n-1;else return n}return-(t+1)}function Z4(o,e){let t=0,i=o.length;if(i===0)return 0;for(;t=e.length)throw new TypeError("invalid index");const i=e[Math.floor(e.length*Math.random())],n=[],s=[],r=[];for(const a of e){const l=t(a,i);l<0?n.push(a):l>0?s.push(a):r.push(a)}return o!!e)}function aM(o){let e=0;for(let t=0;t0}function Ac(o,e=t=>t){const t=new Set;return o.filter(i=>{const n=e(i);return t.has(n)?!1:(t.add(n),!0)})}function X4(o,e){const t=bW(o,e);if(t!==-1)return o[t]}function bW(o,e){for(let t=o.length-1;t>=0;t--){const i=o[t];if(e(i))return t}return-1}function Q4(o,e){return o.length>0?o[0]:e}function Rn(o,e){let t=typeof e=="number"?o:0;typeof e=="number"?t=o:(t=0,e=o);const i=[];if(t<=e)for(let n=t;ne;n--)i.push(n);return i}function V1(o,e,t){const i=o.slice(0,e),n=o.slice(e);return i.concat(t,n)}function ZS(o,e){const t=o.indexOf(e);t>-1&&(o.splice(t,1),o.unshift(e))}function qb(o,e){const t=o.indexOf(e);t>-1&&(o.splice(t,1),o.push(e))}function lM(o,e){for(const t of e)o.push(t)}function ZE(o){return Array.isArray(o)?o:[o]}function vW(o,e,t){const i=J4(o,e),n=o.length,s=t.length;o.length=n+s;for(let r=n-1;r>=i;r--)o[r+s]=o[r];for(let r=0;r0}o.isGreaterThan=t;function i(n){return n===0}o.isNeitherLessOrGreaterThan=i,o.greaterThan=1,o.lessThan=-1,o.neitherLessOrGreaterThan=0})(uD||(uD={}));function Qp(o,e){return(t,i)=>e(o(t),o(i))}const CW=(o,e)=>o-e;function eF(o,e){if(o.length===0)return;let t=o[0];for(let i=1;i0&&(t=n)}return t}function wW(o,e){if(o.length===0)return;let t=o[0];for(let i=1;i=0&&(t=n)}return t}function SW(o,e){return eF(o,(t,i)=>-e(t,i))}class Hg{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class pa{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(e){return new pa(t=>this.iterate(i=>e(i)?t(i):!0))}map(e){return new pa(t=>this.iterate(i=>t(e(i))))}findLast(e){let t;return this.iterate(i=>(e(i)&&(t=i),!0)),t}findLastMaxBy(e){let t,i=!0;return this.iterate(n=>((i||uD.isGreaterThan(e(n,t)))&&(i=!1,t=n),!0)),t}}pa.empty=new pa(o=>{});function Hn(o){return typeof o=="string"}function ns(o){return typeof o=="object"&&o!==null&&!Array.isArray(o)&&!(o instanceof RegExp)&&!(o instanceof Date)}function yW(o){const e=Object.getPrototypeOf(Uint8Array);return typeof o=="object"&&o instanceof e}function Rc(o){return typeof o=="number"&&!isNaN(o)}function dM(o){return!!o&&typeof o[Symbol.iterator]=="function"}function tF(o){return o===!0||o===!1}function ps(o){return typeof o>"u"}function LW(o){return!Rs(o)}function Rs(o){return ps(o)||o===null}function vt(o,e){if(!o)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}function Ku(o){if(Rs(o))throw new Error("Assertion Failed: argument is undefined or null");return o}function Zv(o){return typeof o=="function"}function DW(o,e){const t=Math.min(o.length,e.length);for(let i=0;i{e[t]=i&&typeof i=="object"?Qa(i):i}),e}function kW(o){if(!o||typeof o!="object")return o;const e=[o];for(;e.length>0;){const t=e.shift();Object.freeze(t);for(const i in t)if(iF.call(t,i)){const n=t[i];typeof n=="object"&&!Object.isFrozen(n)&&!yW(n)&&e.push(n)}}return o}const iF=Object.prototype.hasOwnProperty;function nF(o,e){return gD(o,e,new Set)}function gD(o,e,t){if(Rs(o))return o;const i=e(o);if(typeof i<"u")return i;if(Array.isArray(o)){const n=[];for(const s of o)n.push(gD(s,e,t));return n}if(ns(o)){if(t.has(o))throw new Error("Cannot clone recursive data-structure");t.add(o);const n={};for(const s in o)iF.call(o,s)&&(n[s]=gD(o[s],e,t));return t.delete(o),n}return o}function eb(o,e,t=!0){return ns(o)?(ns(e)&&Object.keys(e).forEach(i=>{i in o?t&&(ns(o[i])&&ns(e[i])?eb(o[i],e[i],t):o[i]=e[i]):o[i]=e[i]}),o):e}function zs(o,e){if(o===e)return!0;if(o==null||e===null||e===void 0||typeof o!=typeof e||typeof o!="object"||Array.isArray(o)!==Array.isArray(e))return!1;let t,i;if(Array.isArray(o)){if(o.length!==e.length)return!1;for(t=0;tfunction(){const s=Array.prototype.slice.call(arguments,0);return e(n,s)},i={};for(const n of o)i[n]=t(n);return i}const Cn={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}},Zl=8;class sF{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class oF{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class ii{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return H1(e,t)}compute(e,t,i){return i}}class Jp{constructor(e,t){this.newValue=e,this.didChange=t}}function H1(o,e){if(typeof o!="object"||typeof e!="object"||!o||!e)return new Jp(e,o!==e);if(Array.isArray(o)||Array.isArray(e)){const i=Array.isArray(o)&&Array.isArray(e)&&un(o,e);return new Jp(e,!i)}let t=!1;for(const i in e)if(e.hasOwnProperty(i)){const n=H1(o[i],e[i]);n.didChange&&(o[i]=n.newValue,t=!0)}return new Jp(o,t)}class tb{constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0}applyUpdate(e,t){return H1(e,t)}validate(e){return this.defaultValue}}class Tf{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return H1(e,t)}validate(e){return typeof e>"u"?this.defaultValue:e}compute(e,t,i){return i}}function ye(o,e){return typeof o>"u"?e:o==="false"?!1:!!o}class rt extends Tf{constructor(e,t,i,n=void 0){typeof n<"u"&&(n.type="boolean",n.default=i),super(e,t,i,n)}validate(e){return ye(e,this.defaultValue)}}function fD(o,e,t,i){if(typeof o>"u")return e;let n=parseInt(o,10);return isNaN(n)?e:(n=Math.max(t,n),n=Math.min(i,n),n|0)}class Lt extends Tf{static clampedInt(e,t,i,n){return fD(e,t,i,n)}constructor(e,t,i,n,s,r=void 0){typeof r<"u"&&(r.type="integer",r.default=i,r.minimum=n,r.maximum=s),super(e,t,i,r),this.minimum=n,this.maximum=s}validate(e){return Lt.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}class ra extends Tf{static clamp(e,t,i){return ei?i:e}static float(e,t){if(typeof e=="number")return e;if(typeof e>"u")return t;const i=parseFloat(e);return isNaN(i)?t:i}constructor(e,t,i,n,s){typeof s<"u"&&(s.type="number",s.default=i),super(e,t,i,s),this.validationFn=n}validate(e){return this.validationFn(ra.float(e,this.defaultValue))}}class us extends Tf{static string(e,t){return typeof e!="string"?t:e}constructor(e,t,i,n=void 0){typeof n<"u"&&(n.type="string",n.default=i),super(e,t,i,n)}validate(e){return us.string(e,this.defaultValue)}}function Si(o,e,t){return typeof o!="string"||t.indexOf(o)===-1?e:o}class ci extends Tf{constructor(e,t,i,n,s=void 0){typeof s<"u"&&(s.type="string",s.enum=n,s.default=i),super(e,t,i,s),this._allowedValues=n}validate(e){return Si(e,this.defaultValue,this._allowedValues)}}class Gb extends ii{constructor(e,t,i,n,s,r,a=void 0){typeof a<"u"&&(a.type="string",a.enum=s,a.default=n),super(e,t,i,a),this._allowedValues=s,this._convert=r}validate(e){return typeof e!="string"?this.defaultValue:this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}}function TW(o){switch(o){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class NW extends ii{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[f("accessibilitySupport.auto","Use platform APIs to detect when a Screen Reader is attached"),f("accessibilitySupport.on","Optimize for usage with a Screen Reader"),f("accessibilitySupport.off","Assume a screen reader is not attached")],default:"auto",tags:["accessibility"],description:f("accessibilitySupport","Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,i){return i===0?e.accessibilitySupport:i}}class MW extends ii{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(21,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:f("comments.insertSpace","Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:f("comments.ignoreEmptyLines","Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertSpace:ye(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:ye(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function AW(o){switch(o){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var Yi;(function(o){o[o.Line=1]="Line",o[o.Block=2]="Block",o[o.Underline=3]="Underline",o[o.LineThin=4]="LineThin",o[o.BlockOutline=5]="BlockOutline",o[o.UnderlineThin=6]="UnderlineThin"})(Yi||(Yi={}));function RW(o){switch(o){case"line":return Yi.Line;case"block":return Yi.Block;case"underline":return Yi.Underline;case"line-thin":return Yi.LineThin;case"block-outline":return Yi.BlockOutline;case"underline-thin":return Yi.UnderlineThin}}class PW extends tb{constructor(){super(136)}compute(e,t,i){const n=["monaco-editor"];return t.get(37)&&n.push(t.get(37)),e.extraEditorClassName&&n.push(e.extraEditorClassName),t.get(71)==="default"?n.push("mouse-default"):t.get(71)==="copy"&&n.push("mouse-copy"),t.get(106)&&n.push("showUnused"),t.get(134)&&n.push("showDeprecated"),n.join(" ")}}class OW extends rt{constructor(){super(35,"emptySelectionClipboard",!0,{description:f("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})}compute(e,t,i){return i&&e.emptySelectionClipboard}}class FW extends ii{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(39,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:f("find.cursorMoveOnType","Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[f("editor.find.seedSearchStringFromSelection.never","Never seed search string from the editor selection."),f("editor.find.seedSearchStringFromSelection.always","Always seed search string from the editor selection, including word at cursor position."),f("editor.find.seedSearchStringFromSelection.selection","Only seed search string from the editor selection.")],description:f("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:e.autoFindInSelection,enumDescriptions:[f("editor.find.autoFindInSelection.never","Never turn on Find in Selection automatically (default)."),f("editor.find.autoFindInSelection.always","Always turn on Find in Selection automatically."),f("editor.find.autoFindInSelection.multiline","Turn on Find in Selection automatically when multiple lines of content are selected.")],description:f("find.autoFindInSelection","Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:f("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:qe},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:f("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:e.loop,description:f("find.loop","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{cursorMoveOnType:ye(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof e.seedSearchStringFromSelection=="boolean"?e.seedSearchStringFromSelection?"always":"never":Si(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof e.autoFindInSelection=="boolean"?e.autoFindInSelection?"always":"never":Si(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:ye(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:ye(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:ye(t.loop,this.defaultValue.loop)}}}class Ps extends ii{constructor(){super(49,"fontLigatures",Ps.OFF,{anyOf:[{type:"boolean",description:f("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:f("fontFeatureSettings","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:f("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(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"?Ps.OFF:e==="true"?Ps.ON:e:e?Ps.ON:Ps.OFF}}Ps.OFF='"liga" off, "calt" off';Ps.ON='"liga" on, "calt" on';class ur extends ii{constructor(){super(52,"fontVariations",ur.OFF,{anyOf:[{type:"boolean",description:f("fontVariations","Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:f("fontVariationSettings","Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:f("fontVariationsGeneral","Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"?ur.OFF:e==="true"?ur.TRANSLATE:e:e?ur.TRANSLATE:ur.OFF}compute(e,t,i){return e.fontInfo.fontVariationSettings}}ur.OFF="normal";ur.TRANSLATE="translate";class BW extends tb{constructor(){super(48)}compute(e,t,i){return e.fontInfo}}class WW extends Tf{constructor(){super(50,"fontSize",vs.fontSize,{type:"number",minimum:6,maximum:100,default:vs.fontSize,description:f("fontSize","Controls the font size in pixels.")})}validate(e){const t=ra.float(e,this.defaultValue);return t===0?vs.fontSize:ra.clamp(t,6,100)}compute(e,t,i){return e.fontInfo.fontSize}}class Qr extends ii{constructor(){super(51,"fontWeight",vs.fontWeight,{anyOf:[{type:"number",minimum:Qr.MINIMUM_VALUE,maximum:Qr.MAXIMUM_VALUE,errorMessage:f("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:Qr.SUGGESTION_VALUES}],default:vs.fontWeight,description:f("fontWeight",'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return e==="normal"||e==="bold"?e:String(Lt.clampedInt(e,vs.fontWeight,Qr.MINIMUM_VALUE,Qr.MAXIMUM_VALUE))}}Qr.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"];Qr.MINIMUM_VALUE=1;Qr.MAXIMUM_VALUE=1e3;class VW extends ii{constructor(){const e={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:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[f("editor.gotoLocation.multiple.peek","Show Peek view of the results (default)"),f("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a Peek view"),f("editor.gotoLocation.multiple.goto","Go to the primary result and enable Peek-less navigation to others")]},i=["","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(56,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:f("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:f("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleTypeDefinitions":Object.assign({description:f("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleDeclarations":Object.assign({description:f("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleImplementations":Object.assign({description:f("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleReferences":Object.assign({description:f("editor.editor.gotoLocation.multipleReferences","Controls the behavior the 'Go to References'-command when multiple target locations exist.")},t),"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:i,description:f("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:e.alternativeTypeDefinitionCommand,enum:i,description:f("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:e.alternativeDeclarationCommand,enum:i,description:f("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:e.alternativeImplementationCommand,enum:i,description:f("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:e.alternativeReferenceCommand,enum:i,description:f("alternativeReferenceCommand","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){var t,i,n,s,r;if(!e||typeof e!="object")return this.defaultValue;const a=e;return{multiple:Si(a.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:(t=a.multipleDefinitions)!==null&&t!==void 0?t:Si(a.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:(i=a.multipleTypeDefinitions)!==null&&i!==void 0?i:Si(a.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:(n=a.multipleDeclarations)!==null&&n!==void 0?n:Si(a.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:(s=a.multipleImplementations)!==null&&s!==void 0?s:Si(a.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:(r=a.multipleReferences)!==null&&r!==void 0?r:Si(a.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:us.string(a.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:us.string(a.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:us.string(a.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:us.string(a.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:us.string(a.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}class HW extends ii{constructor(){const e={enabled:!0,delay:300,sticky:!0,above:!0};super(58,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:f("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:f("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:f("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.above":{type:"boolean",default:e.above,description:f("hover.above","Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:ye(t.enabled,this.defaultValue.enabled),delay:Lt.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:ye(t.sticky,this.defaultValue.sticky),above:ye(t.above,this.defaultValue.above)}}}class _g extends tb{constructor(){super(139)}compute(e,t,i){return _g.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,i=Math.floor(e.paddingTop/e.lineHeight);let n=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(n=Math.max(n,t-1));const s=(i+e.viewLineCount+n)/(e.pixelRatio*e.height),r=Math.floor(e.viewLineCount/s);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:i,extraLinesBeyondLastLine:n,desiredRatio:s,minimapLineCount:r}}static _computeMinimapLayout(e,t){const i=e.outerWidth,n=e.outerHeight,s=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(s*n),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:n};const r=t.stableMinimapLayoutInput,a=r&&e.outerHeight===r.outerHeight&&e.lineHeight===r.lineHeight&&e.typicalHalfwidthCharacterWidth===r.typicalHalfwidthCharacterWidth&&e.pixelRatio===r.pixelRatio&&e.scrollBeyondLastLine===r.scrollBeyondLastLine&&e.paddingTop===r.paddingTop&&e.paddingBottom===r.paddingBottom&&e.minimap.enabled===r.minimap.enabled&&e.minimap.side===r.minimap.side&&e.minimap.size===r.minimap.size&&e.minimap.showSlider===r.minimap.showSlider&&e.minimap.renderCharacters===r.minimap.renderCharacters&&e.minimap.maxColumn===r.minimap.maxColumn&&e.minimap.scale===r.minimap.scale&&e.verticalScrollbarWidth===r.verticalScrollbarWidth&&e.isViewportWrapping===r.isViewportWrapping,l=e.lineHeight,c=e.typicalHalfwidthCharacterWidth,d=e.scrollBeyondLastLine,h=e.minimap.renderCharacters;let u=s>=2?Math.round(e.minimap.scale*2):e.minimap.scale;const g=e.minimap.maxColumn,p=e.minimap.size,m=e.minimap.side,_=e.verticalScrollbarWidth,v=e.viewLineCount,b=e.remainingWidth,C=e.isViewportWrapping,w=h?2:3;let L=Math.floor(s*n);const E=L/s;let D=!1,x=!1,k=w*u,O=u/s,R=1;if(p==="fill"||p==="fit"){const{typicalViewportLineCount:ze,extraLinesBeforeFirstLine:ke,extraLinesBeyondLastLine:Je,desiredRatio:Xe,minimapLineCount:me}=_g.computeContainedMinimapLineCount({viewLineCount:v,scrollBeyondLastLine:d,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:n,lineHeight:l,pixelRatio:s});if(v/me>1)D=!0,x=!0,u=1,k=1,O=u/s;else{let yt=!1,Ds=u+1;if(p==="fit"){const $i=Math.ceil((ke+v+Je)*k);C&&a&&b<=t.stableFitRemainingWidth?(yt=!0,Ds=t.stableFitMaxMinimapScale):yt=$i>L}if(p==="fill"||yt){D=!0;const $i=u;k=Math.min(l*s,Math.max(1,Math.floor(1/Xe))),C&&a&&b<=t.stableFitRemainingWidth&&(Ds=t.stableFitMaxMinimapScale),u=Math.min(Ds,Math.max(1,Math.floor(k/w))),u>$i&&(R=Math.min(2,u/$i)),O=u/s/R,L=Math.ceil(Math.max(ze,ke+v+Je)*k),C?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=b,t.stableFitMaxMinimapScale=u):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const F=Math.floor(g*O),z=Math.min(F,Math.max(0,Math.floor((b-_-2)*O/(c+O)))+Zl);let ne=Math.floor(s*z);const ge=ne/s;ne=Math.floor(ne*R);const De=h?1:2,Re=m==="left"?0:i-z-_;return{renderMinimap:De,minimapLeft:Re,minimapWidth:z,minimapHeightIsEditorHeight:D,minimapIsSampling:x,minimapScale:u,minimapLineHeight:k,minimapCanvasInnerWidth:ne,minimapCanvasInnerHeight:L,minimapCanvasOuterWidth:ge,minimapCanvasOuterHeight:E}}static computeLayout(e,t){const i=t.outerWidth|0,n=t.outerHeight|0,s=t.lineHeight|0,r=t.lineNumbersDigitCount|0,a=t.typicalHalfwidthCharacterWidth,l=t.maxDigitWidth,c=t.pixelRatio,d=t.viewLineCount,h=e.get(131),u=h==="inherit"?e.get(130):h,g=u==="inherit"?e.get(126):u,p=e.get(129),m=t.isDominatedByLongLines,_=e.get(55),v=e.get(65).renderType!==0,b=e.get(66),C=e.get(100),w=e.get(81),L=e.get(70),E=e.get(98),D=E.verticalScrollbarSize,x=E.verticalHasArrows,k=E.arrowSize,O=E.horizontalScrollbarSize,R=e.get(41),F=e.get(105)!=="never";let z=e.get(63);R&&F&&(z+=16);let ne=0;if(v){const Wl=Math.max(r,b);ne=Math.round(Wl*l)}let ge=0;_&&(ge=s);let De=0,Re=De+ge,ze=Re+ne,ke=ze+z;const Je=i-ge-ne-z;let Xe=!1,me=!1,we=-1;u==="inherit"&&m?(Xe=!0,me=!0):g==="on"||g==="bounded"?me=!0:g==="wordWrapColumn"&&(we=p);const yt=_g._computeMinimapLayout({outerWidth:i,outerHeight:n,lineHeight:s,typicalHalfwidthCharacterWidth:a,pixelRatio:c,scrollBeyondLastLine:C,paddingTop:w.top,paddingBottom:w.bottom,minimap:L,verticalScrollbarWidth:D,viewLineCount:d,remainingWidth:Je,isViewportWrapping:me},t.memory||new oF);yt.renderMinimap!==0&&yt.minimapLeft===0&&(De+=yt.minimapWidth,Re+=yt.minimapWidth,ze+=yt.minimapWidth,ke+=yt.minimapWidth);const Ds=Je-yt.minimapWidth,$i=Math.max(1,Math.floor((Ds-D-2)/a)),Qo=x?k:0;return me&&(we=Math.max(1,$i),g==="bounded"&&(we=Math.min(we,p))),{width:i,height:n,glyphMarginLeft:De,glyphMarginWidth:ge,lineNumbersLeft:Re,lineNumbersWidth:ne,decorationsLeft:ze,decorationsWidth:z,contentLeft:ke,contentWidth:Ds,minimap:yt,viewportColumn:$i,isWordWrapMinified:Xe,isViewportWrapping:me,wrappingColumn:we,verticalScrollbarWidth:D,horizontalScrollbarHeight:O,overviewRuler:{top:Qo,width:D,height:n-2*Qo,right:0}}}}class zW extends ii{constructor(){super(133,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[f("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."),f("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.")],type:"string",enum:["simple","advanced"],default:"simple",description:f("wrappingStrategy","Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return Si(e,"simple",["simple","advanced"])}compute(e,t,i){return t.get(2)===2?"advanced":i}}class UW extends ii{constructor(){const e={enabled:!0};super(62,"lightbulb",e,{"editor.lightbulb.enabled":{type:"boolean",default:e.enabled,description:f("codeActions","Enables the Code Action lightbulb in the editor.")}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{enabled:ye(e.enabled,this.defaultValue.enabled)}}}class $W extends ii{constructor(){const e={enabled:!1,maxLineCount:5,defaultModel:"outlineModel"};super(110,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:f("editor.stickyScroll.enabled","Shows the nested current scopes during the scroll at the top of the editor.")},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:10,description:f("editor.stickyScroll.maxLineCount","Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:f("editor.stickyScroll.defaultModel","Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:ye(t.enabled,this.defaultValue.enabled),maxLineCount:Lt.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,10),defaultModel:Si(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"])}}}class jW extends ii{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(135,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:f("inlayHints.enable","Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[f("editor.inlayHints.on","Inlay hints are enabled"),f("editor.inlayHints.onUnlessPressed","Inlay hints are showing by default and hide when holding {0}",qe?"Ctrl+Option":"Ctrl+Alt"),f("editor.inlayHints.offUnlessPressed","Inlay hints are hidden by default and show when holding {0}",qe?"Ctrl+Option":"Ctrl+Alt"),f("editor.inlayHints.off","Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:f("inlayHints.fontSize","Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:e.fontFamily,markdownDescription:f("inlayHints.fontFamily","Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:e.padding,description:f("inlayHints.padding","Enables the padding around the inlay hints in the editor.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return typeof t.enabled=="boolean"&&(t.enabled=t.enabled?"on":"off"),{enabled:Si(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:Lt.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:us.string(t.fontFamily,this.defaultValue.fontFamily),padding:ye(t.padding,this.defaultValue.padding)}}}class KW extends ii{constructor(){super(63,"lineDecorationsWidth",10)}validate(e){return typeof e=="string"&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):Lt.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,i){return i<0?Lt.clampedInt(-i*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):i}}class qW extends ra{constructor(){super(64,"lineHeight",vs.lineHeight,e=>ra.clamp(e,0,150),{markdownDescription:f("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(e,t,i){return e.fontInfo.lineHeight}}class GW extends ii{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1};super(70,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:f("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:e.autohide,description:f("minimap.autohide","Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[f("minimap.size.proportional","The minimap has the same size as the editor contents (and might scroll)."),f("minimap.size.fill","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),f("minimap.size.fit","The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:f("minimap.size","Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:f("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:f("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:f("minimap.scale","Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:f("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:f("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:ye(t.enabled,this.defaultValue.enabled),autohide:ye(t.autohide,this.defaultValue.autohide),size:Si(t.size,this.defaultValue.size,["proportional","fill","fit"]),side:Si(t.side,this.defaultValue.side,["right","left"]),showSlider:Si(t.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:ye(t.renderCharacters,this.defaultValue.renderCharacters),scale:Lt.clampedInt(t.scale,1,1,3),maxColumn:Lt.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4)}}}function ZW(o){return o==="ctrlCmd"?qe?"metaKey":"ctrlKey":"altKey"}class YW extends ii{constructor(){super(81,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:f("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:f("padding.bottom","Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{top:Lt.clampedInt(t.top,0,0,1e3),bottom:Lt.clampedInt(t.bottom,0,0,1e3)}}}class XW extends ii{constructor(){const e={enabled:!0,cycle:!0};super(82,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:f("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:f("parameterHints.cycle","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:ye(t.enabled,this.defaultValue.enabled),cycle:ye(t.cycle,this.defaultValue.cycle)}}}class QW extends tb{constructor(){super(137)}compute(e,t,i){return e.pixelRatio}}class JW extends ii{constructor(){const e={other:"on",comments:"off",strings:"off"},t=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[f("on","Quick suggestions show inside the suggest widget"),f("inline","Quick suggestions show as ghost text"),f("off","Quick suggestions are disabled")]}];super(85,"quickSuggestions",e,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:f("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{anyOf:t,default:e.comments,description:f("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{anyOf:t,default:e.other,description:f("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}},default:e,markdownDescription:f("quickSuggestions","Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the '{0}'-setting which controls if suggestions are triggered by special characters.","#editor.suggestOnTriggerCharacters#")}),this.defaultValue=e}validate(e){if(typeof e=="boolean"){const c=e?"on":"off";return{comments:c,strings:c,other:c}}if(!e||typeof e!="object")return this.defaultValue;const{other:t,comments:i,strings:n}=e,s=["on","inline","off"];let r,a,l;return typeof t=="boolean"?r=t?"on":"off":r=Si(t,this.defaultValue.other,s),typeof i=="boolean"?a=i?"on":"off":a=Si(i,this.defaultValue.comments,s),typeof n=="boolean"?l=n?"on":"off":l=Si(n,this.defaultValue.strings,s),{other:r,comments:a,strings:l}}}class eV extends ii{constructor(){super(65,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[f("lineNumbers.off","Line numbers are not rendered."),f("lineNumbers.on","Line numbers are rendered as absolute number."),f("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),f("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:f("lineNumbers","Controls the display of line numbers.")})}validate(e){let t=this.defaultValue.renderType,i=this.defaultValue.renderFn;return typeof e<"u"&&(typeof e=="function"?(t=4,i=e):e==="interval"?t=3:e==="relative"?t=2:e==="on"?t=1:t=0),{renderType:t,renderFn:i}}}function Yv(o){const e=o.get(93);return e==="editable"?o.get(87):e!=="on"}class tV extends ii{constructor(){const e=[],t={type:"number",description:f("rulers.size","Number of monospace characters at which this editor ruler will render.")};super(97,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:f("rulers.color","Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:f("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(e){if(Array.isArray(e)){const t=[];for(const i of e)if(typeof i=="number")t.push({column:Lt.clampedInt(i,0,0,1e4),color:null});else if(i&&typeof i=="object"){const n=i;t.push({column:Lt.clampedInt(n.column,0,0,1e4),color:n.color})}return t.sort((i,n)=>i.column-n.column),t}return this.defaultValue}}function hM(o,e){if(typeof o!="string")return e;switch(o){case"hidden":return 2;case"visible":return 3;default:return 1}}let iV=class extends ii{constructor(){const e={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(98,"scrollbar",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[f("scrollbar.vertical.auto","The vertical scrollbar will be visible only when necessary."),f("scrollbar.vertical.visible","The vertical scrollbar will always be visible."),f("scrollbar.vertical.fit","The vertical scrollbar will always be hidden.")],default:"auto",description:f("scrollbar.vertical","Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[f("scrollbar.horizontal.auto","The horizontal scrollbar will be visible only when necessary."),f("scrollbar.horizontal.visible","The horizontal scrollbar will always be visible."),f("scrollbar.horizontal.fit","The horizontal scrollbar will always be hidden.")],default:"auto",description:f("scrollbar.horizontal","Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:f("scrollbar.verticalScrollbarSize","The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:f("scrollbar.horizontalScrollbarSize","The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:f("scrollbar.scrollByPage","Controls whether clicks scroll by page or jump to click position.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e,i=Lt.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),n=Lt.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:Lt.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:hM(t.vertical,this.defaultValue.vertical),horizontal:hM(t.horizontal,this.defaultValue.horizontal),useShadows:ye(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:ye(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:ye(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:ye(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:ye(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:i,horizontalSliderSize:Lt.clampedInt(t.horizontalSliderSize,i,0,1e3),verticalScrollbarSize:n,verticalSliderSize:Lt.clampedInt(t.verticalSliderSize,n,0,1e3),scrollByPage:ye(t.scrollByPage,this.defaultValue.scrollByPage)}}};const Ts="inUntrustedWorkspace",es={allowedCharacters:"editor.unicodeHighlight.allowedCharacters",invisibleCharacters:"editor.unicodeHighlight.invisibleCharacters",nonBasicASCII:"editor.unicodeHighlight.nonBasicASCII",ambiguousCharacters:"editor.unicodeHighlight.ambiguousCharacters",includeComments:"editor.unicodeHighlight.includeComments",includeStrings:"editor.unicodeHighlight.includeStrings",allowedLocales:"editor.unicodeHighlight.allowedLocales"};class nV extends ii{constructor(){const e={nonBasicASCII:Ts,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Ts,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(120,"unicodeHighlight",e,{[es.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Ts],default:e.nonBasicASCII,description:f("unicodeHighlight.nonBasicASCII","Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[es.invisibleCharacters]:{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:f("unicodeHighlight.invisibleCharacters","Controls whether characters that just reserve space or have no width at all are highlighted.")},[es.ambiguousCharacters]:{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:f("unicodeHighlight.ambiguousCharacters","Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[es.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Ts],default:e.includeComments,description:f("unicodeHighlight.includeComments","Controls whether characters in comments should also be subject to Unicode highlighting.")},[es.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Ts],default:e.includeStrings,description:f("unicodeHighlight.includeStrings","Controls whether characters in strings should also be subject to Unicode highlighting.")},[es.allowedCharacters]:{restricted:!0,type:"object",default:e.allowedCharacters,description:f("unicodeHighlight.allowedCharacters","Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[es.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:f("unicodeHighlight.allowedLocales","Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let i=!1;t.allowedCharacters&&e&&(zs(e.allowedCharacters,t.allowedCharacters)||(e=Object.assign(Object.assign({},e),{allowedCharacters:t.allowedCharacters}),i=!0)),t.allowedLocales&&e&&(zs(e.allowedLocales,t.allowedLocales)||(e=Object.assign(Object.assign({},e),{allowedLocales:t.allowedLocales}),i=!0));const n=super.applyUpdate(e,t);return i?new Jp(n.newValue,!0):n}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{nonBasicASCII:bg(t.nonBasicASCII,Ts,[!0,!1,Ts]),invisibleCharacters:ye(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:ye(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:bg(t.includeComments,Ts,[!0,!1,Ts]),includeStrings:bg(t.includeStrings,Ts,[!0,!1,Ts]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if(typeof e!="object"||!e)return t;const i={};for(const[n,s]of Object.entries(e))s===!0&&(i[n]=!0);return i}}class sV extends ii{constructor(){const e={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1};super(60,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:f("inlineSuggest.enabled","Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover"],enumDescriptions:[f("inlineSuggest.showToolbar.always","Show the inline suggestion toolbar whenever an inline suggestion is shown."),f("inlineSuggest.showToolbar.onHover","Show the inline suggestion toolbar when hovering over an inline suggestion.")],description:f("inlineSuggest.showToolbar","Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:e.suppressSuggestions,description:f("inlineSuggest.suppressSuggestions","Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:ye(t.enabled,this.defaultValue.enabled),mode:Si(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:Si(t.showToolbar,this.defaultValue.showToolbar,["always","onHover"]),suppressSuggestions:ye(t.suppressSuggestions,this.defaultValue.suppressSuggestions)}}}class oV extends ii{constructor(){const e={enabled:Cn.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:Cn.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(13,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,markdownDescription:f("bracketPairColorization.enabled","Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:e.independentColorPoolPerBracketType,description:f("bracketPairColorization.independentColorPoolPerBracketType","Controls whether each bracket type has its own independent color pool.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:ye(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:ye(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}class rV extends ii{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(14,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[f("editor.guides.bracketPairs.true","Enables bracket pair guides."),f("editor.guides.bracketPairs.active","Enables bracket pair guides only for the active bracket pair."),f("editor.guides.bracketPairs.false","Disables bracket pair guides.")],default:e.bracketPairs,description:f("editor.guides.bracketPairs","Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[f("editor.guides.bracketPairsHorizontal.true","Enables horizontal guides as addition to vertical bracket pair guides."),f("editor.guides.bracketPairsHorizontal.active","Enables horizontal guides only for the active bracket pair."),f("editor.guides.bracketPairsHorizontal.false","Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:f("editor.guides.bracketPairsHorizontal","Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:f("editor.guides.highlightActiveBracketPair","Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:f("editor.guides.indentation","Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[f("editor.guides.highlightActiveIndentation.true","Highlights the active indent guide."),f("editor.guides.highlightActiveIndentation.always","Highlights the active indent guide even if bracket guides are highlighted."),f("editor.guides.highlightActiveIndentation.false","Do not highlight the active indent guide.")],default:e.highlightActiveIndentation,description:f("editor.guides.highlightActiveIndentation","Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{bracketPairs:bg(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:bg(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:ye(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:ye(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:bg(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}function bg(o,e,t){const i=t.indexOf(o);return i===-1?e:t[i]}class aV extends ii{constructor(){const e={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!0,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!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(113,"suggest",e,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[f("suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),f("suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:e.insertMode,description:f("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:e.filterGraceful,description:f("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:e.localityBonus,description:f("suggest.localityBonus","Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:e.shareSuggestSelections,markdownDescription:f("suggest.shareSuggestSelections","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[f("suggest.insertMode.always","Always select a suggestion when automatically triggering IntelliSense."),f("suggest.insertMode.never","Never select a suggestion when automatically triggering IntelliSense."),f("suggest.insertMode.whenTriggerCharacter","Select a suggestion only when triggering IntelliSense from a trigger character."),f("suggest.insertMode.whenQuickSuggestion","Select a suggestion only when triggering IntelliSense as you type.")],default:e.selectionMode,markdownDescription:f("suggest.selectionMode","Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions (`#editor.quickSuggestions#` and `#editor.suggestOnTriggerCharacters#`) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:e.snippetsPreventQuickSuggestions,description:f("suggest.snippetsPreventQuickSuggestions","Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:e.showIcons,description:f("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:e.showStatusBar,description:f("suggest.showStatusBar","Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:e.preview,description:f("suggest.preview","Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:e.showInlineDetails,description:f("suggest.showInlineDetails","Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:f("suggest.maxVisibleSuggestions.dep","This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:f("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:f("editor.suggest.showMethods","When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showFunctions","When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showConstructors","When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showDeprecated","When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.matchOnWordStartOnly","When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showFields","When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showVariables","When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showClasss","When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showStructs","When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showInterfaces","When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showModules","When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showPropertys","When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showEvents","When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showOperators","When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showUnits","When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showValues","When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showConstants","When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showEnums","When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showEnumMembers","When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showKeywords","When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showTexts","When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showColors","When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showFiles","When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showReferences","When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showCustomcolors","When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showFolders","When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showTypeParameters","When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showSnippets","When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showUsers","When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:f("editor.suggest.showIssues","When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertMode:Si(t.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:ye(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:ye(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:ye(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:ye(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:Si(t.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:ye(t.showIcons,this.defaultValue.showIcons),showStatusBar:ye(t.showStatusBar,this.defaultValue.showStatusBar),preview:ye(t.preview,this.defaultValue.preview),previewMode:Si(t.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:ye(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:ye(t.showMethods,this.defaultValue.showMethods),showFunctions:ye(t.showFunctions,this.defaultValue.showFunctions),showConstructors:ye(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:ye(t.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:ye(t.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:ye(t.showFields,this.defaultValue.showFields),showVariables:ye(t.showVariables,this.defaultValue.showVariables),showClasses:ye(t.showClasses,this.defaultValue.showClasses),showStructs:ye(t.showStructs,this.defaultValue.showStructs),showInterfaces:ye(t.showInterfaces,this.defaultValue.showInterfaces),showModules:ye(t.showModules,this.defaultValue.showModules),showProperties:ye(t.showProperties,this.defaultValue.showProperties),showEvents:ye(t.showEvents,this.defaultValue.showEvents),showOperators:ye(t.showOperators,this.defaultValue.showOperators),showUnits:ye(t.showUnits,this.defaultValue.showUnits),showValues:ye(t.showValues,this.defaultValue.showValues),showConstants:ye(t.showConstants,this.defaultValue.showConstants),showEnums:ye(t.showEnums,this.defaultValue.showEnums),showEnumMembers:ye(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:ye(t.showKeywords,this.defaultValue.showKeywords),showWords:ye(t.showWords,this.defaultValue.showWords),showColors:ye(t.showColors,this.defaultValue.showColors),showFiles:ye(t.showFiles,this.defaultValue.showFiles),showReferences:ye(t.showReferences,this.defaultValue.showReferences),showFolders:ye(t.showFolders,this.defaultValue.showFolders),showTypeParameters:ye(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:ye(t.showSnippets,this.defaultValue.showSnippets),showUsers:ye(t.showUsers,this.defaultValue.showUsers),showIssues:ye(t.showIssues,this.defaultValue.showIssues)}}}class lV extends ii{constructor(){super(108,"smartSelect",{selectLeadingAndTrailingWhitespace:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:f("selectLeadingAndTrailingWhitespace","Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:ye(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace)}}}class cV extends ii{constructor(){super(132,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[f("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),f("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),f("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),f("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],description:f("wrappingIndent","Controls the indentation of wrapped lines."),default:"same"}})}validate(e){switch(e){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(e,t,i){return t.get(2)===2?0:i}}class dV extends tb{constructor(){super(140)}compute(e,t,i){const n=t.get(139);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:n.isWordWrapMinified,isViewportWrapping:n.isViewportWrapping,wrappingColumn:n.wrappingColumn}}}class hV extends ii{constructor(){const e={enabled:!0};super(34,"dropIntoEditor",e,{"editor.dropIntoEditor.enabled":{type:"boolean",default:e.enabled,markdownDescription:f("dropIntoEditor.enabled","Controls whether you can drag and drop a file into a text editor by holding down `shift` (instead of opening the file in an editor).")}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{enabled:ye(e.enabled,this.defaultValue.enabled)}}}const uV="Consolas, 'Courier New', monospace",gV="Menlo, Monaco, 'Courier New', monospace",fV="'Droid Sans Mono', 'monospace', monospace",vs={fontFamily:qe?gV:fn?fV:uV,fontWeight:"normal",fontSize:qe?12:14,lineHeight:0,letterSpacing:0},qu=[];function te(o){return qu[o.id]=o,o}const Nr={acceptSuggestionOnCommitCharacter:te(new rt(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:f("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:te(new ci(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",f("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:f("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:te(new NW),accessibilityPageSize:te(new Lt(3,"accessibilityPageSize",10,1,1073741824,{description:f("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."),tags:["accessibility"]})),ariaLabel:te(new us(4,"ariaLabel",f("editorViewAccessibleLabel","Editor content"))),screenReaderAnnounceInlineSuggestion:te(new rt(6,"screenReaderAnnounceInlineSuggestion",!1,{description:f("screenReaderAnnounceInlineSuggestion","Control whether inline suggestions are announced by a screen reader. Note that this does not work on macOS with VoiceOver."),tags:["accessibility"]})),autoClosingBrackets:te(new ci(5,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",f("editor.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),f("editor.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],description:f("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingDelete:te(new ci(7,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",f("editor.autoClosingDelete.auto","Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:f("autoClosingDelete","Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:te(new ci(8,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",f("editor.autoClosingOvertype.auto","Type over closing quotes or brackets only if they were automatically inserted."),""],description:f("autoClosingOvertype","Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:te(new ci(9,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",f("editor.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),f("editor.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],description:f("autoClosingQuotes","Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:te(new Gb(10,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],TW,{enumDescriptions:[f("editor.autoIndent.none","The editor will not insert indentation automatically."),f("editor.autoIndent.keep","The editor will keep the current line's indentation."),f("editor.autoIndent.brackets","The editor will keep the current line's indentation and honor language defined brackets."),f("editor.autoIndent.advanced","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),f("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:f("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:te(new rt(11,"automaticLayout",!1)),autoSurround:te(new ci(12,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[f("editor.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),f("editor.autoSurround.quotes","Surround with quotes but not brackets."),f("editor.autoSurround.brackets","Surround with brackets but not quotes."),""],description:f("autoSurround","Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:te(new oV),bracketPairGuides:te(new rV),stickyTabStops:te(new rt(111,"stickyTabStops",!1,{description:f("stickyTabStops","Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:te(new rt(15,"codeLens",!0,{description:f("codeLens","Controls whether the editor shows CodeLens.")})),codeLensFontFamily:te(new us(16,"codeLensFontFamily","",{description:f("codeLensFontFamily","Controls the font family for CodeLens.")})),codeLensFontSize:te(new Lt(17,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:f("codeLensFontSize","Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:te(new rt(18,"colorDecorators",!0,{description:f("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorsLimit:te(new Lt(19,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:f("colorDecoratorsLimit","Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:te(new rt(20,"columnSelection",!1,{description:f("columnSelection","Enable that the selection with the mouse and keys is doing column selection.")})),comments:te(new MW),contextmenu:te(new rt(22,"contextmenu",!0)),copyWithSyntaxHighlighting:te(new rt(23,"copyWithSyntaxHighlighting",!0,{description:f("copyWithSyntaxHighlighting","Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:te(new Gb(24,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],AW,{description:f("cursorBlinking","Control the cursor animation style.")})),cursorSmoothCaretAnimation:te(new ci(25,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[f("cursorSmoothCaretAnimation.off","Smooth caret animation is disabled."),f("cursorSmoothCaretAnimation.explicit","Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),f("cursorSmoothCaretAnimation.on","Smooth caret animation is always enabled.")],description:f("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")})),cursorStyle:te(new Gb(26,"cursorStyle",Yi.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],RW,{description:f("cursorStyle","Controls the cursor style.")})),cursorSurroundingLines:te(new Lt(27,"cursorSurroundingLines",0,0,1073741824,{description:f("cursorSurroundingLines","Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:te(new ci(28,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[f("cursorSurroundingLinesStyle.default","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),f("cursorSurroundingLinesStyle.all","`cursorSurroundingLines` is enforced always.")],description:f("cursorSurroundingLinesStyle","Controls when `cursorSurroundingLines` should be enforced.")})),cursorWidth:te(new Lt(29,"cursorWidth",0,0,1073741824,{markdownDescription:f("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:te(new rt(30,"disableLayerHinting",!1)),disableMonospaceOptimizations:te(new rt(31,"disableMonospaceOptimizations",!1)),domReadOnly:te(new rt(32,"domReadOnly",!1)),dragAndDrop:te(new rt(33,"dragAndDrop",!0,{description:f("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:te(new OW),dropIntoEditor:te(new hV),stickyScroll:te(new $W),experimentalWhitespaceRendering:te(new ci(36,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[f("experimentalWhitespaceRendering.svg","Use a new rendering method with svgs."),f("experimentalWhitespaceRendering.font","Use a new rendering method with font characters."),f("experimentalWhitespaceRendering.off","Use the stable rendering method.")],description:f("experimentalWhitespaceRendering","Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:te(new us(37,"extraEditorClassName","")),fastScrollSensitivity:te(new ra(38,"fastScrollSensitivity",5,o=>o<=0?5:o,{markdownDescription:f("fastScrollSensitivity","Scrolling speed multiplier when pressing `Alt`.")})),find:te(new FW),fixedOverflowWidgets:te(new rt(40,"fixedOverflowWidgets",!1)),folding:te(new rt(41,"folding",!0,{description:f("folding","Controls whether the editor has code folding enabled.")})),foldingStrategy:te(new ci(42,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[f("foldingStrategy.auto","Use a language-specific folding strategy if available, else the indentation-based one."),f("foldingStrategy.indentation","Use the indentation-based folding strategy.")],description:f("foldingStrategy","Controls the strategy for computing folding ranges.")})),foldingHighlight:te(new rt(43,"foldingHighlight",!0,{description:f("foldingHighlight","Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:te(new rt(44,"foldingImportsByDefault",!1,{description:f("foldingImportsByDefault","Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:te(new Lt(45,"foldingMaximumRegions",5e3,10,65e3,{description:f("foldingMaximumRegions","The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:te(new rt(46,"unfoldOnClickAfterEndOfLine",!1,{description:f("unfoldOnClickAfterEndOfLine","Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:te(new us(47,"fontFamily",vs.fontFamily,{description:f("fontFamily","Controls the font family.")})),fontInfo:te(new BW),fontLigatures2:te(new Ps),fontSize:te(new WW),fontWeight:te(new Qr),fontVariations:te(new ur),formatOnPaste:te(new rt(53,"formatOnPaste",!1,{description:f("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:te(new rt(54,"formatOnType",!1,{description:f("formatOnType","Controls whether the editor should automatically format the line after typing.")})),glyphMargin:te(new rt(55,"glyphMargin",!0,{description:f("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:te(new VW),hideCursorInOverviewRuler:te(new rt(57,"hideCursorInOverviewRuler",!1,{description:f("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")})),hover:te(new HW),inDiffEditor:te(new rt(59,"inDiffEditor",!1)),letterSpacing:te(new ra(61,"letterSpacing",vs.letterSpacing,o=>ra.clamp(o,-5,20),{description:f("letterSpacing","Controls the letter spacing in pixels.")})),lightbulb:te(new UW),lineDecorationsWidth:te(new KW),lineHeight:te(new qW),lineNumbers:te(new eV),lineNumbersMinChars:te(new Lt(66,"lineNumbersMinChars",5,1,300)),linkedEditing:te(new rt(67,"linkedEditing",!1,{description:f("linkedEditing","Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:te(new rt(68,"links",!0,{description:f("links","Controls whether the editor should detect links and make them clickable.")})),matchBrackets:te(new ci(69,"matchBrackets","always",["always","near","never"],{description:f("matchBrackets","Highlight matching brackets.")})),minimap:te(new GW),mouseStyle:te(new ci(71,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:te(new ra(72,"mouseWheelScrollSensitivity",1,o=>o===0?1:o,{markdownDescription:f("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:te(new rt(73,"mouseWheelZoom",!1,{markdownDescription:f("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:te(new rt(74,"multiCursorMergeOverlapping",!0,{description:f("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")})),multiCursorModifier:te(new Gb(75,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],ZW,{markdownEnumDescriptions:[f("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),f("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:f({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](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:te(new ci(76,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[f("multiCursorPaste.spread","Each cursor pastes a single line of the text."),f("multiCursorPaste.full","Each cursor pastes the full text.")],markdownDescription:f("multiCursorPaste","Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:te(new Lt(77,"multiCursorLimit",1e4,1,1e5,{markdownDescription:f("multiCursorLimit","Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:te(new rt(78,"occurrencesHighlight",!0,{description:f("occurrencesHighlight","Controls whether the editor should highlight semantic symbol occurrences.")})),overviewRulerBorder:te(new rt(79,"overviewRulerBorder",!0,{description:f("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:te(new Lt(80,"overviewRulerLanes",3,0,3)),padding:te(new YW),parameterHints:te(new XW),peekWidgetDefaultFocus:te(new ci(83,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[f("peekWidgetDefaultFocus.tree","Focus the tree when opening peek"),f("peekWidgetDefaultFocus.editor","Focus the editor when opening peek")],description:f("peekWidgetDefaultFocus","Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:te(new rt(84,"definitionLinkOpensInPeek",!1,{description:f("definitionLinkOpensInPeek","Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:te(new JW),quickSuggestionsDelay:te(new Lt(86,"quickSuggestionsDelay",10,0,1073741824,{description:f("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:te(new rt(87,"readOnly",!1)),renameOnType:te(new rt(88,"renameOnType",!1,{description:f("renameOnType","Controls whether the editor auto renames on type."),markdownDeprecationMessage:f("renameOnTypeDeprecate","Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:te(new rt(89,"renderControlCharacters",!0,{description:f("renderControlCharacters","Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:te(new ci(90,"renderFinalNewline",fn?"dimmed":"on",["off","on","dimmed"],{description:f("renderFinalNewline","Render last line number when the file ends with a newline.")})),renderLineHighlight:te(new ci(91,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",f("renderLineHighlight.all","Highlights both the gutter and the current line.")],description:f("renderLineHighlight","Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:te(new rt(92,"renderLineHighlightOnlyWhenFocus",!1,{description:f("renderLineHighlightOnlyWhenFocus","Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:te(new ci(93,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:te(new ci(94,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",f("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),f("renderWhitespace.selection","Render whitespace characters only on selected text."),f("renderWhitespace.trailing","Render only trailing whitespace characters."),""],description:f("renderWhitespace","Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:te(new Lt(95,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:te(new rt(96,"roundedSelection",!0,{description:f("roundedSelection","Controls whether selections should have rounded corners.")})),rulers:te(new tV),scrollbar:te(new iV),scrollBeyondLastColumn:te(new Lt(99,"scrollBeyondLastColumn",4,0,1073741824,{description:f("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:te(new rt(100,"scrollBeyondLastLine",!0,{description:f("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:te(new rt(101,"scrollPredominantAxis",!0,{description:f("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:te(new rt(102,"selectionClipboard",!0,{description:f("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:fn})),selectionHighlight:te(new rt(103,"selectionHighlight",!0,{description:f("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:te(new rt(104,"selectOnLineNumbers",!0)),showFoldingControls:te(new ci(105,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[f("showFoldingControls.always","Always show the folding controls."),f("showFoldingControls.never","Never show the folding controls and reduce the gutter size."),f("showFoldingControls.mouseover","Only show the folding controls when the mouse is over the gutter.")],description:f("showFoldingControls","Controls when the folding controls on the gutter are shown.")})),showUnused:te(new rt(106,"showUnused",!0,{description:f("showUnused","Controls fading out of unused code.")})),showDeprecated:te(new rt(134,"showDeprecated",!0,{description:f("showDeprecated","Controls strikethrough deprecated variables.")})),inlayHints:te(new jW),snippetSuggestions:te(new ci(107,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[f("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),f("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),f("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),f("snippetSuggestions.none","Do not show snippet suggestions.")],description:f("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:te(new lV),smoothScrolling:te(new rt(109,"smoothScrolling",!1,{description:f("smoothScrolling","Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:te(new Lt(112,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:te(new aV),inlineSuggest:te(new sV),suggestFontSize:te(new Lt(114,"suggestFontSize",0,0,1e3,{markdownDescription:f("suggestFontSize","Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:te(new Lt(115,"suggestLineHeight",0,0,1e3,{markdownDescription:f("suggestLineHeight","Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:te(new rt(116,"suggestOnTriggerCharacters",!0,{description:f("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:te(new ci(117,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[f("suggestSelection.first","Always select the first suggestion."),f("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),f("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:f("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:te(new ci(118,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[f("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),f("tabCompletion.off","Disable tab completions."),f("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:f("tabCompletion","Enables tab completions.")})),tabIndex:te(new Lt(119,"tabIndex",0,-1,1073741824)),unicodeHighlight:te(new nV),unusualLineTerminators:te(new ci(121,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[f("unusualLineTerminators.auto","Unusual line terminators are automatically removed."),f("unusualLineTerminators.off","Unusual line terminators are ignored."),f("unusualLineTerminators.prompt","Unusual line terminators prompt to be removed.")],description:f("unusualLineTerminators","Remove unusual line terminators that might cause problems.")})),useShadowDOM:te(new rt(122,"useShadowDOM",!0)),useTabStops:te(new rt(123,"useTabStops",!0,{description:f("useTabStops","Inserting and deleting whitespace follows tab stops.")})),wordBreak:te(new ci(124,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[f("wordBreak.normal","Use the default line break rule."),f("wordBreak.keepAll","Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:f("wordBreak","Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSeparators:te(new us(125,"wordSeparators",K4,{description:f("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:te(new ci(126,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[f("wordWrap.off","Lines will never wrap."),f("wordWrap.on","Lines will wrap at the viewport width."),f({key:"wordWrap.wordWrapColumn",comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),f({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:f({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:te(new us(127,"wordWrapBreakAfterCharacters"," })]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:te(new us(128,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:te(new Lt(129,"wordWrapColumn",80,1,1073741824,{markdownDescription:f({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:te(new ci(130,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:te(new ci(131,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:te(new PW),pixelRatio:te(new QW),tabFocusMode:te(new rt(138,"tabFocusMode",!1,{markdownDescription:f("tabFocusMode","Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:te(new _g),wrappingInfo:te(new dV),wrappingIndent:te(new cV),wrappingStrategy:te(new zW)};class pV{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?zg.isErrorNoTelemetry(e)?new zg(e.message+` `+e.stack):new Error(e.message+` `+e.stack):e},0)}}emit(e){this.listeners.forEach(t=>{t(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const rF=new pV;function Fe(o){Mr(o)||rF.onUnexpectedError(o)}function zi(o){Mr(o)||rF.onUnexpectedExternalError(o)}function uM(o){if(o instanceof Error){const{name:e,message:t}=o,i=o.stacktrace||o.stack;return{$isError:!0,name:e,message:t,stack:i,noTelemetry:zg.isErrorNoTelemetry(o)}}return o}const Xv="Canceled";function Mr(o){return o instanceof Jc?!0:o instanceof Error&&o.name===Xv&&o.message===Xv}class Jc extends Error{constructor(){super(Xv),this.name=this.message}}function mV(){const o=new Error(Xv);return o.name=o.message,o}function Us(o){return o?new Error(`Illegal argument: ${o}`):new Error("Illegal argument")}function XE(o){return o?new Error(`Illegal state: ${o}`):new Error("Illegal state")}class _V extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class zg extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof zg)return e;const t=new zg;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class Ma extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,Ma.prototype);debugger}}function Sa(o){const e=this;let t=!1,i;return function(){return t||(t=!0,i=o.apply(e,arguments)),i}}function QE(o){return typeof o.dispose=="function"&&o.dispose.length===0}function pt(o){if(nt.is(o)){const e=[];for(const t of o)if(t)try{t.dispose()}catch(i){e.push(i)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(o)?[]:o}else if(o)return o.dispose(),o}function Vo(...o){return Oe(()=>pt(o))}function Oe(o){return{dispose:Sa(()=>{o()})}}class Z{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{pt(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Z.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}}Z.DISABLE_DISPOSED_WARNING=!1;class U{constructor(){this._store=new Z,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}U.None=Object.freeze({dispose(){}});class Hi{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||((t=this._value)===null||t===void 0||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,(e=this._value)===null||e===void 0||e.dispose(),this._value=void 0}clearAndLeak(){const e=this._value;return this._value=void 0,e}}class bV{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}}class vV{constructor(){this.dispose=()=>{},this.unset=()=>{},this.isset=()=>!1}set(e){let t=e;return this.unset=()=>t=void 0,this.isset=()=>t!==void 0,this.dispose=()=>{t&&(t(),t=void 0)},this}}class CV{constructor(e){this.object=e}dispose(){}}class JE{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{pt(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,i=!1){var n;this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),i||(n=this._store.get(e))===null||n===void 0||n.dispose(),this._store.set(e,t)}deleteAndDispose(e){var t;(t=this._store.get(e))===null||t===void 0||t.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}const wV=bs.performance&&typeof bs.performance.now=="function";class ss{static create(e=!0){return new ss(e)}constructor(e){this._highResolution=wV&&e,this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?bs.performance.now():Date.now()}}var fe;(function(o){o.None=()=>U.None;function e(x,k){return d(x,()=>{},0,void 0,!0,void 0,k)}o.defer=e;function t(x){return(k,O=null,R)=>{let F=!1,z;return z=x(ne=>{if(!F)return z?z.dispose():F=!0,k.call(O,ne)},null,R),F&&z.dispose(),z}}o.once=t;function i(x,k,O){return c((R,F=null,z)=>x(ne=>R.call(F,k(ne)),null,z),O)}o.map=i;function n(x,k,O){return c((R,F=null,z)=>x(ne=>{k(ne),R.call(F,ne)},null,z),O)}o.forEach=n;function s(x,k,O){return c((R,F=null,z)=>x(ne=>k(ne)&&R.call(F,ne),null,z),O)}o.filter=s;function r(x){return x}o.signal=r;function a(...x){return(k,O=null,R)=>Vo(...x.map(F=>F(z=>k.call(O,z),null,R)))}o.any=a;function l(x,k,O,R){let F=O;return i(x,z=>(F=k(F,z),F),R)}o.reduce=l;function c(x,k){let O;const R={onWillAddFirstListener(){O=x(F.fire,F)},onDidRemoveLastListener(){O==null||O.dispose()}},F=new P(R);return k==null||k.add(F),F.event}function d(x,k,O=100,R=!1,F=!1,z,ne){let ge,De,Re,ze=0,ke;const Je={leakWarningThreshold:z,onWillAddFirstListener(){ge=x(me=>{ze++,De=k(De,me),R&&!Re&&(Xe.fire(De),De=void 0),ke=()=>{const we=De;De=void 0,Re=void 0,(!R||ze>1)&&Xe.fire(we),ze=0},typeof O=="number"?(clearTimeout(Re),Re=setTimeout(ke,O)):Re===void 0&&(Re=0,queueMicrotask(ke))})},onWillRemoveListener(){F&&ze>0&&(ke==null||ke())},onDidRemoveLastListener(){ke=void 0,ge.dispose()}},Xe=new P(Je);return ne==null||ne.add(Xe),Xe.event}o.debounce=d;function h(x,k=0,O){return o.debounce(x,(R,F)=>R?(R.push(F),R):[F],k,void 0,!0,void 0,O)}o.accumulate=h;function u(x,k=(R,F)=>R===F,O){let R=!0,F;return s(x,z=>{const ne=R||!k(z,F);return R=!1,F=z,ne},O)}o.latch=u;function g(x,k,O){return[o.filter(x,k,O),o.filter(x,R=>!k(R),O)]}o.split=g;function p(x,k=!1,O=[]){let R=O.slice(),F=x(ge=>{R?R.push(ge):ne.fire(ge)});const z=()=>{R==null||R.forEach(ge=>ne.fire(ge)),R=null},ne=new P({onWillAddFirstListener(){F||(F=x(ge=>ne.fire(ge)))},onDidAddFirstListener(){R&&(k?setTimeout(z):z())},onDidRemoveLastListener(){F&&F.dispose(),F=null}});return ne.event}o.buffer=p;class m{constructor(k){this.event=k,this.disposables=new Z}map(k){return new m(i(this.event,k,this.disposables))}forEach(k){return new m(n(this.event,k,this.disposables))}filter(k){return new m(s(this.event,k,this.disposables))}reduce(k,O){return new m(l(this.event,k,O,this.disposables))}latch(){return new m(u(this.event,void 0,this.disposables))}debounce(k,O=100,R=!1,F=!1,z){return new m(d(this.event,k,O,R,F,z,this.disposables))}on(k,O,R){return this.event(k,O,R)}once(k,O,R){return t(this.event)(k,O,R)}dispose(){this.disposables.dispose()}}function _(x){return new m(x)}o.chain=_;function v(x,k,O=R=>R){const R=(...ge)=>ne.fire(O(...ge)),F=()=>x.on(k,R),z=()=>x.removeListener(k,R),ne=new P({onWillAddFirstListener:F,onDidRemoveLastListener:z});return ne.event}o.fromNodeEventEmitter=v;function b(x,k,O=R=>R){const R=(...ge)=>ne.fire(O(...ge)),F=()=>x.addEventListener(k,R),z=()=>x.removeEventListener(k,R),ne=new P({onWillAddFirstListener:F,onDidRemoveLastListener:z});return ne.event}o.fromDOMEventEmitter=b;function C(x){return new Promise(k=>t(x)(k))}o.toPromise=C;function w(x,k){return k(void 0),x(O=>k(O))}o.runAndSubscribe=w;function L(x,k){let O=null;function R(z){O==null||O.dispose(),O=new Z,k(z,O)}R(void 0);const F=x(z=>R(z));return Oe(()=>{F.dispose(),O==null||O.dispose()})}o.runAndSubscribeWithStore=L;class E{constructor(k,O){this.obs=k,this._counter=0,this._hasChanged=!1;const R={onWillAddFirstListener:()=>{k.addObserver(this)},onDidRemoveLastListener:()=>{k.removeObserver(this)}};this.emitter=new P(R),O&&O.add(this.emitter)}beginUpdate(k){this._counter++}handleChange(k,O){this._hasChanged=!0}endUpdate(k){--this._counter===0&&this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this.obs.get()))}}function D(x,k){return new E(x,k).emitter.event}o.fromObservable=D})(fe||(fe={}));class Ug{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${Ug._idPool++}`,Ug.all.add(this)}start(e){this._stopWatch=new ss(!0),this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}Ug.all=new Set;Ug._idPool=0;let SV=-1;class yV{constructor(e,t=Math.random().toString(18).slice(2,5)){this.threshold=e,this.name=t,this._warnCountdown=0}dispose(){var e;(e=this._stacks)===null||e===void 0||e.clear()}check(e,t){const i=this.threshold;if(i<=0||t{const s=this._stacks.get(e.value)||0;this._stacks.set(e.value,s-1)}}}class eT{static create(){var e;return new eT((e=new Error().stack)!==null&&e!==void 0?e:"")}constructor(e){this.value=e}print(){console.warn(this.value.split(` `).slice(2).join(` `))}}class LV{constructor(e,t,i){this.callback=e,this.callbackThis=t,this.stack=i,this.subscription=new vV}invoke(e){this.callback.call(this.callbackThis,e)}}let P=class{constructor(e){var t,i,n,s,r;this._disposed=!1,this._options=e,this._leakageMon=!((t=this._options)===null||t===void 0)&&t.leakWarningThreshold?new yV((n=(i=this._options)===null||i===void 0?void 0:i.leakWarningThreshold)!==null&&n!==void 0?n:SV):void 0,this._perfMon=!((s=this._options)===null||s===void 0)&&s._profName?new Ug(this._options._profName):void 0,this._deliveryQueue=(r=this._options)===null||r===void 0?void 0:r.deliveryQueue}dispose(){var e,t,i,n;this._disposed||(this._disposed=!0,this._listeners&&this._listeners.clear(),(e=this._deliveryQueue)===null||e===void 0||e.clear(this),(i=(t=this._options)===null||t===void 0?void 0:t.onDidRemoveLastListener)===null||i===void 0||i.call(t),(n=this._leakageMon)===null||n===void 0||n.dispose())}get event(){return this._event||(this._event=(e,t,i)=>{var n,s,r;if(this._listeners||(this._listeners=new hn),this._leakageMon&&this._listeners.size>this._leakageMon.threshold*3)return console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`),U.None;const a=this._listeners.isEmpty();a&&(!((n=this._options)===null||n===void 0)&&n.onWillAddFirstListener)&&this._options.onWillAddFirstListener(this);let l,c;this._leakageMon&&this._listeners.size>=Math.ceil(this._leakageMon.threshold*.2)&&(c=eT.create(),l=this._leakageMon.check(c,this._listeners.size+1));const d=new LV(e,t,c),h=this._listeners.push(d);a&&(!((s=this._options)===null||s===void 0)&&s.onDidAddFirstListener)&&this._options.onDidAddFirstListener(this),!((r=this._options)===null||r===void 0)&&r.onDidAddListener&&this._options.onDidAddListener(this,e,t);const u=d.subscription.set(()=>{var g,p;l==null||l(),this._disposed||((p=(g=this._options)===null||g===void 0?void 0:g.onWillRemoveListener)===null||p===void 0||p.call(g,this),h(),this._options&&this._options.onDidRemoveLastListener&&(this._listeners&&!this._listeners.isEmpty()||this._options.onDidRemoveLastListener(this)))});return i instanceof Z?i.add(u):Array.isArray(i)&&i.push(u),u}),this._event}fire(e){var t,i,n;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new DV((t=this._options)===null||t===void 0?void 0:t.onListenerError));for(const s of this._listeners)this._deliveryQueue.push(this,s,e);(i=this._perfMon)===null||i===void 0||i.start(this._deliveryQueue.size),this._deliveryQueue.deliver(),(n=this._perfMon)===null||n===void 0||n.stop()}}hasListeners(){return this._listeners?!this._listeners.isEmpty():!1}};class aF{constructor(e=Fe){this._onListenerError=e,this._queue=new hn}get size(){return this._queue.size}push(e,t,i){this._queue.push(new xV(e,t,i))}clear(e){const t=new hn;for(const i of this._queue)i.emitter!==e&&t.push(i);this._queue=t}deliver(){for(;this._queue.size>0;){const e=this._queue.shift();try{e.listener.invoke(e.event)}catch(t){this._onListenerError(t)}}}}class DV extends aF{clear(e){this._queue.clear()}}class xV{constructor(e,t,i){this.emitter=e,this.listener=t,this.event=i}}class $g extends P{constructor(e){super(e),this._isPaused=0,this._eventQueue=new hn,this._mergeFn=e==null?void 0:e.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._listeners&&(this._isPaused!==0?this._eventQueue.push(e):super.fire(e))}}class lF extends $g{constructor(e){var t;super(e),this._delay=(t=e.delay)!==null&&t!==void 0?t:100}fire(e){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(e)}}class kV extends P{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e==null?void 0:e.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(t=>super.fire(t)),this._queuedEvents=[]}))}}class IV{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new P({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),Oe(Sa(()=>{this.hasListeners&&this.unhook(t);const n=this.events.indexOf(t);this.events.splice(n,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>this.unhook(e))}hook(e){e.listener=e.event(t=>this.emitter.fire(t))}unhook(e){e.listener&&e.listener.dispose(),e.listener=null}dispose(){this.emitter.dispose()}}class tT{constructor(){this.buffers=[]}wrapEvent(e){return(t,i,n)=>e(s=>{const r=this.buffers[this.buffers.length-1];r?r.push(()=>t.call(i,s)):t.call(i,s)},void 0,n)}bufferEvents(e){const t=[];this.buffers.push(t);const i=e();return this.buffers.pop(),t.forEach(n=>n()),i}}class gM{constructor(){this.listening=!1,this.inputEvent=fe.None,this.inputEventListener=U.None,this.emitter=new P({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const cF=Object.freeze(function(o,e){const t=setTimeout(o.bind(e),0);return{dispose(){clearTimeout(t)}}});var Ye;(function(o){function e(t){return t===o.None||t===o.Cancelled||t instanceof hv?!0:!t||typeof t!="object"?!1:typeof t.isCancellationRequested=="boolean"&&typeof t.onCancellationRequested=="function"}o.isCancellationToken=e,o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:fe.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:cF})})(Ye||(Ye={}));class hv{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?cF:(this._emitter||(this._emitter=new P),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}let nn=class{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new hv),this._token}cancel(){this._token?this._token instanceof hv&&this._token.cancel():this._token=Ye.Cancelled}dispose(e=!1){var t;e&&this.cancel(),(t=this._parentListener)===null||t===void 0||t.dispose(),this._token?this._token instanceof hv&&this._token.dispose():this._token=Ye.None}};class iT{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const uv=new iT,pD=new iT,mD=new iT,dF=new Array(230),EV=Object.create(null),TV=Object.create(null),nT=[];for(let o=0;o<=193;o++)nT[o]=-1;(function(){const o="",e=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",o,o],[0,1,1,"Hyper",0,o,0,o,o,o],[0,1,2,"Super",0,o,0,o,o,o],[0,1,3,"Fn",0,o,0,o,o,o],[0,1,4,"FnLock",0,o,0,o,o,o],[0,1,5,"Suspend",0,o,0,o,o,o],[0,1,6,"Resume",0,o,0,o,o,o],[0,1,7,"Turbo",0,o,0,o,o,o],[0,1,8,"Sleep",0,o,0,"VK_SLEEP",o,o],[0,1,9,"WakeUp",0,o,0,o,o,o],[31,0,10,"KeyA",31,"A",65,"VK_A",o,o],[32,0,11,"KeyB",32,"B",66,"VK_B",o,o],[33,0,12,"KeyC",33,"C",67,"VK_C",o,o],[34,0,13,"KeyD",34,"D",68,"VK_D",o,o],[35,0,14,"KeyE",35,"E",69,"VK_E",o,o],[36,0,15,"KeyF",36,"F",70,"VK_F",o,o],[37,0,16,"KeyG",37,"G",71,"VK_G",o,o],[38,0,17,"KeyH",38,"H",72,"VK_H",o,o],[39,0,18,"KeyI",39,"I",73,"VK_I",o,o],[40,0,19,"KeyJ",40,"J",74,"VK_J",o,o],[41,0,20,"KeyK",41,"K",75,"VK_K",o,o],[42,0,21,"KeyL",42,"L",76,"VK_L",o,o],[43,0,22,"KeyM",43,"M",77,"VK_M",o,o],[44,0,23,"KeyN",44,"N",78,"VK_N",o,o],[45,0,24,"KeyO",45,"O",79,"VK_O",o,o],[46,0,25,"KeyP",46,"P",80,"VK_P",o,o],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",o,o],[48,0,27,"KeyR",48,"R",82,"VK_R",o,o],[49,0,28,"KeyS",49,"S",83,"VK_S",o,o],[50,0,29,"KeyT",50,"T",84,"VK_T",o,o],[51,0,30,"KeyU",51,"U",85,"VK_U",o,o],[52,0,31,"KeyV",52,"V",86,"VK_V",o,o],[53,0,32,"KeyW",53,"W",87,"VK_W",o,o],[54,0,33,"KeyX",54,"X",88,"VK_X",o,o],[55,0,34,"KeyY",55,"Y",89,"VK_Y",o,o],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",o,o],[22,0,36,"Digit1",22,"1",49,"VK_1",o,o],[23,0,37,"Digit2",23,"2",50,"VK_2",o,o],[24,0,38,"Digit3",24,"3",51,"VK_3",o,o],[25,0,39,"Digit4",25,"4",52,"VK_4",o,o],[26,0,40,"Digit5",26,"5",53,"VK_5",o,o],[27,0,41,"Digit6",27,"6",54,"VK_6",o,o],[28,0,42,"Digit7",28,"7",55,"VK_7",o,o],[29,0,43,"Digit8",29,"8",56,"VK_8",o,o],[30,0,44,"Digit9",30,"9",57,"VK_9",o,o],[21,0,45,"Digit0",21,"0",48,"VK_0",o,o],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",o,o],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",o,o],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",o,o],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",o,o],[10,1,50,"Space",10,"Space",32,"VK_SPACE",o,o],[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,o,0,o,o,o],[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",o,o],[59,1,64,"F1",59,"F1",112,"VK_F1",o,o],[60,1,65,"F2",60,"F2",113,"VK_F2",o,o],[61,1,66,"F3",61,"F3",114,"VK_F3",o,o],[62,1,67,"F4",62,"F4",115,"VK_F4",o,o],[63,1,68,"F5",63,"F5",116,"VK_F5",o,o],[64,1,69,"F6",64,"F6",117,"VK_F6",o,o],[65,1,70,"F7",65,"F7",118,"VK_F7",o,o],[66,1,71,"F8",66,"F8",119,"VK_F8",o,o],[67,1,72,"F9",67,"F9",120,"VK_F9",o,o],[68,1,73,"F10",68,"F10",121,"VK_F10",o,o],[69,1,74,"F11",69,"F11",122,"VK_F11",o,o],[70,1,75,"F12",70,"F12",123,"VK_F12",o,o],[0,1,76,"PrintScreen",0,o,0,o,o,o],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",o,o],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",o,o],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",o,o],[14,1,80,"Home",14,"Home",36,"VK_HOME",o,o],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",o,o],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",o,o],[13,1,83,"End",13,"End",35,"VK_END",o,o],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",o,o],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",o],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",o],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",o],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",o],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",o,o],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",o,o],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",o,o],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",o,o],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",o,o],[3,1,94,"NumpadEnter",3,o,0,o,o,o],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",o,o],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",o,o],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",o,o],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",o,o],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",o,o],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",o,o],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",o,o],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",o,o],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",o,o],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",o,o],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",o,o],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",o,o],[58,1,107,"ContextMenu",58,"ContextMenu",93,o,o,o],[0,1,108,"Power",0,o,0,o,o,o],[0,1,109,"NumpadEqual",0,o,0,o,o,o],[71,1,110,"F13",71,"F13",124,"VK_F13",o,o],[72,1,111,"F14",72,"F14",125,"VK_F14",o,o],[73,1,112,"F15",73,"F15",126,"VK_F15",o,o],[74,1,113,"F16",74,"F16",127,"VK_F16",o,o],[75,1,114,"F17",75,"F17",128,"VK_F17",o,o],[76,1,115,"F18",76,"F18",129,"VK_F18",o,o],[77,1,116,"F19",77,"F19",130,"VK_F19",o,o],[0,1,117,"F20",0,o,0,"VK_F20",o,o],[0,1,118,"F21",0,o,0,"VK_F21",o,o],[0,1,119,"F22",0,o,0,"VK_F22",o,o],[0,1,120,"F23",0,o,0,"VK_F23",o,o],[0,1,121,"F24",0,o,0,"VK_F24",o,o],[0,1,122,"Open",0,o,0,o,o,o],[0,1,123,"Help",0,o,0,o,o,o],[0,1,124,"Select",0,o,0,o,o,o],[0,1,125,"Again",0,o,0,o,o,o],[0,1,126,"Undo",0,o,0,o,o,o],[0,1,127,"Cut",0,o,0,o,o,o],[0,1,128,"Copy",0,o,0,o,o,o],[0,1,129,"Paste",0,o,0,o,o,o],[0,1,130,"Find",0,o,0,o,o,o],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",o,o],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",o,o],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",o,o],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",o,o],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",o,o],[0,1,136,"KanaMode",0,o,0,o,o,o],[0,0,137,"IntlYen",0,o,0,o,o,o],[0,1,138,"Convert",0,o,0,o,o,o],[0,1,139,"NonConvert",0,o,0,o,o,o],[0,1,140,"Lang1",0,o,0,o,o,o],[0,1,141,"Lang2",0,o,0,o,o,o],[0,1,142,"Lang3",0,o,0,o,o,o],[0,1,143,"Lang4",0,o,0,o,o,o],[0,1,144,"Lang5",0,o,0,o,o,o],[0,1,145,"Abort",0,o,0,o,o,o],[0,1,146,"Props",0,o,0,o,o,o],[0,1,147,"NumpadParenLeft",0,o,0,o,o,o],[0,1,148,"NumpadParenRight",0,o,0,o,o,o],[0,1,149,"NumpadBackspace",0,o,0,o,o,o],[0,1,150,"NumpadMemoryStore",0,o,0,o,o,o],[0,1,151,"NumpadMemoryRecall",0,o,0,o,o,o],[0,1,152,"NumpadMemoryClear",0,o,0,o,o,o],[0,1,153,"NumpadMemoryAdd",0,o,0,o,o,o],[0,1,154,"NumpadMemorySubtract",0,o,0,o,o,o],[0,1,155,"NumpadClear",126,"Clear",12,"VK_CLEAR",o,o],[0,1,156,"NumpadClearEntry",0,o,0,o,o,o],[5,1,0,o,5,"Ctrl",17,"VK_CONTROL",o,o],[4,1,0,o,4,"Shift",16,"VK_SHIFT",o,o],[6,1,0,o,6,"Alt",18,"VK_MENU",o,o],[57,1,0,o,57,"Meta",91,"VK_COMMAND",o,o],[5,1,157,"ControlLeft",5,o,0,"VK_LCONTROL",o,o],[4,1,158,"ShiftLeft",4,o,0,"VK_LSHIFT",o,o],[6,1,159,"AltLeft",6,o,0,"VK_LMENU",o,o],[57,1,160,"MetaLeft",57,o,0,"VK_LWIN",o,o],[5,1,161,"ControlRight",5,o,0,"VK_RCONTROL",o,o],[4,1,162,"ShiftRight",4,o,0,"VK_RSHIFT",o,o],[6,1,163,"AltRight",6,o,0,"VK_RMENU",o,o],[57,1,164,"MetaRight",57,o,0,"VK_RWIN",o,o],[0,1,165,"BrightnessUp",0,o,0,o,o,o],[0,1,166,"BrightnessDown",0,o,0,o,o,o],[0,1,167,"MediaPlay",0,o,0,o,o,o],[0,1,168,"MediaRecord",0,o,0,o,o,o],[0,1,169,"MediaFastForward",0,o,0,o,o,o],[0,1,170,"MediaRewind",0,o,0,o,o,o],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",o,o],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",o,o],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",o,o],[0,1,174,"Eject",0,o,0,o,o,o],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",o,o],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",o,o],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",o,o],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",o,o],[0,1,179,"LaunchApp1",0,o,0,"VK_MEDIA_LAUNCH_APP1",o,o],[0,1,180,"SelectTask",0,o,0,o,o,o],[0,1,181,"LaunchScreenSaver",0,o,0,o,o,o],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",o,o],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",o,o],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",o,o],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",o,o],[0,1,186,"BrowserStop",0,o,0,"VK_BROWSER_STOP",o,o],[0,1,187,"BrowserRefresh",0,o,0,"VK_BROWSER_REFRESH",o,o],[0,1,188,"BrowserFavorites",0,o,0,"VK_BROWSER_FAVORITES",o,o],[0,1,189,"ZoomToggle",0,o,0,o,o,o],[0,1,190,"MailReply",0,o,0,o,o,o],[0,1,191,"MailForward",0,o,0,o,o,o],[0,1,192,"MailSend",0,o,0,o,o,o],[109,1,0,o,109,"KeyInComposition",229,o,o,o],[111,1,0,o,111,"ABNT_C2",194,"VK_ABNT_C2",o,o],[91,1,0,o,91,"OEM_8",223,"VK_OEM_8",o,o],[0,1,0,o,0,o,0,"VK_KANA",o,o],[0,1,0,o,0,o,0,"VK_HANGUL",o,o],[0,1,0,o,0,o,0,"VK_JUNJA",o,o],[0,1,0,o,0,o,0,"VK_FINAL",o,o],[0,1,0,o,0,o,0,"VK_HANJA",o,o],[0,1,0,o,0,o,0,"VK_KANJI",o,o],[0,1,0,o,0,o,0,"VK_CONVERT",o,o],[0,1,0,o,0,o,0,"VK_NONCONVERT",o,o],[0,1,0,o,0,o,0,"VK_ACCEPT",o,o],[0,1,0,o,0,o,0,"VK_MODECHANGE",o,o],[0,1,0,o,0,o,0,"VK_SELECT",o,o],[0,1,0,o,0,o,0,"VK_PRINT",o,o],[0,1,0,o,0,o,0,"VK_EXECUTE",o,o],[0,1,0,o,0,o,0,"VK_SNAPSHOT",o,o],[0,1,0,o,0,o,0,"VK_HELP",o,o],[0,1,0,o,0,o,0,"VK_APPS",o,o],[0,1,0,o,0,o,0,"VK_PROCESSKEY",o,o],[0,1,0,o,0,o,0,"VK_PACKET",o,o],[0,1,0,o,0,o,0,"VK_DBE_SBCSCHAR",o,o],[0,1,0,o,0,o,0,"VK_DBE_DBCSCHAR",o,o],[0,1,0,o,0,o,0,"VK_ATTN",o,o],[0,1,0,o,0,o,0,"VK_CRSEL",o,o],[0,1,0,o,0,o,0,"VK_EXSEL",o,o],[0,1,0,o,0,o,0,"VK_EREOF",o,o],[0,1,0,o,0,o,0,"VK_PLAY",o,o],[0,1,0,o,0,o,0,"VK_ZOOM",o,o],[0,1,0,o,0,o,0,"VK_NONAME",o,o],[0,1,0,o,0,o,0,"VK_PA1",o,o],[0,1,0,o,0,o,0,"VK_OEM_CLEAR",o,o]],t=[],i=[];for(const n of e){const[s,r,a,l,c,d,h,u,g,p]=n;if(i[a]||(i[a]=!0,EV[l]=a,TV[l.toLowerCase()]=a,r&&(nT[a]=c)),!t[c]){if(t[c]=!0,!d)throw new Error(`String representation missing for key code ${c} around scan code ${l}`);uv.define(c,d),pD.define(c,g||d),mD.define(c,p||g||d)}h&&(dF[h]=c)}})();var sl;(function(o){function e(a){return uv.keyCodeToStr(a)}o.toString=e;function t(a){return uv.strToKeyCode(a)}o.fromString=t;function i(a){return pD.keyCodeToStr(a)}o.toUserSettingsUS=i;function n(a){return mD.keyCodeToStr(a)}o.toUserSettingsGeneral=n;function s(a){return pD.strToKeyCode(a)||mD.strToKeyCode(a)}o.fromUserSettings=s;function r(a){if(a>=93&&a<=108)return null;switch(a){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return uv.keyCodeToStr(a)}o.toElectronAccelerator=r})(sl||(sl={}));function ki(o,e){const t=(e&65535)<<16>>>0;return(o|t)>>>0}let vg;if(typeof bs.vscode<"u"&&typeof bs.vscode.process<"u"){const o=bs.vscode.process;vg={get platform(){return o.platform},get arch(){return o.arch},get env(){return o.env},cwd(){return o.cwd()}}}else typeof process<"u"?vg={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:vg={get platform(){return tn?"win32":qe?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};const Qv=vg.cwd,NV=vg.env,MV=vg.platform,AV=65,RV=97,PV=90,OV=122,vc=46,kn=47,Es=92,Ul=58,FV=63;class hF extends Error{constructor(e,t,i){let n;typeof t=="string"&&t.indexOf("not ")===0?(n="must not be",t=t.replace(/^not /,"")):n="must be";const s=e.indexOf(".")!==-1?"property":"argument";let r=`The "${e}" ${s} ${n} of type ${t}`;r+=`. Received type ${typeof i}`,super(r),this.code="ERR_INVALID_ARG_TYPE"}}function BV(o,e){if(o===null||typeof o!="object")throw new hF(e,"Object",o)}function Oi(o,e){if(typeof o!="string")throw new hF(e,"string",o)}const ed=MV==="win32";function mt(o){return o===kn||o===Es}function _D(o){return o===kn}function $l(o){return o>=AV&&o<=PV||o>=RV&&o<=OV}function Jv(o,e,t,i){let n="",s=0,r=-1,a=0,l=0;for(let c=0;c<=o.length;++c){if(c2){const d=n.lastIndexOf(t);d===-1?(n="",s=0):(n=n.slice(0,d),s=n.length-1-n.lastIndexOf(t)),r=c,a=0;continue}else if(n.length!==0){n="",s=0,r=c,a=0;continue}}e&&(n+=n.length>0?`${t}..`:"..",s=2)}else n.length>0?n+=`${t}${o.slice(r+1,c)}`:n=o.slice(r+1,c),s=c-r-1;r=c,a=0}else l===vc&&a!==-1?++a:a=-1}return n}function uF(o,e){BV(e,"pathObject");const t=e.dir||e.root,i=e.base||`${e.name||""}${e.ext||""}`;return t?t===e.root?`${t}${i}`:`${t}${o}${i}`:i}const ms={resolve(...o){let e="",t="",i=!1;for(let n=o.length-1;n>=-1;n--){let s;if(n>=0){if(s=o[n],Oi(s,"path"),s.length===0)continue}else e.length===0?s=Qv():(s=NV[`=${e}`]||Qv(),(s===void 0||s.slice(0,2).toLowerCase()!==e.toLowerCase()&&s.charCodeAt(2)===Es)&&(s=`${e}\\`));const r=s.length;let a=0,l="",c=!1;const d=s.charCodeAt(0);if(r===1)mt(d)&&(a=1,c=!0);else if(mt(d))if(c=!0,mt(s.charCodeAt(1))){let h=2,u=h;for(;h2&&mt(s.charCodeAt(2))&&(c=!0,a=3));if(l.length>0)if(e.length>0){if(l.toLowerCase()!==e.toLowerCase())continue}else e=l;if(i){if(e.length>0)break}else if(t=`${s.slice(a)}\\${t}`,i=c,c&&e.length>0)break}return t=Jv(t,!i,"\\",mt),i?`${e}\\${t}`:`${e}${t}`||"."},normalize(o){Oi(o,"path");const e=o.length;if(e===0)return".";let t=0,i,n=!1;const s=o.charCodeAt(0);if(e===1)return _D(s)?"\\":o;if(mt(s))if(n=!0,mt(o.charCodeAt(1))){let a=2,l=a;for(;a2&&mt(o.charCodeAt(2))&&(n=!0,t=3));let r=t0&&mt(o.charCodeAt(e-1))&&(r+="\\"),i===void 0?n?`\\${r}`:r:n?`${i}\\${r}`:`${i}${r}`},isAbsolute(o){Oi(o,"path");const e=o.length;if(e===0)return!1;const t=o.charCodeAt(0);return mt(t)||e>2&&$l(t)&&o.charCodeAt(1)===Ul&&mt(o.charCodeAt(2))},join(...o){if(o.length===0)return".";let e,t;for(let s=0;s0&&(e===void 0?e=t=r:e+=`\\${r}`)}if(e===void 0)return".";let i=!0,n=0;if(typeof t=="string"&&mt(t.charCodeAt(0))){++n;const s=t.length;s>1&&mt(t.charCodeAt(1))&&(++n,s>2&&(mt(t.charCodeAt(2))?++n:i=!1))}if(i){for(;n=2&&(e=`\\${e.slice(n)}`)}return ms.normalize(e)},relative(o,e){if(Oi(o,"from"),Oi(e,"to"),o===e)return"";const t=ms.resolve(o),i=ms.resolve(e);if(t===i||(o=t.toLowerCase(),e=i.toLowerCase(),o===e))return"";let n=0;for(;nn&&o.charCodeAt(s-1)===Es;)s--;const r=s-n;let a=0;for(;aa&&e.charCodeAt(l-1)===Es;)l--;const c=l-a,d=rd){if(e.charCodeAt(a+u)===Es)return i.slice(a+u+1);if(u===2)return i.slice(a+u)}r>d&&(o.charCodeAt(n+u)===Es?h=u:u===2&&(h=3)),h===-1&&(h=0)}let g="";for(u=n+h+1;u<=s;++u)(u===s||o.charCodeAt(u)===Es)&&(g+=g.length===0?"..":"\\..");return a+=h,g.length>0?`${g}${i.slice(a,l)}`:(i.charCodeAt(a)===Es&&++a,i.slice(a,l))},toNamespacedPath(o){if(typeof o!="string"||o.length===0)return o;const e=ms.resolve(o);if(e.length<=2)return o;if(e.charCodeAt(0)===Es){if(e.charCodeAt(1)===Es){const t=e.charCodeAt(2);if(t!==FV&&t!==vc)return`\\\\?\\UNC\\${e.slice(2)}`}}else if($l(e.charCodeAt(0))&&e.charCodeAt(1)===Ul&&e.charCodeAt(2)===Es)return`\\\\?\\${e}`;return o},dirname(o){Oi(o,"path");const e=o.length;if(e===0)return".";let t=-1,i=0;const n=o.charCodeAt(0);if(e===1)return mt(n)?o:".";if(mt(n)){if(t=i=1,mt(o.charCodeAt(1))){let a=2,l=a;for(;a2&&mt(o.charCodeAt(2))?3:2,i=t);let s=-1,r=!0;for(let a=e-1;a>=i;--a)if(mt(o.charCodeAt(a))){if(!r){s=a;break}}else r=!1;if(s===-1){if(t===-1)return".";s=t}return o.slice(0,s)},basename(o,e){e!==void 0&&Oi(e,"ext"),Oi(o,"path");let t=0,i=-1,n=!0,s;if(o.length>=2&&$l(o.charCodeAt(0))&&o.charCodeAt(1)===Ul&&(t=2),e!==void 0&&e.length>0&&e.length<=o.length){if(e===o)return"";let r=e.length-1,a=-1;for(s=o.length-1;s>=t;--s){const l=o.charCodeAt(s);if(mt(l)){if(!n){t=s+1;break}}else a===-1&&(n=!1,a=s+1),r>=0&&(l===e.charCodeAt(r)?--r===-1&&(i=s):(r=-1,i=a))}return t===i?i=a:i===-1&&(i=o.length),o.slice(t,i)}for(s=o.length-1;s>=t;--s)if(mt(o.charCodeAt(s))){if(!n){t=s+1;break}}else i===-1&&(n=!1,i=s+1);return i===-1?"":o.slice(t,i)},extname(o){Oi(o,"path");let e=0,t=-1,i=0,n=-1,s=!0,r=0;o.length>=2&&o.charCodeAt(1)===Ul&&$l(o.charCodeAt(0))&&(e=i=2);for(let a=o.length-1;a>=e;--a){const l=o.charCodeAt(a);if(mt(l)){if(!s){i=a+1;break}continue}n===-1&&(s=!1,n=a+1),l===vc?t===-1?t=a:r!==1&&(r=1):t!==-1&&(r=-1)}return t===-1||n===-1||r===0||r===1&&t===n-1&&t===i+1?"":o.slice(t,n)},format:uF.bind(null,"\\"),parse(o){Oi(o,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(o.length===0)return e;const t=o.length;let i=0,n=o.charCodeAt(0);if(t===1)return mt(n)?(e.root=e.dir=o,e):(e.base=e.name=o,e);if(mt(n)){if(i=1,mt(o.charCodeAt(1))){let h=2,u=h;for(;h0&&(e.root=o.slice(0,i));let s=-1,r=i,a=-1,l=!0,c=o.length-1,d=0;for(;c>=i;--c){if(n=o.charCodeAt(c),mt(n)){if(!l){r=c+1;break}continue}a===-1&&(l=!1,a=c+1),n===vc?s===-1?s=c:d!==1&&(d=1):s!==-1&&(d=-1)}return a!==-1&&(s===-1||d===0||d===1&&s===a-1&&s===r+1?e.base=e.name=o.slice(r,a):(e.name=o.slice(r,s),e.base=o.slice(r,a),e.ext=o.slice(s,a))),r>0&&r!==i?e.dir=o.slice(0,r-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},WV=(()=>{if(ed){const o=/\\/g;return()=>{const e=Qv().replace(o,"/");return e.slice(e.indexOf("/"))}}return()=>Qv()})(),yi={resolve(...o){let e="",t=!1;for(let i=o.length-1;i>=-1&&!t;i--){const n=i>=0?o[i]:WV();Oi(n,"path"),n.length!==0&&(e=`${n}/${e}`,t=n.charCodeAt(0)===kn)}return e=Jv(e,!t,"/",_D),t?`/${e}`:e.length>0?e:"."},normalize(o){if(Oi(o,"path"),o.length===0)return".";const e=o.charCodeAt(0)===kn,t=o.charCodeAt(o.length-1)===kn;return o=Jv(o,!e,"/",_D),o.length===0?e?"/":t?"./":".":(t&&(o+="/"),e?`/${o}`:o)},isAbsolute(o){return Oi(o,"path"),o.length>0&&o.charCodeAt(0)===kn},join(...o){if(o.length===0)return".";let e;for(let t=0;t0&&(e===void 0?e=i:e+=`/${i}`)}return e===void 0?".":yi.normalize(e)},relative(o,e){if(Oi(o,"from"),Oi(e,"to"),o===e||(o=yi.resolve(o),e=yi.resolve(e),o===e))return"";const t=1,i=o.length,n=i-t,s=1,r=e.length-s,a=na){if(e.charCodeAt(s+c)===kn)return e.slice(s+c+1);if(c===0)return e.slice(s+c)}else n>a&&(o.charCodeAt(t+c)===kn?l=c:c===0&&(l=0));let d="";for(c=t+l+1;c<=i;++c)(c===i||o.charCodeAt(c)===kn)&&(d+=d.length===0?"..":"/..");return`${d}${e.slice(s+l)}`},toNamespacedPath(o){return o},dirname(o){if(Oi(o,"path"),o.length===0)return".";const e=o.charCodeAt(0)===kn;let t=-1,i=!0;for(let n=o.length-1;n>=1;--n)if(o.charCodeAt(n)===kn){if(!i){t=n;break}}else i=!1;return t===-1?e?"/":".":e&&t===1?"//":o.slice(0,t)},basename(o,e){e!==void 0&&Oi(e,"ext"),Oi(o,"path");let t=0,i=-1,n=!0,s;if(e!==void 0&&e.length>0&&e.length<=o.length){if(e===o)return"";let r=e.length-1,a=-1;for(s=o.length-1;s>=0;--s){const l=o.charCodeAt(s);if(l===kn){if(!n){t=s+1;break}}else a===-1&&(n=!1,a=s+1),r>=0&&(l===e.charCodeAt(r)?--r===-1&&(i=s):(r=-1,i=a))}return t===i?i=a:i===-1&&(i=o.length),o.slice(t,i)}for(s=o.length-1;s>=0;--s)if(o.charCodeAt(s)===kn){if(!n){t=s+1;break}}else i===-1&&(n=!1,i=s+1);return i===-1?"":o.slice(t,i)},extname(o){Oi(o,"path");let e=-1,t=0,i=-1,n=!0,s=0;for(let r=o.length-1;r>=0;--r){const a=o.charCodeAt(r);if(a===kn){if(!n){t=r+1;break}continue}i===-1&&(n=!1,i=r+1),a===vc?e===-1?e=r:s!==1&&(s=1):e!==-1&&(s=-1)}return e===-1||i===-1||s===0||s===1&&e===i-1&&e===t+1?"":o.slice(e,i)},format:uF.bind(null,"/"),parse(o){Oi(o,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(o.length===0)return e;const t=o.charCodeAt(0)===kn;let i;t?(e.root="/",i=1):i=0;let n=-1,s=0,r=-1,a=!0,l=o.length-1,c=0;for(;l>=i;--l){const d=o.charCodeAt(l);if(d===kn){if(!a){s=l+1;break}continue}r===-1&&(a=!1,r=l+1),d===vc?n===-1?n=l:c!==1&&(c=1):n!==-1&&(c=-1)}if(r!==-1){const d=s===0&&t?1:s;n===-1||c===0||c===1&&n===r-1&&n===s+1?e.base=e.name=o.slice(d,r):(e.name=o.slice(d,n),e.base=o.slice(d,r),e.ext=o.slice(n,r))}return s>0?e.dir=o.slice(0,s-1):t&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};yi.win32=ms.win32=ms;yi.posix=ms.posix=yi;const gF=ed?ms.normalize:yi.normalize,VV=ed?ms.resolve:yi.resolve,HV=ed?ms.relative:yi.relative,fF=ed?ms.dirname:yi.dirname,Cc=ed?ms.basename:yi.basename,zV=ed?ms.extname:yi.extname,wr=ed?ms.sep:yi.sep,UV=/^\w[\w\d+.-]*$/,$V=/^\//,jV=/^\/\//;function fM(o,e){if(!o.scheme&&e)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${o.authority}", path: "${o.path}", query: "${o.query}", fragment: "${o.fragment}"}`);if(o.scheme&&!UV.test(o.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(o.path){if(o.authority){if(!$V.test(o.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(jV.test(o.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function KV(o,e){return!o&&!e?"file":o}function qV(o,e){switch(o){case"https":case"http":case"file":e?e[0]!==lr&&(e=lr+e):e=lr;break}return e}const di="",lr="/",GV=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class ve{static isUri(e){return e instanceof ve?!0:e?typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function":!1}constructor(e,t,i,n,s,r=!1){typeof e=="object"?(this.scheme=e.scheme||di,this.authority=e.authority||di,this.path=e.path||di,this.query=e.query||di,this.fragment=e.fragment||di):(this.scheme=KV(e,r),this.authority=t||di,this.path=qV(this.scheme,i||di),this.query=n||di,this.fragment=s||di,fM(this,r))}get fsPath(){return eC(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:i,path:n,query:s,fragment:r}=e;return t===void 0?t=this.scheme:t===null&&(t=di),i===void 0?i=this.authority:i===null&&(i=di),n===void 0?n=this.path:n===null&&(n=di),s===void 0?s=this.query:s===null&&(s=di),r===void 0?r=this.fragment:r===null&&(r=di),t===this.scheme&&i===this.authority&&n===this.path&&s===this.query&&r===this.fragment?this:new _u(t,i,n,s,r)}static parse(e,t=!1){const i=GV.exec(e);return i?new _u(i[2]||di,Zb(i[4]||di),Zb(i[5]||di),Zb(i[7]||di),Zb(i[9]||di),t):new _u(di,di,di,di,di)}static file(e){let t=di;if(tn&&(e=e.replace(/\\/g,lr)),e[0]===lr&&e[1]===lr){const i=e.indexOf(lr,2);i===-1?(t=e.substring(2),e=lr):(t=e.substring(2,i),e=e.substring(i)||lr)}return new _u("file",t,e,di,di)}static from(e){const t=new _u(e.scheme,e.authority,e.path,e.query,e.fragment);return fM(t,!0),t}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return tn&&e.scheme==="file"?i=ve.file(ms.join(eC(e,!0),...t)).path:i=yi.join(e.path,...t),e.with({path:i})}toString(e=!1){return bD(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof ve)return e;{const t=new _u(e);return t._formatted=e.external,t._fsPath=e._sep===pF?e.fsPath:null,t}}else return e}}const pF=tn?1:void 0;let _u=class extends ve{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=eC(this,!1)),this._fsPath}toString(e=!1){return e?bD(this,!0):(this._formatted||(this._formatted=bD(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=pF),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}};const mF={[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 pM(o,e,t){let i,n=-1;for(let s=0;s=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||r===45||r===46||r===95||r===126||e&&r===47||t&&r===91||t&&r===93||t&&r===58)n!==-1&&(i+=encodeURIComponent(o.substring(n,s)),n=-1),i!==void 0&&(i+=o.charAt(s));else{i===void 0&&(i=o.substr(0,s));const a=mF[r];a!==void 0?(n!==-1&&(i+=encodeURIComponent(o.substring(n,s)),n=-1),i+=a):n===-1&&(n=s)}}return n!==-1&&(i+=encodeURIComponent(o.substring(n))),i!==void 0?i:o}function ZV(o){let e;for(let t=0;t1&&o.scheme==="file"?t=`//${o.authority}${o.path}`:o.path.charCodeAt(0)===47&&(o.path.charCodeAt(1)>=65&&o.path.charCodeAt(1)<=90||o.path.charCodeAt(1)>=97&&o.path.charCodeAt(1)<=122)&&o.path.charCodeAt(2)===58?e?t=o.path.substr(1):t=o.path[1].toLowerCase()+o.path.substr(2):t=o.path,tn&&(t=t.replace(/\//g,"\\")),t}function bD(o,e){const t=e?ZV:pM;let i="",{scheme:n,authority:s,path:r,query:a,fragment:l}=o;if(n&&(i+=n,i+=":"),(s||n==="file")&&(i+=lr,i+=lr),s){let c=s.indexOf("@");if(c!==-1){const d=s.substr(0,c);s=s.substr(c+1),c=d.lastIndexOf(":"),c===-1?i+=t(d,!1,!1):(i+=t(d.substr(0,c),!1,!1),i+=":",i+=t(d.substr(c+1),!1,!0)),i+="@"}s=s.toLowerCase(),c=s.lastIndexOf(":"),c===-1?i+=t(s,!1,!0):(i+=t(s.substr(0,c),!1,!0),i+=s.substr(c))}if(r){if(r.length>=3&&r.charCodeAt(0)===47&&r.charCodeAt(2)===58){const c=r.charCodeAt(1);c>=65&&c<=90&&(r=`/${String.fromCharCode(c+32)}:${r.substr(3)}`)}else if(r.length>=2&&r.charCodeAt(1)===58){const c=r.charCodeAt(0);c>=65&&c<=90&&(r=`${String.fromCharCode(c+32)}:${r.substr(2)}`)}i+=t(r,!0,!1)}return a&&(i+="?",i+=t(a,!1,!1)),l&&(i+="#",i+=e?l:pM(l,!1,!1)),i}function _F(o){try{return decodeURIComponent(o)}catch{return o.length>3?o.substr(0,3)+_F(o.substr(3)):o}}const mM=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Zb(o){return o.match(mM)?o.replace(mM,e=>_F(e)):o}let W=class Id{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new Id(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return Id.equals(this,e)}static equals(e,t){return!e&&!t?!0:!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return Id.isBefore(this,e)}static isBefore(e,t){return e.lineNumberi||e===i&&t>n?(this.startLineNumber=i,this.startColumn=n,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=i,this.endColumn=n)}isEmpty(){return Ki.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return Ki.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.columne.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return Ki.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)}strictContainsRange(e){return Ki.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return Ki.plusRange(this,e)}static plusRange(e,t){let i,n,s,r;return t.startLineNumbere.endLineNumber?(s=t.endLineNumber,r=t.endColumn):t.endLineNumber===e.endLineNumber?(s=t.endLineNumber,r=Math.max(t.endColumn,e.endColumn)):(s=e.endLineNumber,r=e.endColumn),new Ki(i,n,s,r)}intersectRanges(e){return Ki.intersectRanges(this,e)}static intersectRanges(e,t){let i=e.startLineNumber,n=e.startColumn,s=e.endLineNumber,r=e.endColumn;const a=t.startLineNumber,l=t.startColumn,c=t.endLineNumber,d=t.endColumn;return ic?(s=c,r=d):s===c&&(r=Math.min(r,d)),i>s||i===s&&n>r?null:new Ki(i,n,s,r)}equalsRange(e){return Ki.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t?!0:!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return Ki.getEndPosition(this)}static getEndPosition(e){return new W(e.endLineNumber,e.endColumn)}getStartPosition(){return Ki.getStartPosition(this)}static getStartPosition(e){return new W(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new Ki(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new Ki(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return Ki.collapseToStart(this)}static collapseToStart(e){return new Ki(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return Ki.collapseToEnd(this)}static collapseToEnd(e){return new Ki(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new Ki(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new Ki(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new Ki(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&typeof e.startLineNumber=="number"&&typeof e.startColumn=="number"&&typeof e.endLineNumber=="number"&&typeof e.endColumn=="number"}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}},ue=class Mo extends y{constructor(e,t,i,n){super(e,t,i,n),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=i,this.positionColumn=n}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return Mo.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return this.getDirection()===0?new Mo(this.startLineNumber,this.startColumn,e,t):new Mo(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new W(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new W(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return this.getDirection()===0?new Mo(e,t,this.endLineNumber,this.endColumn):new Mo(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new Mo(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return t===0?new Mo(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new Mo(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new Mo(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let i=0,n=e.length;i{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))})}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){var i;(i=this._factories.get(e))===null||i===void 0||i.dispose();const n=new XV(this,e,t);return this._factories.set(e,n),Oe(()=>{const s=this._factories.get(e);!s||s!==n||(this._factories.delete(e),s.dispose())})}getOrCreate(e){return CD(this,void 0,void 0,function*(){const t=this.get(e);if(t)return t;const i=this._factories.get(e);return!i||i.isResolved?null:(yield i.resolve(),this.get(e))})}isResolved(e){if(this.get(e))return!0;const i=this._factories.get(e);return!!(!i||i.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}};class XV extends U{get isResolved(){return this._isResolved}constructor(e,t,i){super(),this._registry=e,this._languageId=t,this._factory=i,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}resolve(){return CD(this,void 0,void 0,function*(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise})}_create(){return CD(this,void 0,void 0,function*(){const e=yield this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))})}}let Rm=class{constructor(e,t,i){this.offset=e,this.type=t,this.language=i,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}};class sT{constructor(e,t){this.tokens=e,this.endState=t,this._tokenizationResultBrand=void 0}}class z1{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}var Pm;(function(o){const e=new Map;e.set(0,oe.symbolMethod),e.set(1,oe.symbolFunction),e.set(2,oe.symbolConstructor),e.set(3,oe.symbolField),e.set(4,oe.symbolVariable),e.set(5,oe.symbolClass),e.set(6,oe.symbolStruct),e.set(7,oe.symbolInterface),e.set(8,oe.symbolModule),e.set(9,oe.symbolProperty),e.set(10,oe.symbolEvent),e.set(11,oe.symbolOperator),e.set(12,oe.symbolUnit),e.set(13,oe.symbolValue),e.set(15,oe.symbolEnum),e.set(14,oe.symbolConstant),e.set(15,oe.symbolEnum),e.set(16,oe.symbolEnumMember),e.set(17,oe.symbolKeyword),e.set(27,oe.symbolSnippet),e.set(18,oe.symbolText),e.set(19,oe.symbolColor),e.set(20,oe.symbolFile),e.set(21,oe.symbolReference),e.set(22,oe.symbolCustomColor),e.set(23,oe.symbolFolder),e.set(24,oe.symbolTypeParameter),e.set(25,oe.account),e.set(26,oe.issues);function t(s){let r=e.get(s);return r||(console.info("No codicon found for CompletionItemKind "+s),r=oe.symbolProperty),r}o.toIcon=t;const i=new Map;i.set("method",0),i.set("function",1),i.set("constructor",2),i.set("field",3),i.set("variable",4),i.set("class",5),i.set("struct",6),i.set("interface",7),i.set("module",8),i.set("property",9),i.set("event",10),i.set("operator",11),i.set("unit",12),i.set("value",13),i.set("constant",14),i.set("enum",15),i.set("enum-member",16),i.set("enumMember",16),i.set("keyword",17),i.set("snippet",27),i.set("text",18),i.set("color",19),i.set("file",20),i.set("reference",21),i.set("customcolor",22),i.set("folder",23),i.set("type-parameter",24),i.set("typeParameter",24),i.set("account",25),i.set("issue",26);function n(s,r){let a=i.get(s);return typeof a>"u"&&!r&&(a=9),a}o.fromString=n})(Pm||(Pm={}));var Ms;(function(o){o[o.Automatic=0]="Automatic",o[o.Explicit=1]="Explicit"})(Ms||(Ms={}));var ma;(function(o){o[o.Invoke=1]="Invoke",o[o.TriggerCharacter=2]="TriggerCharacter",o[o.ContentChange=3]="ContentChange"})(ma||(ma={}));var Om;(function(o){o[o.Text=0]="Text",o[o.Read=1]="Read",o[o.Write=2]="Write"})(Om||(Om={}));function QV(o){return o&&ve.isUri(o.uri)&&y.isIRange(o.range)&&(y.isIRange(o.originSelectionRange)||y.isIRange(o.targetSelectionRange))}var wD;(function(o){const e=new Map;e.set(0,oe.symbolFile),e.set(1,oe.symbolModule),e.set(2,oe.symbolNamespace),e.set(3,oe.symbolPackage),e.set(4,oe.symbolClass),e.set(5,oe.symbolMethod),e.set(6,oe.symbolProperty),e.set(7,oe.symbolField),e.set(8,oe.symbolConstructor),e.set(9,oe.symbolEnum),e.set(10,oe.symbolInterface),e.set(11,oe.symbolFunction),e.set(12,oe.symbolVariable),e.set(13,oe.symbolConstant),e.set(14,oe.symbolString),e.set(15,oe.symbolNumber),e.set(16,oe.symbolBoolean),e.set(17,oe.symbolArray),e.set(18,oe.symbolObject),e.set(19,oe.symbolKey),e.set(20,oe.symbolNull),e.set(21,oe.symbolEnumMember),e.set(22,oe.symbolStruct),e.set(23,oe.symbolEvent),e.set(24,oe.symbolOperator),e.set(25,oe.symbolTypeParameter);function t(i){let n=e.get(i);return n||(console.info("No codicon found for SymbolKind "+i),n=oe.symbolProperty),n}o.toIcon=t})(wD||(wD={}));class Wn{static fromValue(e){switch(e){case"comment":return Wn.Comment;case"imports":return Wn.Imports;case"region":return Wn.Region}return new Wn(e)}constructor(e){this.value=e}}Wn.Comment=new Wn("comment");Wn.Imports=new Wn("imports");Wn.Region=new Wn("region");var SD;(function(o){function e(t){return!t||typeof t!="object"?!1:typeof t.id=="string"&&typeof t.title=="string"}o.is=e})(SD||(SD={}));var tC;(function(o){o[o.Type=1]="Type",o[o.Parameter=2]="Parameter"})(tC||(tC={}));class JV{constructor(e){this.createSupport=e,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(e=>{e&&e.dispose()})}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const Kt=new YV;var yD;(function(o){o[o.Unknown=0]="Unknown",o[o.Disabled=1]="Disabled",o[o.Enabled=2]="Enabled"})(yD||(yD={}));var LD;(function(o){o[o.Invoke=1]="Invoke",o[o.Auto=2]="Auto"})(LD||(LD={}));var DD;(function(o){o[o.None=0]="None",o[o.KeepWhitespace=1]="KeepWhitespace",o[o.InsertAsSnippet=4]="InsertAsSnippet"})(DD||(DD={}));var xD;(function(o){o[o.Method=0]="Method",o[o.Function=1]="Function",o[o.Constructor=2]="Constructor",o[o.Field=3]="Field",o[o.Variable=4]="Variable",o[o.Class=5]="Class",o[o.Struct=6]="Struct",o[o.Interface=7]="Interface",o[o.Module=8]="Module",o[o.Property=9]="Property",o[o.Event=10]="Event",o[o.Operator=11]="Operator",o[o.Unit=12]="Unit",o[o.Value=13]="Value",o[o.Constant=14]="Constant",o[o.Enum=15]="Enum",o[o.EnumMember=16]="EnumMember",o[o.Keyword=17]="Keyword",o[o.Text=18]="Text",o[o.Color=19]="Color",o[o.File=20]="File",o[o.Reference=21]="Reference",o[o.Customcolor=22]="Customcolor",o[o.Folder=23]="Folder",o[o.TypeParameter=24]="TypeParameter",o[o.User=25]="User",o[o.Issue=26]="Issue",o[o.Snippet=27]="Snippet"})(xD||(xD={}));var kD;(function(o){o[o.Deprecated=1]="Deprecated"})(kD||(kD={}));var ID;(function(o){o[o.Invoke=0]="Invoke",o[o.TriggerCharacter=1]="TriggerCharacter",o[o.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(ID||(ID={}));var ED;(function(o){o[o.EXACT=0]="EXACT",o[o.ABOVE=1]="ABOVE",o[o.BELOW=2]="BELOW"})(ED||(ED={}));var TD;(function(o){o[o.NotSet=0]="NotSet",o[o.ContentFlush=1]="ContentFlush",o[o.RecoverFromMarkers=2]="RecoverFromMarkers",o[o.Explicit=3]="Explicit",o[o.Paste=4]="Paste",o[o.Undo=5]="Undo",o[o.Redo=6]="Redo"})(TD||(TD={}));var ND;(function(o){o[o.LF=1]="LF",o[o.CRLF=2]="CRLF"})(ND||(ND={}));var MD;(function(o){o[o.Text=0]="Text",o[o.Read=1]="Read",o[o.Write=2]="Write"})(MD||(MD={}));var AD;(function(o){o[o.None=0]="None",o[o.Keep=1]="Keep",o[o.Brackets=2]="Brackets",o[o.Advanced=3]="Advanced",o[o.Full=4]="Full"})(AD||(AD={}));var RD;(function(o){o[o.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",o[o.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",o[o.accessibilitySupport=2]="accessibilitySupport",o[o.accessibilityPageSize=3]="accessibilityPageSize",o[o.ariaLabel=4]="ariaLabel",o[o.autoClosingBrackets=5]="autoClosingBrackets",o[o.screenReaderAnnounceInlineSuggestion=6]="screenReaderAnnounceInlineSuggestion",o[o.autoClosingDelete=7]="autoClosingDelete",o[o.autoClosingOvertype=8]="autoClosingOvertype",o[o.autoClosingQuotes=9]="autoClosingQuotes",o[o.autoIndent=10]="autoIndent",o[o.automaticLayout=11]="automaticLayout",o[o.autoSurround=12]="autoSurround",o[o.bracketPairColorization=13]="bracketPairColorization",o[o.guides=14]="guides",o[o.codeLens=15]="codeLens",o[o.codeLensFontFamily=16]="codeLensFontFamily",o[o.codeLensFontSize=17]="codeLensFontSize",o[o.colorDecorators=18]="colorDecorators",o[o.colorDecoratorsLimit=19]="colorDecoratorsLimit",o[o.columnSelection=20]="columnSelection",o[o.comments=21]="comments",o[o.contextmenu=22]="contextmenu",o[o.copyWithSyntaxHighlighting=23]="copyWithSyntaxHighlighting",o[o.cursorBlinking=24]="cursorBlinking",o[o.cursorSmoothCaretAnimation=25]="cursorSmoothCaretAnimation",o[o.cursorStyle=26]="cursorStyle",o[o.cursorSurroundingLines=27]="cursorSurroundingLines",o[o.cursorSurroundingLinesStyle=28]="cursorSurroundingLinesStyle",o[o.cursorWidth=29]="cursorWidth",o[o.disableLayerHinting=30]="disableLayerHinting",o[o.disableMonospaceOptimizations=31]="disableMonospaceOptimizations",o[o.domReadOnly=32]="domReadOnly",o[o.dragAndDrop=33]="dragAndDrop",o[o.dropIntoEditor=34]="dropIntoEditor",o[o.emptySelectionClipboard=35]="emptySelectionClipboard",o[o.experimentalWhitespaceRendering=36]="experimentalWhitespaceRendering",o[o.extraEditorClassName=37]="extraEditorClassName",o[o.fastScrollSensitivity=38]="fastScrollSensitivity",o[o.find=39]="find",o[o.fixedOverflowWidgets=40]="fixedOverflowWidgets",o[o.folding=41]="folding",o[o.foldingStrategy=42]="foldingStrategy",o[o.foldingHighlight=43]="foldingHighlight",o[o.foldingImportsByDefault=44]="foldingImportsByDefault",o[o.foldingMaximumRegions=45]="foldingMaximumRegions",o[o.unfoldOnClickAfterEndOfLine=46]="unfoldOnClickAfterEndOfLine",o[o.fontFamily=47]="fontFamily",o[o.fontInfo=48]="fontInfo",o[o.fontLigatures=49]="fontLigatures",o[o.fontSize=50]="fontSize",o[o.fontWeight=51]="fontWeight",o[o.fontVariations=52]="fontVariations",o[o.formatOnPaste=53]="formatOnPaste",o[o.formatOnType=54]="formatOnType",o[o.glyphMargin=55]="glyphMargin",o[o.gotoLocation=56]="gotoLocation",o[o.hideCursorInOverviewRuler=57]="hideCursorInOverviewRuler",o[o.hover=58]="hover",o[o.inDiffEditor=59]="inDiffEditor",o[o.inlineSuggest=60]="inlineSuggest",o[o.letterSpacing=61]="letterSpacing",o[o.lightbulb=62]="lightbulb",o[o.lineDecorationsWidth=63]="lineDecorationsWidth",o[o.lineHeight=64]="lineHeight",o[o.lineNumbers=65]="lineNumbers",o[o.lineNumbersMinChars=66]="lineNumbersMinChars",o[o.linkedEditing=67]="linkedEditing",o[o.links=68]="links",o[o.matchBrackets=69]="matchBrackets",o[o.minimap=70]="minimap",o[o.mouseStyle=71]="mouseStyle",o[o.mouseWheelScrollSensitivity=72]="mouseWheelScrollSensitivity",o[o.mouseWheelZoom=73]="mouseWheelZoom",o[o.multiCursorMergeOverlapping=74]="multiCursorMergeOverlapping",o[o.multiCursorModifier=75]="multiCursorModifier",o[o.multiCursorPaste=76]="multiCursorPaste",o[o.multiCursorLimit=77]="multiCursorLimit",o[o.occurrencesHighlight=78]="occurrencesHighlight",o[o.overviewRulerBorder=79]="overviewRulerBorder",o[o.overviewRulerLanes=80]="overviewRulerLanes",o[o.padding=81]="padding",o[o.parameterHints=82]="parameterHints",o[o.peekWidgetDefaultFocus=83]="peekWidgetDefaultFocus",o[o.definitionLinkOpensInPeek=84]="definitionLinkOpensInPeek",o[o.quickSuggestions=85]="quickSuggestions",o[o.quickSuggestionsDelay=86]="quickSuggestionsDelay",o[o.readOnly=87]="readOnly",o[o.renameOnType=88]="renameOnType",o[o.renderControlCharacters=89]="renderControlCharacters",o[o.renderFinalNewline=90]="renderFinalNewline",o[o.renderLineHighlight=91]="renderLineHighlight",o[o.renderLineHighlightOnlyWhenFocus=92]="renderLineHighlightOnlyWhenFocus",o[o.renderValidationDecorations=93]="renderValidationDecorations",o[o.renderWhitespace=94]="renderWhitespace",o[o.revealHorizontalRightPadding=95]="revealHorizontalRightPadding",o[o.roundedSelection=96]="roundedSelection",o[o.rulers=97]="rulers",o[o.scrollbar=98]="scrollbar",o[o.scrollBeyondLastColumn=99]="scrollBeyondLastColumn",o[o.scrollBeyondLastLine=100]="scrollBeyondLastLine",o[o.scrollPredominantAxis=101]="scrollPredominantAxis",o[o.selectionClipboard=102]="selectionClipboard",o[o.selectionHighlight=103]="selectionHighlight",o[o.selectOnLineNumbers=104]="selectOnLineNumbers",o[o.showFoldingControls=105]="showFoldingControls",o[o.showUnused=106]="showUnused",o[o.snippetSuggestions=107]="snippetSuggestions",o[o.smartSelect=108]="smartSelect",o[o.smoothScrolling=109]="smoothScrolling",o[o.stickyScroll=110]="stickyScroll",o[o.stickyTabStops=111]="stickyTabStops",o[o.stopRenderingLineAfter=112]="stopRenderingLineAfter",o[o.suggest=113]="suggest",o[o.suggestFontSize=114]="suggestFontSize",o[o.suggestLineHeight=115]="suggestLineHeight",o[o.suggestOnTriggerCharacters=116]="suggestOnTriggerCharacters",o[o.suggestSelection=117]="suggestSelection",o[o.tabCompletion=118]="tabCompletion",o[o.tabIndex=119]="tabIndex",o[o.unicodeHighlighting=120]="unicodeHighlighting",o[o.unusualLineTerminators=121]="unusualLineTerminators",o[o.useShadowDOM=122]="useShadowDOM",o[o.useTabStops=123]="useTabStops",o[o.wordBreak=124]="wordBreak",o[o.wordSeparators=125]="wordSeparators",o[o.wordWrap=126]="wordWrap",o[o.wordWrapBreakAfterCharacters=127]="wordWrapBreakAfterCharacters",o[o.wordWrapBreakBeforeCharacters=128]="wordWrapBreakBeforeCharacters",o[o.wordWrapColumn=129]="wordWrapColumn",o[o.wordWrapOverride1=130]="wordWrapOverride1",o[o.wordWrapOverride2=131]="wordWrapOverride2",o[o.wrappingIndent=132]="wrappingIndent",o[o.wrappingStrategy=133]="wrappingStrategy",o[o.showDeprecated=134]="showDeprecated",o[o.inlayHints=135]="inlayHints",o[o.editorClassName=136]="editorClassName",o[o.pixelRatio=137]="pixelRatio",o[o.tabFocusMode=138]="tabFocusMode",o[o.layoutInfo=139]="layoutInfo",o[o.wrappingInfo=140]="wrappingInfo"})(RD||(RD={}));var PD;(function(o){o[o.TextDefined=0]="TextDefined",o[o.LF=1]="LF",o[o.CRLF=2]="CRLF"})(PD||(PD={}));var OD;(function(o){o[o.LF=0]="LF",o[o.CRLF=1]="CRLF"})(OD||(OD={}));var FD;(function(o){o[o.None=0]="None",o[o.Indent=1]="Indent",o[o.IndentOutdent=2]="IndentOutdent",o[o.Outdent=3]="Outdent"})(FD||(FD={}));var BD;(function(o){o[o.Both=0]="Both",o[o.Right=1]="Right",o[o.Left=2]="Left",o[o.None=3]="None"})(BD||(BD={}));var WD;(function(o){o[o.Type=1]="Type",o[o.Parameter=2]="Parameter"})(WD||(WD={}));var VD;(function(o){o[o.Automatic=0]="Automatic",o[o.Explicit=1]="Explicit"})(VD||(VD={}));var HD;(function(o){o[o.DependsOnKbLayout=-1]="DependsOnKbLayout",o[o.Unknown=0]="Unknown",o[o.Backspace=1]="Backspace",o[o.Tab=2]="Tab",o[o.Enter=3]="Enter",o[o.Shift=4]="Shift",o[o.Ctrl=5]="Ctrl",o[o.Alt=6]="Alt",o[o.PauseBreak=7]="PauseBreak",o[o.CapsLock=8]="CapsLock",o[o.Escape=9]="Escape",o[o.Space=10]="Space",o[o.PageUp=11]="PageUp",o[o.PageDown=12]="PageDown",o[o.End=13]="End",o[o.Home=14]="Home",o[o.LeftArrow=15]="LeftArrow",o[o.UpArrow=16]="UpArrow",o[o.RightArrow=17]="RightArrow",o[o.DownArrow=18]="DownArrow",o[o.Insert=19]="Insert",o[o.Delete=20]="Delete",o[o.Digit0=21]="Digit0",o[o.Digit1=22]="Digit1",o[o.Digit2=23]="Digit2",o[o.Digit3=24]="Digit3",o[o.Digit4=25]="Digit4",o[o.Digit5=26]="Digit5",o[o.Digit6=27]="Digit6",o[o.Digit7=28]="Digit7",o[o.Digit8=29]="Digit8",o[o.Digit9=30]="Digit9",o[o.KeyA=31]="KeyA",o[o.KeyB=32]="KeyB",o[o.KeyC=33]="KeyC",o[o.KeyD=34]="KeyD",o[o.KeyE=35]="KeyE",o[o.KeyF=36]="KeyF",o[o.KeyG=37]="KeyG",o[o.KeyH=38]="KeyH",o[o.KeyI=39]="KeyI",o[o.KeyJ=40]="KeyJ",o[o.KeyK=41]="KeyK",o[o.KeyL=42]="KeyL",o[o.KeyM=43]="KeyM",o[o.KeyN=44]="KeyN",o[o.KeyO=45]="KeyO",o[o.KeyP=46]="KeyP",o[o.KeyQ=47]="KeyQ",o[o.KeyR=48]="KeyR",o[o.KeyS=49]="KeyS",o[o.KeyT=50]="KeyT",o[o.KeyU=51]="KeyU",o[o.KeyV=52]="KeyV",o[o.KeyW=53]="KeyW",o[o.KeyX=54]="KeyX",o[o.KeyY=55]="KeyY",o[o.KeyZ=56]="KeyZ",o[o.Meta=57]="Meta",o[o.ContextMenu=58]="ContextMenu",o[o.F1=59]="F1",o[o.F2=60]="F2",o[o.F3=61]="F3",o[o.F4=62]="F4",o[o.F5=63]="F5",o[o.F6=64]="F6",o[o.F7=65]="F7",o[o.F8=66]="F8",o[o.F9=67]="F9",o[o.F10=68]="F10",o[o.F11=69]="F11",o[o.F12=70]="F12",o[o.F13=71]="F13",o[o.F14=72]="F14",o[o.F15=73]="F15",o[o.F16=74]="F16",o[o.F17=75]="F17",o[o.F18=76]="F18",o[o.F19=77]="F19",o[o.NumLock=78]="NumLock",o[o.ScrollLock=79]="ScrollLock",o[o.Semicolon=80]="Semicolon",o[o.Equal=81]="Equal",o[o.Comma=82]="Comma",o[o.Minus=83]="Minus",o[o.Period=84]="Period",o[o.Slash=85]="Slash",o[o.Backquote=86]="Backquote",o[o.BracketLeft=87]="BracketLeft",o[o.Backslash=88]="Backslash",o[o.BracketRight=89]="BracketRight",o[o.Quote=90]="Quote",o[o.OEM_8=91]="OEM_8",o[o.IntlBackslash=92]="IntlBackslash",o[o.Numpad0=93]="Numpad0",o[o.Numpad1=94]="Numpad1",o[o.Numpad2=95]="Numpad2",o[o.Numpad3=96]="Numpad3",o[o.Numpad4=97]="Numpad4",o[o.Numpad5=98]="Numpad5",o[o.Numpad6=99]="Numpad6",o[o.Numpad7=100]="Numpad7",o[o.Numpad8=101]="Numpad8",o[o.Numpad9=102]="Numpad9",o[o.NumpadMultiply=103]="NumpadMultiply",o[o.NumpadAdd=104]="NumpadAdd",o[o.NUMPAD_SEPARATOR=105]="NUMPAD_SEPARATOR",o[o.NumpadSubtract=106]="NumpadSubtract",o[o.NumpadDecimal=107]="NumpadDecimal",o[o.NumpadDivide=108]="NumpadDivide",o[o.KEY_IN_COMPOSITION=109]="KEY_IN_COMPOSITION",o[o.ABNT_C1=110]="ABNT_C1",o[o.ABNT_C2=111]="ABNT_C2",o[o.AudioVolumeMute=112]="AudioVolumeMute",o[o.AudioVolumeUp=113]="AudioVolumeUp",o[o.AudioVolumeDown=114]="AudioVolumeDown",o[o.BrowserSearch=115]="BrowserSearch",o[o.BrowserHome=116]="BrowserHome",o[o.BrowserBack=117]="BrowserBack",o[o.BrowserForward=118]="BrowserForward",o[o.MediaTrackNext=119]="MediaTrackNext",o[o.MediaTrackPrevious=120]="MediaTrackPrevious",o[o.MediaStop=121]="MediaStop",o[o.MediaPlayPause=122]="MediaPlayPause",o[o.LaunchMediaPlayer=123]="LaunchMediaPlayer",o[o.LaunchMail=124]="LaunchMail",o[o.LaunchApp2=125]="LaunchApp2",o[o.Clear=126]="Clear",o[o.MAX_VALUE=127]="MAX_VALUE"})(HD||(HD={}));var zD;(function(o){o[o.Hint=1]="Hint",o[o.Info=2]="Info",o[o.Warning=4]="Warning",o[o.Error=8]="Error"})(zD||(zD={}));var UD;(function(o){o[o.Unnecessary=1]="Unnecessary",o[o.Deprecated=2]="Deprecated"})(UD||(UD={}));var $D;(function(o){o[o.Inline=1]="Inline",o[o.Gutter=2]="Gutter"})($D||($D={}));var jD;(function(o){o[o.UNKNOWN=0]="UNKNOWN",o[o.TEXTAREA=1]="TEXTAREA",o[o.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",o[o.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",o[o.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",o[o.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",o[o.CONTENT_TEXT=6]="CONTENT_TEXT",o[o.CONTENT_EMPTY=7]="CONTENT_EMPTY",o[o.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",o[o.CONTENT_WIDGET=9]="CONTENT_WIDGET",o[o.OVERVIEW_RULER=10]="OVERVIEW_RULER",o[o.SCROLLBAR=11]="SCROLLBAR",o[o.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",o[o.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(jD||(jD={}));var KD;(function(o){o[o.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",o[o.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",o[o.TOP_CENTER=2]="TOP_CENTER"})(KD||(KD={}));var qD;(function(o){o[o.Left=1]="Left",o[o.Center=2]="Center",o[o.Right=4]="Right",o[o.Full=7]="Full"})(qD||(qD={}));var GD;(function(o){o[o.Left=0]="Left",o[o.Right=1]="Right",o[o.None=2]="None",o[o.LeftOfInjectedText=3]="LeftOfInjectedText",o[o.RightOfInjectedText=4]="RightOfInjectedText"})(GD||(GD={}));var ZD;(function(o){o[o.Off=0]="Off",o[o.On=1]="On",o[o.Relative=2]="Relative",o[o.Interval=3]="Interval",o[o.Custom=4]="Custom"})(ZD||(ZD={}));var YD;(function(o){o[o.None=0]="None",o[o.Text=1]="Text",o[o.Blocks=2]="Blocks"})(YD||(YD={}));var XD;(function(o){o[o.Smooth=0]="Smooth",o[o.Immediate=1]="Immediate"})(XD||(XD={}));var QD;(function(o){o[o.Auto=1]="Auto",o[o.Hidden=2]="Hidden",o[o.Visible=3]="Visible"})(QD||(QD={}));var JD;(function(o){o[o.LTR=0]="LTR",o[o.RTL=1]="RTL"})(JD||(JD={}));var ex;(function(o){o[o.Invoke=1]="Invoke",o[o.TriggerCharacter=2]="TriggerCharacter",o[o.ContentChange=3]="ContentChange"})(ex||(ex={}));var tx;(function(o){o[o.File=0]="File",o[o.Module=1]="Module",o[o.Namespace=2]="Namespace",o[o.Package=3]="Package",o[o.Class=4]="Class",o[o.Method=5]="Method",o[o.Property=6]="Property",o[o.Field=7]="Field",o[o.Constructor=8]="Constructor",o[o.Enum=9]="Enum",o[o.Interface=10]="Interface",o[o.Function=11]="Function",o[o.Variable=12]="Variable",o[o.Constant=13]="Constant",o[o.String=14]="String",o[o.Number=15]="Number",o[o.Boolean=16]="Boolean",o[o.Array=17]="Array",o[o.Object=18]="Object",o[o.Key=19]="Key",o[o.Null=20]="Null",o[o.EnumMember=21]="EnumMember",o[o.Struct=22]="Struct",o[o.Event=23]="Event",o[o.Operator=24]="Operator",o[o.TypeParameter=25]="TypeParameter"})(tx||(tx={}));var ix;(function(o){o[o.Deprecated=1]="Deprecated"})(ix||(ix={}));var nx;(function(o){o[o.Hidden=0]="Hidden",o[o.Blink=1]="Blink",o[o.Smooth=2]="Smooth",o[o.Phase=3]="Phase",o[o.Expand=4]="Expand",o[o.Solid=5]="Solid"})(nx||(nx={}));var sx;(function(o){o[o.Line=1]="Line",o[o.Block=2]="Block",o[o.Underline=3]="Underline",o[o.LineThin=4]="LineThin",o[o.BlockOutline=5]="BlockOutline",o[o.UnderlineThin=6]="UnderlineThin"})(sx||(sx={}));var ox;(function(o){o[o.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",o[o.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",o[o.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",o[o.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(ox||(ox={}));var rx;(function(o){o[o.None=0]="None",o[o.Same=1]="Same",o[o.Indent=2]="Indent",o[o.DeepIndent=3]="DeepIndent"})(rx||(rx={}));let ib=class{static chord(e,t){return ki(e,t)}};ib.CtrlCmd=2048;ib.Shift=1024;ib.Alt=512;ib.WinCtrl=256;function vF(){return{editor:void 0,languages:void 0,CancellationTokenSource:nn,Emitter:P,KeyCode:HD,KeyMod:ib,Position:W,Range:y,Selection:ue,SelectionDirection:JD,MarkerSeverity:zD,MarkerTag:UD,Uri:ve,Token:Rm}}class eH{constructor(e){this.fn=e,this.lastCache=void 0,this.lastArgKey=void 0}get(e){const t=JSON.stringify(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this.fn(e)),this.lastCache}}class _M{get cachedValues(){return this._map}constructor(e){this.fn=e,this._map=new Map}get(e){if(this._map.has(e))return this._map.get(e);const t=this.fn(e);return this._map.set(e,t),t}}class td{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var CF;function wF(o){return!o||typeof o!="string"?!0:o.trim().length===0}const tH=/{(\d+)}/g;function lo(o,...e){return e.length===0?o:o.replace(tH,function(t,i){const n=parseInt(i,10);return isNaN(n)||n<0||n>=e.length?t:e[n]})}function iC(o){return o.replace(/[<>&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})}function Ks(o){return o.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function iH(o,e=" "){const t=nb(o,e);return SF(t,e)}function nb(o,e){if(!o||!e)return o;const t=e.length;if(t===0||o.length===0)return o;let i=0;for(;o.indexOf(e,i)===i;)i=i+t;return o.substring(i)}function SF(o,e){if(!o||!e)return o;const t=e.length,i=o.length;if(t===0||i===0)return o;let n=i,s=-1;for(;s=o.lastIndexOf(e,n-1),!(s===-1||s+t!==n);){if(s===0)return"";n=s}return o.substring(0,n)}function nH(o){return o.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function sH(o){return o.replace(/\*/g,"")}function yF(o,e,t={}){if(!o)throw new Error("Cannot create regex from empty string");e||(o=Ks(o)),t.wholeWord&&(/\B/.test(o.charAt(0))||(o="\\b"+o),/\B/.test(o.charAt(o.length-1))||(o=o+"\\b"));let i="";return t.global&&(i+="g"),t.matchCase||(i+="i"),t.multiline&&(i+="m"),t.unicode&&(i+="u"),new RegExp(o,i)}function oH(o){return o.source==="^"||o.source==="^$"||o.source==="$"||o.source==="^\\s*$"?!1:!!(o.exec("")&&o.lastIndex===0)}function YS(o){return(o.global?"g":"")+(o.ignoreCase?"i":"")+(o.multiline?"m":"")+(o.unicode?"u":"")}function ya(o){return o.split(/\r\n|\r|\n/)}function Mn(o){for(let e=0,t=o.length;e=0;t--){const i=o.charCodeAt(t);if(i!==32&&i!==9)return t}return-1}function Fm(o,e){return oe?1:0}function oT(o,e,t=0,i=o.length,n=0,s=e.length){for(;tc)return 1}const r=i-t,a=s-n;return ra?1:0}function ax(o,e){return sb(o,e,0,o.length,0,e.length)}function sb(o,e,t=0,i=o.length,n=0,s=e.length){for(;t=128||c>=128)return oT(o.toLowerCase(),e.toLowerCase(),t,i,n,s);ac(l)&&(l-=32),ac(c)&&(c-=32);const d=l-c;if(d!==0)return d}const r=i-t,a=s-n;return ra?1:0}function Yb(o){return o>=48&&o<=57}function ac(o){return o>=97&&o<=122}function Gr(o){return o>=65&&o<=90}function Gu(o,e){return o.length===e.length&&sb(o,e)===0}function rT(o,e){const t=e.length;return e.length>o.length?!1:sb(o,e,0,t)===0}function mh(o,e){const t=Math.min(o.length,e.length);let i;for(i=0;i1){const i=o.charCodeAt(e-2);if(Ei(i))return aT(i,t)}return t}class lT{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){const e=rH(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=nC(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class sC{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new lT(e,t)}nextGraphemeLength(){const e=lc.getInstance(),t=this._iterator,i=t.offset;let n=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const s=t.offset,r=e.getGraphemeBreakType(t.nextCodePoint());if(bM(n,r)){t.setOffset(s);break}n=r}return t.offset-i}prevGraphemeLength(){const e=lc.getInstance(),t=this._iterator,i=t.offset;let n=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const s=t.offset,r=e.getGraphemeBreakType(t.prevCodePoint());if(bM(r,n)){t.setOffset(s);break}n=r}return i-t.offset}eol(){return this._iterator.eol()}}function cT(o,e){return new sC(o,e).nextGraphemeLength()}function LF(o,e){return new sC(o,e).prevGraphemeLength()}function aH(o,e){e>0&&_h(o.charCodeAt(e))&&e--;const t=e+cT(o,e);return[t-LF(o,t),t]}let XS;function lH(){return/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/}function jg(o){return XS||(XS=lH()),XS.test(o)}const cH=/^[\t\n\r\x20-\x7E]*$/;function ob(o){return cH.test(o)}const DF=/[\u2028\u2029]/;function xF(o){return DF.test(o)}function Pc(o){return o>=11904&&o<=55215||o>=63744&&o<=64255||o>=65281&&o<=65374}function dT(o){return o>=127462&&o<=127487||o===8986||o===8987||o===9200||o===9203||o>=9728&&o<=10175||o===11088||o===11093||o>=127744&&o<=128591||o>=128640&&o<=128764||o>=128992&&o<=129008||o>=129280&&o<=129535||o>=129648&&o<=129782}const dH=String.fromCharCode(65279);function hT(o){return!!(o&&o.length>0&&o.charCodeAt(0)===65279)}function hH(o,e=!1){return o?(e&&(o=o.replace(/\\./g,"")),o.toLowerCase()!==o):!1}function kF(o){return o=o%(2*26),o<26?String.fromCharCode(97+o):String.fromCharCode(65+o-26)}function bM(o,e){return o===0?e!==5&&e!==7:o===2&&e===3?!1:o===4||o===2||o===3||e===4||e===2||e===3?!0:!(o===8&&(e===8||e===9||e===11||e===12)||(o===11||o===9)&&(e===9||e===10)||(o===12||o===10)&&e===10||e===5||e===13||e===7||o===1||o===13&&e===14||o===6&&e===6)}class lc{static getInstance(){return lc._INSTANCE||(lc._INSTANCE=new lc),lc._INSTANCE}constructor(){this._data=uH()}getGraphemeBreakType(e){if(e<32)return e===10?3:e===13?2:4;if(e<127)return 0;const t=this._data,i=t.length/3;let n=1;for(;n<=i;)if(et[3*n+1])n=2*n+1;else return t[3*n+2];return 0}}lc._INSTANCE=null;function uH(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}function gH(o,e){if(o===0)return 0;const t=fH(o,e);if(t!==void 0)return t;const i=new lT(e,o);return i.prevCodePoint(),i.offset}function fH(o,e){const t=new lT(e,o);let i=t.prevCodePoint();for(;pH(i)||i===65039||i===8419;){if(t.offset===0)return;i=t.prevCodePoint()}if(!dT(i))return;let n=t.offset;return n>0&&t.prevCodePoint()===8205&&(n=t.offset),n}function pH(o){return 127995<=o&&o<=127999}const mH=" ";class $o{static getInstance(e){return $o.cache.get(Array.from(e))}static getLocales(){return $o._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}CF=$o;$o.ambiguousCharacterData=new td(()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}'));$o.cache=new eH(o=>{function e(c){const d=new Map;for(let h=0;h!c.startsWith("_")&&c in n);s.length===0&&(s=["_default"]);let r;for(const c of s){const d=e(n[c]);r=i(r,d)}const a=e(n._common),l=t(a,r);return new $o(l)});$o._locales=new td(()=>Object.keys($o.ambiguousCharacterData.value).filter(o=>!o.startsWith("_")));class _a{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static getData(){return this._data||(this._data=new Set(_a.getRawData())),this._data}static isInvisibleCharacter(e){return _a.getData().has(e)}static get codePoints(){return _a.getData()}}_a._data=void 0;class lx{constructor(){this._zoomFactor=1}getZoomFactor(){return this._zoomFactor}}lx.INSTANCE=new lx;class _H extends U{constructor(){super(),this._onDidChange=this._register(new P),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(!0),this._mediaQueryList=null,this._handleChange(!1)}_handleChange(e){var t;(t=this._mediaQueryList)===null||t===void 0||t.removeEventListener("change",this._listener),this._mediaQueryList=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),e&&this._onDidChange.fire()}}class bH extends U{get value(){return this._value}constructor(){super(),this._onDidChange=this._register(new P),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio();const e=this._register(new _H);this._register(e.onDidChange(()=>{this._value=this._getPixelRatio(),this._onDidChange.fire(this._value)}))}_getPixelRatio(){const e=document.createElement("canvas").getContext("2d"),t=window.devicePixelRatio||1,i=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return t/i}}class vH{constructor(){this._pixelRatioMonitor=null}_getOrCreatePixelRatioMonitor(){return this._pixelRatioMonitor||(this._pixelRatioMonitor=new bH),this._pixelRatioMonitor}get value(){return this._getOrCreatePixelRatioMonitor().value}get onDidChange(){return this._getOrCreatePixelRatioMonitor().onDidChange}}function uT(o,e){typeof o=="string"&&(o=window.matchMedia(o)),o.addEventListener("change",e)}const Kg=new vH;function IF(){return lx.INSTANCE.getZoomFactor()}const Nf=navigator.userAgent,mo=Nf.indexOf("Firefox")>=0,wc=Nf.indexOf("AppleWebKit")>=0,gT=Nf.indexOf("Chrome")>=0,Dl=!gT&&Nf.indexOf("Safari")>=0,fT=!gT&&!Dl&&wc,CH=Nf.indexOf("Electron/")>=0,EF=Nf.indexOf("Android")>=0;let gv=!1;if(window.matchMedia){const o=window.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),e=window.matchMedia("(display-mode: fullscreen)");gv=o.matches,uT(o,({matches:t})=>{gv&&e.matches||(gv=t)})}function pT(){return gv}const wH=Object.freeze(Object.defineProperty({__proto__:null,PixelRatio:Kg,addMatchMediaChangeListener:uT,getZoomFactor:IF,isAndroid:EF,isChrome:gT,isElectron:CH,isFirefox:mo,isSafari:Dl,isStandalone:pT,isWebKit:wc,isWebkitWebView:fT},Symbol.toStringTag,{value:"Module"}));class TF{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){const t=er(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=er(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=er(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=er(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=er(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=er(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=er(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){const t=er(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){const t=er(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){const t=er(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=er(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}}function er(o){return typeof o=="number"?`${o}px`:o}function ct(o){return new TF(o)}function en(o,e){o instanceof TF?(o.setFontFamily(e.getMassagedFontFamily()),o.setFontWeight(e.fontWeight),o.setFontSize(e.fontSize),o.setFontFeatureSettings(e.fontFeatureSettings),o.setFontVariationSettings(e.fontVariationSettings),o.setLineHeight(e.lineHeight),o.setLetterSpacing(e.letterSpacing)):(o.style.fontFamily=e.getMassagedFontFamily(),o.style.fontWeight=e.fontWeight,o.style.fontSize=e.fontSize+"px",o.style.fontFeatureSettings=e.fontFeatureSettings,o.style.fontVariationSettings=e.fontVariationSettings,o.style.lineHeight=e.lineHeight+"px",o.style.letterSpacing=e.letterSpacing+"px")}class SH{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}}class mT{constructor(e,t){this._bareFontInfo=e,this._requests=t,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 e=document.createElement("div");e.style.position="absolute",e.style.top="-50000px",e.style.width="50000px";const t=document.createElement("div");en(t,this._bareFontInfo),e.appendChild(t);const i=document.createElement("div");en(i,this._bareFontInfo),i.style.fontWeight="bold",e.appendChild(i);const n=document.createElement("div");en(n,this._bareFontInfo),n.style.fontStyle="italic",e.appendChild(n);const s=[];for(const r of this._requests){let a;r.type===0&&(a=t),r.type===2&&(a=i),r.type===1&&(a=n),a.appendChild(document.createElement("br"));const l=document.createElement("span");mT._render(l,r),a.appendChild(l),s.push(l)}this._container=e,this._testElements=s}static _render(e,t){if(t.chr===" "){let i=" ";for(let n=0;n<8;n++)i+=i;e.innerText=i}else{let i=t.chr;for(let n=0;n<8;n++)i+=i;e.textContent=i}}_readFromDomElements(){for(let e=0,t=this._requests.length;e{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings()},5e3))}_evictUntrustedReadings(){const e=this._cache.getValues();let t=!1;for(const i of e)i.isTrusted||(t=!0,this._cache.remove(i));t&&this._onDidChange.fire()}readFontInfo(e){if(!this._cache.has(e)){let t=this._actualReadFontInfo(e);(t.typicalHalfwidthCharacterWidth<=2||t.typicalFullwidthCharacterWidth<=2||t.spaceWidth<=2||t.maxDigitWidth<=2)&&(t=new cx({pixelRatio:Kg.value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:t.isMonospace,typicalHalfwidthCharacterWidth:Math.max(t.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(t.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:t.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(t.spaceWidth,5),middotWidth:Math.max(t.middotWidth,5),wsmiddotWidth:Math.max(t.wsmiddotWidth,5),maxDigitWidth:Math.max(t.maxDigitWidth,5)},!1)),this._writeToCache(e,t)}return this._cache.get(e)}_createRequest(e,t,i,n){const s=new SH(e,t);return i.push(s),n==null||n.push(s),s}_actualReadFontInfo(e){const t=[],i=[],n=this._createRequest("n",0,t,i),s=this._createRequest("m",0,t,null),r=this._createRequest(" ",0,t,i),a=this._createRequest("0",0,t,i),l=this._createRequest("1",0,t,i),c=this._createRequest("2",0,t,i),d=this._createRequest("3",0,t,i),h=this._createRequest("4",0,t,i),u=this._createRequest("5",0,t,i),g=this._createRequest("6",0,t,i),p=this._createRequest("7",0,t,i),m=this._createRequest("8",0,t,i),_=this._createRequest("9",0,t,i),v=this._createRequest("→",0,t,i),b=this._createRequest("→",0,t,null),C=this._createRequest("·",0,t,i),w=this._createRequest(String.fromCharCode(11825),0,t,null),L="|/-_ilm%";for(let O=0,R=L.length;O.001){D=!1;break}}let k=!0;return D&&b.width!==x&&(k=!1),b.width>v.width&&(k=!1),new cx({pixelRatio:Kg.value,fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontSize:e.fontSize,fontFeatureSettings:e.fontFeatureSettings,fontVariationSettings:e.fontVariationSettings,lineHeight:e.lineHeight,letterSpacing:e.letterSpacing,isMonospace:D,typicalHalfwidthCharacterWidth:n.width,typicalFullwidthCharacterWidth:s.width,canUseHalfwidthRightwardsArrow:k,spaceWidth:r.width,middotWidth:C.width,wsmiddotWidth:w.width,maxDigitWidth:E},!0)}}class vM{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){const t=e.getId();return!!this._values[t]}get(e){const t=e.getId();return this._values[t]}put(e,t){const i=e.getId();this._keys[i]=e,this._values[i]=t}remove(e){const t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(e=>this._values[e])}}const dx=new xH;var pr;(function(o){o.serviceIds=new Map,o.DI_TARGET="$di$target",o.DI_DEPENDENCIES="$di$dependencies";function e(t){return t[o.DI_DEPENDENCIES]||[]}o.getServiceDependencies=e})(pr||(pr={}));const Ae=et("instantiationService");function kH(o,e,t){e[pr.DI_TARGET]===e?e[pr.DI_DEPENDENCIES].push({id:o,index:t}):(e[pr.DI_DEPENDENCIES]=[{id:o,index:t}],e[pr.DI_TARGET]=e)}function et(o){if(pr.serviceIds.has(o))return pr.serviceIds.get(o);const e=function(t,i,n){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");kH(e,t,n)};return e.toString=()=>o,pr.serviceIds.set(o,e),e}const ut=et("codeEditorService");function em(o,e){if(!o)throw new Error(e?`Assertion failed (${e})`:"Assertion Failed")}function U1(o,e="Unreachable"){throw new Error(e)}function _T(o){if(!o()){debugger;o(),Fe(new Ma("Assertion Failed"))}}function NF(o,e){let t=0;for(;t\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">=";case 8:return">=";case 9:return"=~";case 10:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 17:return e.lexeme;case 18:return e.lexeme;case 19:return e.lexeme;case 20:return"EOF";default:throw XE(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const t=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:t})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const t=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:t})}else this._match(126)?this._addToken(9):this._error(JS("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(JS("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(JS("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return this._isAtEnd()||this._input.charCodeAt(this._current)!==e?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,i=this._input.substring(this._start,this._current),n={type:19,offset:this._start,lexeme:i};this._errors.push({offset:t,lexeme:i,additionalInfo:e}),this._tokens.push(n)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),i=hx._keywords.get(t);i?this._addToken(i):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(IH);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let e=this._current,t=!1,i=!1;for(;;){if(e>=this._input.length){this._current=e,this._error(EH);return}const s=this._input.charCodeAt(e);if(t)t=!1;else if(s===47&&!i){e++;break}else s===91?i=!0:s===92?t=!0:s===93&&(i=!1);e++}for(;e=this._input.length}};Rd._regexFlags=new Set(["i","g","s","m","y","u"].map(o=>o.charCodeAt(0)));Rd._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);const Ln=new Map;Ln.set("false",!1);Ln.set("true",!0);Ln.set("isMac",qe);Ln.set("isLinux",fn);Ln.set("isWindows",tn);Ln.set("isWeb",Qc);Ln.set("isMacNative",qe&&!Qc);Ln.set("isEdge",uW);Ln.set("isFirefox",dW);Ln.set("isChrome",j4);Ln.set("isSafari",hW);const TH=Object.prototype.hasOwnProperty,NH={regexParsingWithErrorRecovery:!0},MH=f("contextkey.parser.error.emptyString","Empty context key expression"),AH=f("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),RH=f("contextkey.parser.error.noInAfterNot","'in' after 'not'."),CM=f("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),PH=f("contextkey.parser.error.unexpectedToken","Unexpected token"),OH=f("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),FH=f("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),BH=f("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");let MF=class kp{constructor(e=NH){this._config=e,this._scanner=new Rd,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(e===""){this._parsingErrors.push({message:MH,offset:0,lexeme:"",additionalInfo:AH});return}this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const t=this._expr();if(!this._isAtEnd()){const i=this._peek(),n=i.type===17?OH:void 0;throw this._parsingErrors.push({message:PH,offset:i.offset,lexeme:Rd.getLexeme(i),additionalInfo:n}),kp._parseError}return t}catch(t){if(t!==kp._parseError)throw t;return}}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return e.length===1?e[0]:Y.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return e.length===1?e[0]:Y.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),zn.INSTANCE;case 12:return this._advance(),os.INSTANCE;case 0:{this._advance();const t=this._expr();return this._consume(1,CM),t==null?void 0:t.negate()}case 17:return this._advance(),Xh.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),Y.true();case 12:return this._advance(),Y.false();case 0:{this._advance();const t=this._expr();return this._consume(1,CM),t}case 17:{const t=e.lexeme;if(this._advance(),this._matchOne(9)){const n=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),n.type!==10)throw this._errExpectedButGot("REGEX",n);const s=n.lexeme,r=s.lastIndexOf("/"),a=r===s.length-1?void 0:this._removeFlagsGY(s.substring(r+1));let l;try{l=new RegExp(s.substring(1,r),a)}catch{throw this._errExpectedButGot("REGEX",n)}return Wm.create(t,l)}switch(n.type){case 10:case 19:{const s=[n.lexeme];this._advance();let r=this._peek(),a=0;for(let u=0;u=0){const c=s.slice(a+1,l),d=s[l+1]==="i"?"i":"";try{r=new RegExp(c,d)}catch{throw this._errExpectedButGot("REGEX",n)}}}if(r===null)throw this._errExpectedButGot("REGEX",n);return Wm.create(t,r)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,RH);const n=this._value();return Y.notIn(t,n)}switch(this._peek().type){case 3:{this._advance();const n=this._value();if(this._previous().type===18)return Y.equals(t,n);switch(n){case"true":return Y.has(t);case"false":return Y.not(t);default:return Y.equals(t,n)}}case 4:{this._advance();const n=this._value();if(this._previous().type===18)return Y.notEquals(t,n);switch(n){case"true":return Y.not(t);case"false":return Y.has(t);default:return Y.notEquals(t,n)}}case 5:return this._advance(),X1.create(t,this._value());case 6:return this._advance(),Q1.create(t,this._value());case 7:return this._advance(),Z1.create(t,this._value());case 8:return this._advance(),Y1.create(t,this._value());case 13:return this._advance(),Y.in(t,this._value());default:return Y.has(t)}}case 20:throw this._parsingErrors.push({message:FH,offset:e.offset,lexeme:"",additionalInfo:BH}),kp._parseError;default:throw this._errExpectedButGot(`true | false | KEY | KEY '=~' REGEX | KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return this._check(e)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,i){const n=f("contextkey.parser.error.expectedButGot",`Expected: {0} Received: '{1}'.`,e,Rd.getLexeme(t)),s=t.offset,r=Rd.getLexeme(t);return this._parsingErrors.push({message:n,offset:s,lexeme:r,additionalInfo:i}),kp._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}};MF._parseError=new Error;class Y{static false(){return zn.INSTANCE}static true(){return os.INSTANCE}static has(e){return Yh.create(e)}static equals(e,t){return rb.create(e,t)}static notEquals(e,t){return q1.create(e,t)}static regex(e,t){return Wm.create(e,t)}static in(e,t){return j1.create(e,t)}static notIn(e,t){return K1.create(e,t)}static not(e){return Xh.create(e)}static and(...e){return jd.create(e,null,!0)}static or(...e){return ol.create(e,null,!0)}static deserialize(e){return e==null?void 0:this._parser.parse(e)}}Y._parser=new MF({regexParsingWithErrorRecovery:!1});function WH(o,e){const t=o?o.substituteConstants():void 0,i=e?e.substituteConstants():void 0;return!t&&!i?!0:!t||!i?!1:t.equals(i)}function tm(o,e){return o.cmp(e)}class zn{constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return os.INSTANCE}}zn.INSTANCE=new zn;class os{constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return zn.INSTANCE}}os.INSTANCE=new os;class Yh{static create(e,t=null){const i=Ln.get(e);return typeof i=="boolean"?i?os.INSTANCE:zn.INSTANCE:new Yh(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:RF(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=Ln.get(this.key);return typeof e=="boolean"?e?os.INSTANCE:zn.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=Xh.create(this.key,this)),this.negated}}class rb{static create(e,t,i=null){if(typeof t=="boolean")return t?Yh.create(e,i):Xh.create(e,i);const n=Ln.get(e);return typeof n=="boolean"?t===(n?"true":"false")?os.INSTANCE:zn.INSTANCE:new rb(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:Qh(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=Ln.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?os.INSTANCE:zn.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=q1.create(this.key,this.value,this)),this.negated}}class j1{static create(e,t){return new j1(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:Qh(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type?this.key===e.key&&this.valueKey===e.valueKey:!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);return Array.isArray(t)?t.includes(i):typeof i=="string"&&typeof t=="object"&&t!==null?TH.call(t,i):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=K1.create(this.key,this.valueKey)),this.negated}}class K1{static create(e,t){return new K1(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=j1.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type?this._negated.equals(e._negated):!1}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class q1{static create(e,t,i=null){if(typeof t=="boolean")return t?Xh.create(e,i):Yh.create(e,i);const n=Ln.get(e);return typeof n=="boolean"?t===(n?"true":"false")?zn.INSTANCE:os.INSTANCE:new q1(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:Qh(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=Ln.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?zn.INSTANCE:os.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=rb.create(this.key,this.value,this)),this.negated}}class Xh{static create(e,t=null){const i=Ln.get(e);return typeof i=="boolean"?i?zn.INSTANCE:os.INSTANCE:new Xh(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:RF(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=Ln.get(this.key);return typeof e=="boolean"?e?zn.INSTANCE:os.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Yh.create(this.key,this)),this.negated}}function G1(o,e){if(typeof o=="string"){const t=parseFloat(o);isNaN(t)||(o=t)}return typeof o=="string"||typeof o=="number"?e(o):zn.INSTANCE}class Z1{static create(e,t,i=null){return G1(t,n=>new Z1(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:Qh(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Q1.create(this.key,this.value,this)),this.negated}}class Y1{static create(e,t,i=null){return G1(t,n=>new Y1(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:Qh(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=X1.create(this.key,this.value,this)),this.negated}}class X1{static create(e,t,i=null){return G1(t,n=>new X1(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:Qh(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))new Q1(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:Qh(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Z1.create(this.key,this.value,this)),this.negated}}class Wm{static create(e,t){return new Wm(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.keye.key)return 1;const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return ti?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return this.key===e.key&&t===i}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return this.regexp?this.regexp.test(t):!1}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=bT.create(this)),this.negated}}class bT{static create(e){return new bT(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type?this._actual.equals(e._actual):!1}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){throw new Error("Method not implemented.")}keys(){return this._actual.keys()}negate(){return this._actual}}function AF(o){let e=null;for(let t=0,i=o.length;te.expr.length)return 1;for(let t=0,i=this.expr.length;t1;){const r=n[n.length-1];if(r.type!==9)break;n.pop();const a=n.pop(),l=n.length===0,c=ol.create(r.expr.map(d=>jd.create([d,a],null,i)),null,l);c&&(n.push(c),n.sort(tm))}if(n.length===1)return n[0];if(i){for(let r=0;re.serialize()).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=ol.create(e,this,!0)}return this.negated}}class ol{static create(e,t,i){return ol._normalizeArr(e,t,i)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.lengthe.expr.length)return 1;for(let t=0,i=this.expr.length;te.serialize()).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),i=e.shift(),n=[];for(const s of SM(t))for(const r of SM(i))n.push(jd.create([s,r],null,!1));e.unshift(ol.create(n,null,!1))}this.negated=ol.create(e,this,!0)}return this.negated}}class de extends Yh{static all(){return de._info.values()}constructor(e,t,i){super(e,null),this._defaultValue=t,typeof i=="object"?de._info.push(Object.assign(Object.assign({},i),{key:e})):i!==!0&&de._info.push({key:e,description:i,type:t!=null?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return rb.create(this.key,e)}}de._info=[];const Ee=et("contextKeyService");function RF(o,e){return oe?1:0}function Qh(o,e,t,i){return ot?1:ei?1:0}function ux(o,e){if(o.type===0||e.type===1)return!0;if(o.type===9)return e.type===9?wM(o.expr,e.expr):!1;if(e.type===9){for(const t of e.expr)if(ux(o,t))return!0;return!1}if(o.type===6){if(e.type===6)return wM(e.expr,o.expr);for(const t of o.expr)if(ux(t,e))return!0;return!1}return o.equals(e)}function wM(o,e){let t=0,i=0;for(;t=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ey=globalThis&&globalThis.__param||function(o,e){return function(t,i){e(t,i,o)}};const HH={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0,findResultLoop:!0};let gx=class extends U{constructor(e,t={},i,n,s){super(),this._audioCueService=i,this._codeEditorService=n,this._accessibilityService=s,this._onDidUpdate=this._register(new P),this._editor=e,this._options=eb(t,HH,!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(r=>{this.ignoreSelectionChange||(this._updateAccessibilityState(r.position.lineNumber),this.nextIdx=-1)})),this._options.alwaysRevealFirst&&this._register(this._editor.getModifiedEditor().onDidChangeModel(r=>{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(t=>{!this._options.ignoreCharChanges&&t.charChanges?t.charChanges.forEach(i=>{this.ranges.push({rhs:!0,range:new y(i.modifiedStartLineNumber,i.modifiedStartColumn,i.modifiedEndLineNumber,i.modifiedEndColumn)})}):t.modifiedEndLineNumber===0?this.ranges.push({rhs:!0,range:new y(t.modifiedStartLineNumber,1,t.modifiedStartLineNumber+1,1)}):this.ranges.push({rhs:!0,range:new y(t.modifiedStartLineNumber,1,t.modifiedEndLineNumber+1,1)})}),this.ranges.sort((t,i)=>y.compareRangesUsingStarts(t.range,i.range)),this._onDidUpdate.fire(this)}_initIdx(e){let t=!1;const i=this._editor.getPosition();if(!i){this.nextIdx=0;return}for(let n=0,s=this.ranges.length;n=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));const i=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{const n=i.range.getStartPosition();this._editor.setPosition(n),this._editor.revealRangeInCenter(i.range,t),this._updateAccessibilityState(n.lineNumber,!0)}finally{this.ignoreSelectionChange=!1}}_updateAccessibilityState(e,t){var i;const n=(i=this._editor.getModel())===null||i===void 0?void 0:i.modified;if(!n)return;const s=n.getLineDecorations(e).find(a=>a.options.className==="line-insert");if(s)this._audioCueService.playAudioCue(ft.diffLineModified,!0);else if(t)this._audioCueService.playAudioCue(ft.diffLineDeleted,!0);else return;const r=this._codeEditorService.getActiveCodeEditor();t&&r&&s&&this._accessibilityService.isScreenReaderOptimized()&&(r.setSelection({startLineNumber:e,startColumn:0,endLineNumber:e,endColumn:Number.MAX_VALUE}),r.writeScreenReaderContent("diff-navigation"))}canNavigate(){return this.ranges&&this.ranges.length>0}next(e=0){this.canNavigateNext()&&this._move(!0,e)}previous(e=0){this.canNavigatePrevious()&&this._move(!1,e)}canNavigateNext(){return this.canNavigateLoop()||this.nextIdx0&&o.getLanguageId(r-1)===n;)r--;return new qH(o,n,r,s+1,o.getStartOffset(r),o.getEndOffset(s))}class qH{constructor(e,t,i,n,s,r){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=i,this._lastTokenIndex=n,this.firstCharOffset=s,this._lastCharOffset=r}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}}function Vr(o){return(o&3)!==0}class qg{constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map(t=>new iy(t)):e.brackets?this._autoClosingPairs=e.brackets.map(t=>new iy({open:t[0],close:t[1]})):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new iy({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:qg.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:qg.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}qg.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=`;:.,=}])> `;qg.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS=`'"\`;:.,=}])> `;const yM=typeof Buffer<"u";let ny;class ew{static wrap(e){return yM&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new ew(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return yM?this.buffer.toString():(ny||(ny=new TextDecoder),ny.decode(this.buffer))}}function GH(o,e){return o[e+0]<<0>>>0|o[e+1]<<8>>>0}function ZH(o,e,t){o[t+0]=e&255,e=e>>>8,o[t+1]=e&255}function nr(o,e){return o[e]*Math.pow(2,24)+o[e+1]*Math.pow(2,16)+o[e+2]*Math.pow(2,8)+o[e+3]}function sr(o,e,t){o[t+3]=e,e=e>>>8,o[t+2]=e,e=e>>>8,o[t+1]=e,e=e>>>8,o[t]=e}function LM(o,e){return o[e]}function DM(o,e,t){o[t]=e}let sy;function PF(){return sy||(sy=new TextDecoder("UTF-16LE")),sy}let oy;function YH(){return oy||(oy=new TextDecoder("UTF-16BE")),oy}let ry;function OF(){return ry||(ry=$4()?PF():YH()),ry}function XH(o,e,t){const i=new Uint16Array(o.buffer,e,t);return t>0&&(i[0]===65279||i[0]===65534)?QH(o,e,t):PF().decode(i)}function QH(o,e,t){const i=[];let n=0;for(let s=0;s=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=e;return}for(let i=0;i[r[0].toLowerCase(),r[1].toLowerCase()]);const t=[];for(let r=0;r{const[l,c]=r,[d,h]=a;return l===d||l===h||c===d||c===h},n=(r,a)=>{const l=Math.min(r,a),c=Math.max(r,a);for(let d=0;d0&&s.push({open:a,close:l})}return s}class ez{constructor(e,t){this._richEditBracketsBrand=void 0;const i=JH(t);this.brackets=i.map((n,s)=>new oC(e,s,n.open,n.close,tz(n.open,n.close,i,s),iz(n.open,n.close,i,s))),this.forwardRegex=nz(this.brackets),this.reversedRegex=sz(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const n of this.brackets){for(const s of n.open)this.textIsBracket[s]=n,this.textIsOpenBracket[s]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,s.length);for(const s of n.close)this.textIsBracket[s]=n,this.textIsOpenBracket[s]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,s.length)}}}function FF(o,e,t,i){for(let n=0,s=e.length;n=0&&i.push(a);for(const a of r.close)a.indexOf(o)>=0&&i.push(a)}}function BF(o,e){return o.length-e.length}function tw(o){if(o.length<=1)return o;const e=[],t=new Set;for(const i of o)t.has(i)||(e.push(i),t.add(i));return e}function tz(o,e,t,i){let n=[];n=n.concat(o),n=n.concat(e);for(let s=0,r=n.length;s=0;r--)n[s++]=i.charCodeAt(r);return OF().decode(n)}let e=null,t=null;return function(n){return e!==n&&(e=n,t=o(e)),t}}();class Ao{static _findPrevBracketInText(e,t,i,n){const s=i.match(e);if(!s)return null;const r=i.length-(s.index||0),a=s[0].length,l=n+r;return new y(t,l-a+1,t,l+1)}static findPrevBracketInRange(e,t,i,n,s){const a=vT(i).substring(i.length-s,i.length-n);return this._findPrevBracketInText(e,t,a,n)}static findNextBracketInText(e,t,i,n){const s=i.match(e);if(!s)return null;const r=s.index||0,a=s[0].length;if(a===0)return null;const l=n+r;return new y(t,l+1,t,l+1+a)}static findNextBracketInRange(e,t,i,n,s){const r=i.substring(n,s);return this.findNextBracketInText(e,t,r,n)}}class rz{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const i of t.close){const n=i.charAt(i.length-1);e.push(n)}return Ac(e)}onElectricCharacter(e,t,i){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const n=t.findTokenIndexAtOffset(i-1);if(Vr(t.getStandardTokenType(n)))return null;const s=this._richEditBrackets.reversedRegex,r=t.getLineContent().substring(0,i-1)+e,a=Ao.findPrevBracketInRange(s,1,r,0,r.length);if(!a)return null;const l=r.substring(a.startColumn-1,a.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[l])return null;const d=t.getActualLineContentBefore(a.startColumn-1);return/^\s*$/.test(d)?{matchOpenBracket:l}:null}}function Xb(o){return o.global&&(o.lastIndex=0),!0}class az{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&Xb(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&Xb(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&Xb(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&Xb(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class Zu{constructor(e){e=e||{},e.brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach(t=>{const i=Zu._createOpenBracketRegExp(t[0]),n=Zu._createCloseBracketRegExp(t[1]);i&&n&&this._brackets.push({open:t[0],openRegExp:i,close:t[1],closeRegExp:n})}),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,i,n){if(e>=3)for(let s=0,r=this._regExpRules.length;sc.reg?(c.reg.lastIndex=0,c.reg.test(c.text)):!0))return a.action}if(e>=2&&i.length>0&&n.length>0)for(let s=0,r=this._brackets.length;s=2&&i.length>0){for(let s=0,r=this._brackets.length;s"u"?t:s}function cz(o){return o.replace(/[\[\]]/g,"")}const Bt=et("languageService");class Zr{constructor(e,t=[],i=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=i}}const HF=[];function ot(o,e,t){e instanceof Zr||(e=new Zr(e,[],!!t)),HF.push([o,e])}function kM(){return HF}class dz{constructor(){this.data=new Map}add(e,t){em(Hn(e)),em(ns(t)),em(!this.data.has(e),"There is already an extension with this id"),this.data.set(e,t)}as(e){return this.data.get(e)||null}}const $t=new dz,is=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"}),nw={JSONContribution:"base.contributions.json"};function hz(o){return o.length>0&&o.charAt(o.length-1)==="#"?o.substring(0,o.length-1):o}class uz{constructor(){this._onDidChangeSchema=new P,this.schemasById={}}registerSchema(e,t){this.schemasById[hz(e)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}}const gz=new uz;$t.add(nw.JSONContribution,gz);const Aa={Configuration:"base.contributions.configuration"},tp="vscode://schemas/settings/resourceLanguage",IM=$t.as(nw.JSONContribution);class fz{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new P,this._onDidUpdateConfiguration=new P,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:f("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},IM.registerSchema(tp,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const i=new Set;this.doRegisterConfigurations(e,t,i),IM.registerSchema(tp,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){var i;const n=[];for(const{overrides:s,source:r}of e)for(const a in s)if(t.add(a),Oc.test(a)){const l=this.configurationDefaultsOverrides.get(a),c=(i=l==null?void 0:l.valuesSources)!==null&&i!==void 0?i:new Map;if(r)for(const g of Object.keys(s[a]))c.set(g,r);const d=Object.assign(Object.assign({},(l==null?void 0:l.value)||{}),s[a]);this.configurationDefaultsOverrides.set(a,{source:r,value:d,valuesSources:c});const h=cz(a),u={type:"object",default:d,description:f("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",h),$ref:tp,defaultDefaultValue:d,source:Hn(r)?void 0:r,defaultValueSource:r};n.push(...rC(a)),this.configurationProperties[a]=u,this.defaultLanguageConfigurationOverridesNode.properties[a]=u}else{this.configurationDefaultsOverrides.set(a,{value:s[a],source:r});const l=this.configurationProperties[a];l&&(this.updatePropertyDefaultValue(a,l),this.updateSchema(a,l))}this.doRegisterOverrideIdentifiers(n)}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,i){e.forEach(n=>{this.validateAndRegisterProperties(n,t,n.extensionInfo,n.restrictedProperties,void 0,i),this.configurationContributors.push(n),this.registerJSONConfiguration(n)})}validateAndRegisterProperties(e,t=!0,i,n,s=3,r){var a;s=Rs(e.scope)?s:e.scope;const l=e.properties;if(l)for(const d in l){const h=l[d];if(t&&_z(d,h)){delete l[d];continue}if(h.source=i,h.defaultDefaultValue=l[d].default,this.updatePropertyDefaultValue(d,h),Oc.test(d)?h.scope=void 0:(h.scope=Rs(h.scope)?s:h.scope,h.restricted=Rs(h.restricted)?!!(n!=null&&n.includes(d)):h.restricted),l[d].hasOwnProperty("included")&&!l[d].included){this.excludedConfigurationProperties[d]=l[d],delete l[d];continue}else this.configurationProperties[d]=l[d],!((a=l[d].policy)===null||a===void 0)&&a.name&&this.policyConfigurations.set(l[d].policy.name,d);!l[d].deprecationMessage&&l[d].markdownDeprecationMessage&&(l[d].deprecationMessage=l[d].markdownDeprecationMessage),r.add(d)}const c=e.allOf;if(c)for(const d of c)this.validateAndRegisterProperties(d,t,i,n,s,r)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=i=>{const n=i.properties;if(n)for(const r in n)this.updateSchema(r,n[r]);const s=i.allOf;s==null||s.forEach(t)};t(e)}updateSchema(e,t){switch(t.scope){case 1:break;case 2:break;case 6:break;case 3:break;case 4:break;case 5:this.resourceLanguageSettingsSchema.properties[e]=t;break}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,i={type:"object",description:f("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:f("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:tp};this.updatePropertyDefaultValue(t,i)}}registerOverridePropertyPatternKey(){f("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),f("overrideSettings.errorMessage","This setting does not support per-language configuration."),this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const i=this.configurationDefaultsOverrides.get(e);let n=i==null?void 0:i.value,s=i==null?void 0:i.source;ps(n)&&(n=t.defaultDefaultValue,s=void 0),ps(n)&&(n=mz(t.type)),t.default=n,t.defaultValueSource=s}}const zF="\\[([^\\]]+)\\]",EM=new RegExp(zF,"g"),pz=`^(${zF})+$`,Oc=new RegExp(pz);function rC(o){const e=[];if(Oc.test(o)){let t=EM.exec(o);for(;t!=null&&t.length;){const i=t[1].trim();i&&e.push(i),t=EM.exec(o)}}return Ac(e)}function mz(o){switch(Array.isArray(o)?o[0]:o){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}const pv=new fz;$t.add(Aa.Configuration,pv);function _z(o,e){var t,i,n,s;return o.trim()?Oc.test(o)?f("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",o):pv.getConfigurationProperties()[o]!==void 0?f("config.property.duplicate","Cannot register '{0}'. This property is already registered.",o):!((t=e.policy)===null||t===void 0)&&t.name&&pv.getPolicyConfigurations().get((i=e.policy)===null||i===void 0?void 0:i.name)!==void 0?f("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",o,(n=e.policy)===null||n===void 0?void 0:n.name,pv.getPolicyConfigurations().get((s=e.policy)===null||s===void 0?void 0:s.name)):null:f("config.property.empty","Cannot register an empty property")}const bz={ModesRegistry:"editor.modesRegistry"};class vz{constructor(){this._onDidChangeLanguages=new P,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,i=this._languages.length;t{const l=new Set;return{info:new Sz(this,a,l),closing:l}}),s=new _M(a=>{const l=new Set,c=new Set;return{info:new yz(this,a,l,c),opening:l,openingColorized:c}});for(const[a,l]of i){const c=n.get(a),d=s.get(l);c.closing.add(d.info),d.opening.add(c.info)}const r=t.colorizedBracketPairs?TM(t.colorizedBracketPairs):i.filter(a=>!(a[0]==="<"&&a[1]===">"));for(const[a,l]of r){const c=n.get(a),d=s.get(l);c.closing.add(d.info),d.openingColorized.add(c.info),d.opening.add(c.info)}this._openingBrackets=new Map([...n.cachedValues].map(([a,l])=>[a,l.info])),this._closingBrackets=new Map([...s.cachedValues].map(([a,l])=>[a,l.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}}function TM(o){return o.filter(([e,t])=>e!==""&&t!=="")}class UF{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class Sz extends UF{constructor(e,t,i){super(e,t),this.openedBrackets=i,this.isOpeningBracket=!0}}class yz extends UF{constructor(e,t,i,n){super(e,t),this.openingBrackets=i,this.openingColorizedBrackets=n,this.isOpeningBracket=!1}closes(e){return e.config!==this.config?!1:this.openingBrackets.has(e)}closesColorized(e){return e.config!==this.config?!1:this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var Lz=globalThis&&globalThis.__decorate||function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},NM=globalThis&&globalThis.__param||function(o,e){return function(t,i){e(t,i,o)}};class ay{constructor(e){this.languageId=e}affects(e){return this.languageId?this.languageId===e:!0}}const zt=et("languageConfigurationService");let px=class extends U{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new Iz),this.onDidChangeEmitter=this._register(new P),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const i=new Set(Object.values(mx));this._register(this.configurationService.onDidChangeConfiguration(n=>{const s=n.change.keys.some(a=>i.has(a)),r=n.change.overrides.filter(([a,l])=>l.some(c=>i.has(c))).map(([a])=>a);if(s)this.configurations.clear(),this.onDidChangeEmitter.fire(new ay(void 0));else for(const a of r)this.languageService.isRegisteredLanguageId(a)&&(this.configurations.delete(a),this.onDidChangeEmitter.fire(new ay(a)))})),this._register(this._registry.onDidChange(n=>{this.configurations.delete(n.languageId),this.onDidChangeEmitter.fire(new ay(n.languageId))}))}register(e,t,i){return this._registry.register(e,t,i)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=Dz(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};px=Lz([NM(0,at),NM(1,Bt)],px);function Dz(o,e,t,i){let n=e.getLanguageConfiguration(o);if(!n){if(!i.isRegisteredLanguageId(o))return new wg(o,{});n=new wg(o,{})}const s=xz(n.languageId,t),r=jF([n.underlyingConfig,s]);return new wg(n.languageId,r)}const mx={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function xz(o,e){const t=e.getValue(mx.brackets,{overrideIdentifier:o}),i=e.getValue(mx.colorizedBracketPairs,{overrideIdentifier:o});return{brackets:MM(t),colorizedBracketPairs:MM(i)}}function MM(o){if(Array.isArray(o))return o.map(e=>{if(!(!Array.isArray(e)||e.length!==2))return[e[0],e[1]]}).filter(e=>!!e)}function $F(o,e,t){const i=o.getLineContent(e);let n=St(i);return n.length>t-1&&(n=n.substring(0,t-1)),n}function Cg(o,e,t){o.tokenization.forceTokenization(e);const i=o.tokenization.getLineTokens(e),n=typeof t>"u"?o.getLineMaxColumn(e)-1:t-1;return J1(i,n)}class kz{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const i=new AM(e,t,++this._order);return this._entries.push(i),this._resolved=null,Oe(()=>{for(let n=0;ne.configuration)))}}function jF(o){let e={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 t of o)e={comments:t.comments||e.comments,brackets:t.brackets||e.brackets,wordPattern:t.wordPattern||e.wordPattern,indentationRules:t.indentationRules||e.indentationRules,onEnterRules:t.onEnterRules||e.onEnterRules,autoClosingPairs:t.autoClosingPairs||e.autoClosingPairs,surroundingPairs:t.surroundingPairs||e.surroundingPairs,autoCloseBefore:t.autoCloseBefore||e.autoCloseBefore,folding:t.folding||e.folding,colorizedBracketPairs:t.colorizedBracketPairs||e.colorizedBracketPairs,__electricCharacterSupport:t.__electricCharacterSupport||e.__electricCharacterSupport};return e}class AM{constructor(e,t,i){this.configuration=e,this.priority=t,this.order=i}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class RM{constructor(e){this.languageId=e}}class Iz extends U{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new P),this.onDidChange=this._onDidChange.event,this._register(this.register(js,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,i=0){let n=this._entries.get(e);n||(n=new kz(e),this._entries.set(e,n));const s=n.register(t,i);return this._onDidChange.fire(new RM(e)),Oe(()=>{s.dispose(),this._onDidChange.fire(new RM(e))})}getLanguageConfiguration(e){const t=this._entries.get(e);return(t==null?void 0:t.getResolvedConfiguration())||null}}class wg{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new Zu(this.underlyingConfig):null,this.comments=wg._handleComments(this.underlyingConfig),this.characterPair=new qg(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||GE,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new az(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new wz(e,this.underlyingConfig)}getWordDefinition(){return q4(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new ez(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new rz(this.brackets)),this._electricCharacter}onEnter(e,t,i,n){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,i,n):null}getAutoClosingPairs(){return new KH(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const i={};if(t.lineComment&&(i.lineCommentToken=t.lineComment),t.blockComment){const[n,s]=t.blockComment;i.blockCommentStartToken=n,i.blockCommentEndToken=s}return i}}ot(zt,px,1);const Zg=new class{clone(){return this}equals(o){return this===o}};function CT(o,e){return new sT([new Rm(0,"",o)],e)}function sw(o,e){const t=new Uint32Array(2);return t[0]=0,t[1]=(o<<0|0<<8|0<<11|1<<15|2<<24)>>>0,new z1(t,e===null?Zg:e)}const Zt=et("modelService"),KF=Symbol("MicrotaskDelay");var io=globalThis&&globalThis.__awaiter||function(o,e,t,i){function n(s){return s instanceof t?s:new t(function(r){r(s)})}return new(t||(t=Promise))(function(s,r){function a(d){try{c(i.next(d))}catch(h){r(h)}}function l(d){try{c(i.throw(d))}catch(h){r(h)}}function c(d){d.done?s(d.value):n(d.value).then(a,l)}c((i=i.apply(o,e||[])).next())})},Ip=globalThis&&globalThis.__asyncValues||function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=o[Symbol.asyncIterator],t;return e?e.call(o):(o=typeof __values=="function"?__values(o):o[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(s){t[s]=o[s]&&function(r){return new Promise(function(a,l){r=o[s](r),n(a,l,r.done,r.value)})}}function n(s,r,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},r)}};function _x(o){return!!o&&typeof o.then=="function"}function Mi(o){const e=new nn,t=o(e.token),i=new Promise((n,s)=>{const r=e.token.onCancellationRequested(()=>{r.dispose(),e.dispose(),s(new Jc)});Promise.resolve(t).then(a=>{r.dispose(),e.dispose(),n(a)},a=>{r.dispose(),e.dispose(),s(a)})});return new class{cancel(){e.cancel()}then(n,s){return i.then(n,s)}catch(n){return this.then(void 0,n)}finally(n){return i.finally(n)}}}function ow(o,e,t){return new Promise((i,n)=>{const s=e.onCancellationRequested(()=>{s.dispose(),i(t)});o.then(i,n).finally(()=>s.dispose())})}class Ez{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const t=()=>{this.queuedPromise=null;const i=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,i};this.queuedPromise=new Promise(i=>{this.activePromise.then(t,t).then(i)})}return new Promise((t,i)=>{this.queuedPromise.then(t,i)})}return this.activePromise=e(),new Promise((t,i)=>{this.activePromise.then(n=>{this.activePromise=null,t(n)},n=>{this.activePromise=null,i(n)})})}}const Tz=(o,e)=>{let t=!0;const i=setTimeout(()=>{t=!1,e()},o);return{isTriggered:()=>t,dispose:()=>{clearTimeout(i),t=!1}}},Nz=o=>{let e=!0;return queueMicrotask(()=>{e&&(e=!1,o())}),{isTriggered:()=>e,dispose:()=>{e=!1}}};class Dr{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((n,s)=>{this.doResolve=n,this.doReject=s}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const n=this.task;return this.task=null,n()}}));const i=()=>{var n;this.deferred=null,(n=this.doResolve)===null||n===void 0||n.call(this,null)};return this.deferred=t===KF?Nz(i):Tz(t,i),this.completionPromise}isTriggered(){var e;return!!(!((e=this.deferred)===null||e===void 0)&&e.isTriggered())}cancel(){var e;this.cancelTimeout(),this.completionPromise&&((e=this.doReject)===null||e===void 0||e.call(this,new Jc),this.completionPromise=null)}cancelTimeout(){var e;(e=this.deferred)===null||e===void 0||e.dispose(),this.deferred=null}dispose(){this.cancel()}}class qF{constructor(e){this.delayer=new Dr(e),this.throttler=new Ez}trigger(e,t){return this.delayer.trigger(()=>this.throttler.queue(e),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose()}}function Fc(o,e){return e?new Promise((t,i)=>{const n=setTimeout(()=>{s.dispose(),t()},o),s=e.onCancellationRequested(()=>{clearTimeout(n),s.dispose(),i(new Jc)})}):Mi(t=>Fc(o,t))}function bh(o,e=0){const t=setTimeout(o,e);return Oe(()=>clearTimeout(t))}function GF(o,e=i=>!!i,t=null){let i=0;const n=o.length,s=()=>{if(i>=n)return Promise.resolve(t);const r=o[i++];return Promise.resolve(r()).then(l=>e(l)?Promise.resolve(l):s())};return s()}class So{constructor(e,t){this._token=-1,typeof e=="function"&&typeof t=="number"&&this.setIfNotSet(e,t)}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}}class cb{constructor(){this._token=-1}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearInterval(this._token),this._token=-1)}cancelAndSet(e,t){this.cancel(),this._token=setInterval(()=>{e()},t)}}class wt{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var e;(e=this.runner)===null||e===void 0||e.call(this)}}let dl;(function(){typeof requestIdleCallback!="function"||typeof cancelIdleCallback!="function"?dl=o=>{U4(()=>{if(e)return;const t=Date.now()+15;o(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,t-Date.now())}}))});let e=!1;return{dispose(){e||(e=!0)}}}:dl=(o,e)=>{const t=requestIdleCallback(o,typeof e=="number"?{timeout:e}:void 0);let i=!1;return{dispose(){i||(i=!0,cancelIdleCallback(t))}}}})();class mv{constructor(e){this._didRun=!1,this._executor=()=>{try{this._value=e()}catch(t){this._error=t}finally{this._didRun=!0}},this._handle=dl(()=>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}}class wT{get isRejected(){return this.rejected}get isSettled(){return this.rejected||this.resolved}constructor(){this.rejected=!1,this.resolved=!1,this.p=new Promise((e,t)=>{this.completeCallback=e,this.errorCallback=t})}complete(e){return new Promise(t=>{this.completeCallback(e),this.resolved=!0,t()})}cancel(){new Promise(e=>{this.errorCallback(new Jc),this.rejected=!0,e()})}}var bx;(function(o){function e(i){return io(this,void 0,void 0,function*(){let n;const s=yield Promise.all(i.map(r=>r.then(a=>a,a=>{n||(n=a)})));if(typeof n<"u")throw n;return s})}o.settled=e;function t(i){return new Promise((n,s)=>io(this,void 0,void 0,function*(){try{yield i(n,s)}catch(r){s(r)}}))}o.withAsyncBody=t})(bx||(bx={}));class mi{static fromArray(e){return new mi(t=>{t.emitMany(e)})}static fromPromise(e){return new mi(t=>io(this,void 0,void 0,function*(){t.emitMany(yield e)}))}static fromPromises(e){return new mi(t=>io(this,void 0,void 0,function*(){yield Promise.all(e.map(i=>io(this,void 0,void 0,function*(){return t.emitOne(yield i)})))}))}static merge(e){return new mi(t=>io(this,void 0,void 0,function*(){yield Promise.all(e.map(i=>{var n,s,r;return io(this,void 0,void 0,function*(){var a,l,c,d;try{for(n=!0,s=Ip(i);r=yield s.next(),a=r.done,!a;){d=r.value,n=!1;try{const h=d;t.emitOne(h)}finally{n=!0}}}catch(h){l={error:h}}finally{try{!n&&!a&&(c=s.return)&&(yield c.call(s))}finally{if(l)throw l.error}}})}))}))}constructor(e){this._state=0,this._results=[],this._error=null,this._onStateChanged=new P,queueMicrotask(()=>io(this,void 0,void 0,function*(){const t={emitOne:i=>this.emitOne(i),emitMany:i=>this.emitMany(i),reject:i=>this.reject(i)};try{yield Promise.resolve(e(t)),this.resolve()}catch(i){this.reject(i)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}}))}[Symbol.asyncIterator](){let e=0;return{next:()=>io(this,void 0,void 0,function*(){do{if(this._state===2)throw this._error;if(eio(this,void 0,void 0,function*(){var n,s,r,a;try{for(var l=!0,c=Ip(e),d;d=yield c.next(),n=d.done,!n;){a=d.value,l=!1;try{const h=a;i.emitOne(t(h))}finally{l=!0}}}catch(h){s={error:h}}finally{try{!l&&!n&&(r=c.return)&&(yield r.call(c))}finally{if(s)throw s.error}}}))}map(e){return mi.map(this,e)}static filter(e,t){return new mi(i=>io(this,void 0,void 0,function*(){var n,s,r,a;try{for(var l=!0,c=Ip(e),d;d=yield c.next(),n=d.done,!n;){a=d.value,l=!1;try{const h=a;t(h)&&i.emitOne(h)}finally{l=!0}}}catch(h){s={error:h}}finally{try{!l&&!n&&(r=c.return)&&(yield r.call(c))}finally{if(s)throw s.error}}}))}filter(e){return mi.filter(this,e)}static coalesce(e){return mi.filter(e,t=>!!t)}coalesce(){return mi.coalesce(this)}static toPromise(e){var t,i,n,s,r,a,l;return io(this,void 0,void 0,function*(){const c=[];try{for(t=!0,i=Ip(e);n=yield i.next(),s=n.done,!s;){l=n.value,t=!1;try{const d=l;c.push(d)}finally{t=!0}}}catch(d){r={error:d}}finally{try{!t&&!s&&(a=i.return)&&(yield a.call(i))}finally{if(r)throw r.error}}return c})}toPromise(){return mi.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}}mi.EMPTY=mi.fromArray([]);class Mz extends mi{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}function Az(o){const e=new nn,t=o(e.token);return new Mz(e,i=>io(this,void 0,void 0,function*(){var n,s,r,a;const l=e.token.onCancellationRequested(()=>{l.dispose(),e.dispose(),i.reject(new Jc)});try{try{for(var c=!0,d=Ip(t),h;h=yield d.next(),n=h.done,!n;){a=h.value,c=!1;try{const u=a;if(e.token.isCancellationRequested)return;i.emitOne(u)}finally{c=!0}}}catch(u){s={error:u}}finally{try{!c&&!n&&(r=d.return)&&(yield r.call(d))}finally{if(s)throw s.error}}l.dispose(),e.dispose()}catch(u){l.dispose(),e.dispose(),i.reject(u)}}))}const Rz="$initialize";let PM=!1;function vx(o){Qc&&(PM||(PM=!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(o.message))}class Pz{constructor(e,t,i,n){this.vsWorker=e,this.req=t,this.method=i,this.args=n,this.type=0}}class OM{constructor(e,t,i,n){this.vsWorker=e,this.seq=t,this.res=i,this.err=n,this.type=1}}class Oz{constructor(e,t,i,n){this.vsWorker=e,this.req=t,this.eventName=i,this.arg=n,this.type=2}}class Fz{constructor(e,t,i){this.vsWorker=e,this.req=t,this.event=i,this.type=3}}class Bz{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class Wz{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t){const i=String(++this._lastSentReq);return new Promise((n,s)=>{this._pendingReplies[i]={resolve:n,reject:s},this._send(new Pz(this._workerId,i,e,t))})}listen(e,t){let i=null;const n=new P({onWillAddFirstListener:()=>{i=String(++this._lastSentReq),this._pendingEmitters.set(i,n),this._send(new Oz(this._workerId,i,e,t))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(i),this._send(new Bz(this._workerId,i)),i=null}});return n.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq]){console.warn("Got reply to unknown seq");return}const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let i=e.err;e.err.$isError&&(i=new Error,i.name=e.err.name,i.message=e.err.message,i.stack=e.err.stack),t.reject(i);return}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.method,e.args).then(n=>{this._send(new OM(this._workerId,t,n,void 0))},n=>{n.detail instanceof Error&&(n.detail=uM(n.detail)),this._send(new OM(this._workerId,t,void 0,uM(n)))})}_handleSubscribeEventMessage(e){const t=e.req,i=this._handler.handleEvent(e.eventName,e.arg)(n=>{this._send(new Fz(this._workerId,t,n))});this._pendingEvents.set(t,i)}_handleEventMessage(e){if(!this._pendingEmitters.has(e.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){if(!this._pendingEvents.has(e.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)}_send(e){const t=[];if(e.type===0)for(let i=0;i{this._protocol.handleMessage(d)},d=>{n==null||n(d)})),this._protocol=new Wz({sendMessage:(d,h)=>{this._worker.postMessage(d,h)},handleMessage:(d,h)=>{if(typeof i[d]!="function")return Promise.reject(new Error("Missing method "+d+" on main thread host."));try{return Promise.resolve(i[d].apply(i,h))}catch(u){return Promise.reject(u)}},handleEvent:(d,h)=>{if(YF(d)){const u=i[d].call(i,h);if(typeof u!="function")throw new Error(`Missing dynamic event ${d} on main thread host.`);return u}if(ZF(d)){const u=i[d];if(typeof u!="function")throw new Error(`Missing event ${d} on main thread host.`);return u}throw new Error(`Malformed event name ${d}`)}}),this._protocol.setWorkerId(this._worker.getId());let s=null;const r=globalThis.require;typeof r<"u"&&typeof r.getConfig=="function"?s=r.getConfig():typeof globalThis.requirejs<"u"&&(s=globalThis.requirejs.s.contexts._.config);const a=YE(i);this._onModuleLoaded=this._protocol.sendMessage(Rz,[this._worker.getId(),JSON.parse(JSON.stringify(s)),t,a]);const l=(d,h)=>this._request(d,h),c=(d,h)=>this._protocol.listen(d,h);this._lazyProxy=new Promise((d,h)=>{n=h,this._onModuleLoaded.then(u=>{d(Hz(u,l,c))},u=>{h(u),this._onError("Worker failed to load "+t,u)})})}getProxyObject(){return this._lazyProxy}_request(e,t){return new Promise((i,n)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(e,t).then(i,n)},n)})}_onError(e,t){console.error(e),console.info(t)}}function ZF(o){return o[0]==="o"&&o[1]==="n"&&Gr(o.charCodeAt(2))}function YF(o){return/^onDynamic/.test(o)&&Gr(o.charCodeAt(9))}function Hz(o,e,t){const i=r=>function(){const a=Array.prototype.slice.call(arguments,0);return e(r,a)},n=r=>function(a){return t(r,a)},s={};for(const r of o){if(YF(r)){s[r]=n(r);continue}if(ZF(r)){s[r]=t(r,void 0);continue}s[r]=i(r)}return s}var ly;const FM=(ly=window.trustedTypes)===null||ly===void 0?void 0:ly.createPolicy("defaultWorkerFactory",{createScriptURL:o=>o});function zz(o){const e=globalThis.MonacoEnvironment;if(e){if(typeof e.getWorker=="function")return e.getWorker("workerMain.js",o);if(typeof e.getWorkerUrl=="function"){const t=e.getWorkerUrl("workerMain.js",o);return new Worker(FM?FM.createScriptURL(t):t,{name:o})}}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function Uz(o){return typeof o.then=="function"}class $z{constructor(e,t,i,n,s){this.id=t;const r=zz(i);Uz(r)?this.worker=r:this.worker=Promise.resolve(r),this.postMessage(e,[]),this.worker.then(a=>{a.onmessage=function(l){n(l.data)},a.onmessageerror=s,typeof a.addEventListener=="function"&&a.addEventListener("error",s)})}getId(){return this.id}postMessage(e,t){var i;(i=this.worker)===null||i===void 0||i.then(n=>n.postMessage(e,t))}dispose(){var e;(e=this.worker)===null||e===void 0||e.then(t=>t.terminate()),this.worker=null}}class rw{constructor(e){this._label=e,this._webWorkerFailedBeforeError=!1}create(e,t,i){const n=++rw.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new $z(e,n,this._label||"anonymous"+n,t,s=>{vx(s),this._webWorkerFailedBeforeError=s,i(s)})}}rw.LAST_WORKER_ID=0;class Yl{constructor(e,t,i,n){this.originalStart=e,this.originalLength=t,this.modifiedStart=i,this.modifiedLength=n}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function XF(o){return aw(o,0)}function aw(o,e){switch(typeof o){case"object":return o===null?hl(349,e):Array.isArray(o)?Kz(o,e):qz(o,e);case"string":return ST(o,e);case"boolean":return jz(o,e);case"number":return hl(o,e);case"undefined":return hl(937,e);default:return hl(617,e)}}function hl(o,e){return(e<<5)-e+o|0}function jz(o,e){return hl(o?433:863,e)}function ST(o,e){e=hl(149417,e);for(let t=0,i=o.length;taw(i,t),e)}function qz(o,e){return e=hl(181387,e),Object.keys(o).sort().reduce((t,i)=>(t=ST(i,t),aw(o[i],t)),e)}function cy(o,e,t=32){const i=t-e,n=~((1<>>i)>>>0}function BM(o,e=0,t=o.byteLength,i=0){for(let n=0;nt.toString(16).padStart(2,"0")).join(""):Gz((o>>>0).toString(16),e/4)}class lw{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(64+3),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(t===0)return;const i=this._buff;let n=this._buffLen,s=this._leftoverHighSurrogate,r,a;for(s!==0?(r=s,a=-1,s=0):(r=e.charCodeAt(0),a=0);;){let l=r;if(Ei(r))if(a+1>>6,e[t++]=128|(i&63)>>>0):i<65536?(e[t++]=224|(i&61440)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0):(e[t++]=240|(i&1835008)>>>18,e[t++]=128|(i&258048)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64+0],e[1]=e[64+1],e[2]=e[64+2]),t}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()),ip(this._h0)+ip(this._h1)+ip(this._h2)+ip(this._h3)+ip(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,BM(this._buff,this._buffLen),this._buffLen>56&&(this._step(),BM(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=lw._bigBlock32,t=this._buffDV;for(let h=0;h<64;h+=4)e.setUint32(h,t.getUint32(h,!1),!1);for(let h=64;h<320;h+=4)e.setUint32(h,cy(e.getUint32(h-12,!1)^e.getUint32(h-32,!1)^e.getUint32(h-56,!1)^e.getUint32(h-64,!1),1),!1);let i=this._h0,n=this._h1,s=this._h2,r=this._h3,a=this._h4,l,c,d;for(let h=0;h<80;h++)h<20?(l=n&s|~n&r,c=1518500249):h<40?(l=n^s^r,c=1859775393):h<60?(l=n&s|n&r|s&r,c=2400959708):(l=n^s^r,c=3395469782),d=cy(i,5)+l+a+c+e.getUint32(h*4,!1)&4294967295,a=r,r=s,s=cy(n,30),n=i,i=d;this._h0=this._h0+i&4294967295,this._h1=this._h1+n&4294967295,this._h2=this._h2+s&4294967295,this._h3=this._h3+r&4294967295,this._h4=this._h4+a&4294967295}}lw._bigBlock32=new DataView(new ArrayBuffer(320));class WM{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let i=0,n=e.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new Yl(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(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),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 Jr{constructor(e,t,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=e,this._modifiedSequence=t;const[n,s,r]=Jr._getElements(e),[a,l,c]=Jr._getElements(t);this._hasStrings=r&&c,this._originalStringElements=n,this._originalElementsOrHash=s,this._modifiedStringElements=a,this._modifiedElementsOrHash=l,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]=="string"}static _getElements(e){const t=e.getElements();if(Jr._isStringArray(t)){const i=new Int32Array(t.length);for(let n=0,s=t.length;n=e&&n>=i&&this.ElementsAreEqual(t,n);)t--,n--;if(e>t||i>n){let h;return i<=n?(bu.Assert(e===t+1,"originalStart should only be one more than originalEnd"),h=[new Yl(e,0,i,n-i+1)]):e<=t?(bu.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),h=[new Yl(e,t-e+1,i,0)]):(bu.Assert(e===t+1,"originalStart should only be one more than originalEnd"),bu.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),h=[]),h}const r=[0],a=[0],l=this.ComputeRecursionPoint(e,t,i,n,r,a,s),c=r[0],d=a[0];if(l!==null)return l;if(!s[0]){const h=this.ComputeDiffRecursive(e,c,i,d,s);let u=[];return s[0]?u=[new Yl(c+1,t-(c+1)+1,d+1,n-(d+1)+1)]:u=this.ComputeDiffRecursive(c+1,t,d+1,n,s),this.ConcatenateChanges(h,u)}return[new Yl(e,t-e+1,i,n-i+1)]}WALKTRACE(e,t,i,n,s,r,a,l,c,d,h,u,g,p,m,_,v,b){let C=null,w=null,L=new VM,E=t,D=i,x=g[0]-_[0]-n,k=-1073741824,O=this.m_forwardHistory.length-1;do{const R=x+e;R===E||R=0&&(c=this.m_forwardHistory[O],e=c[0],E=1,D=c.length-1)}while(--O>=-1);if(C=L.getReverseChanges(),b[0]){let R=g[0]+1,F=_[0]+1;if(C!==null&&C.length>0){const z=C[C.length-1];R=Math.max(R,z.getOriginalEnd()),F=Math.max(F,z.getModifiedEnd())}w=[new Yl(R,u-R+1,F,m-F+1)]}else{L=new VM,E=r,D=a,x=g[0]-_[0]-l,k=1073741824,O=v?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const R=x+s;R===E||R=d[R+1]?(h=d[R+1]-1,p=h-x-l,h>k&&L.MarkNextChange(),k=h+1,L.AddOriginalElement(h+1,p+1),x=R+1-s):(h=d[R-1],p=h-x-l,h>k&&L.MarkNextChange(),k=h,L.AddModifiedElement(h+1,p+1),x=R-1-s),O>=0&&(d=this.m_reverseHistory[O],s=d[0],E=1,D=d.length-1)}while(--O>=-1);w=L.getChanges()}return this.ConcatenateChanges(C,w)}ComputeRecursionPoint(e,t,i,n,s,r,a){let l=0,c=0,d=0,h=0,u=0,g=0;e--,i--,s[0]=0,r[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const p=t-e+(n-i),m=p+1,_=new Int32Array(m),v=new Int32Array(m),b=n-i,C=t-e,w=e-i,L=t-n,D=(C-b)%2===0;_[b]=e,v[C]=t,a[0]=!1;for(let x=1;x<=p/2+1;x++){let k=0,O=0;d=this.ClipDiagonalBound(b-x,x,b,m),h=this.ClipDiagonalBound(b+x,x,b,m);for(let F=d;F<=h;F+=2){F===d||Fk+O&&(k=l,O=c),!D&&Math.abs(F-C)<=x-1&&l>=v[F])return s[0]=l,r[0]=c,z<=v[F]&&1447>0&&x<=1447+1?this.WALKTRACE(b,d,h,w,C,u,g,L,_,v,l,t,s,c,n,r,D,a):null}const R=(k-e+(O-i)-x)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(k,R))return a[0]=!0,s[0]=k,r[0]=O,R>0&&1447>0&&x<=1447+1?this.WALKTRACE(b,d,h,w,C,u,g,L,_,v,l,t,s,c,n,r,D,a):(e++,i++,[new Yl(e,t-e+1,i,n-i+1)]);u=this.ClipDiagonalBound(C-x,x,C,m),g=this.ClipDiagonalBound(C+x,x,C,m);for(let F=u;F<=g;F+=2){F===u||F=v[F+1]?l=v[F+1]-1:l=v[F-1],c=l-(F-C)-L;const z=l;for(;l>e&&c>i&&this.ElementsAreEqual(l,c);)l--,c--;if(v[F]=l,D&&Math.abs(F-b)<=x&&l<=_[F])return s[0]=l,r[0]=c,z>=_[F]&&1447>0&&x<=1447+1?this.WALKTRACE(b,d,h,w,C,u,g,L,_,v,l,t,s,c,n,r,D,a):null}if(x<=1447){let F=new Int32Array(h-d+2);F[0]=b-d+1,vu.Copy2(_,d,F,1,h-d+1),this.m_forwardHistory.push(F),F=new Int32Array(g-u+2),F[0]=C-u+1,vu.Copy2(v,u,F,1,g-u+1),this.m_reverseHistory.push(F)}}return this.WALKTRACE(b,d,h,w,C,u,g,L,_,v,l,t,s,c,n,r,D,a)}PrettifyChanges(e){for(let t=0;t0,a=i.modifiedLength>0;for(;i.originalStart+i.originalLength=0;t--){const i=e[t];let n=0,s=0;if(t>0){const h=e[t-1];n=h.originalStart+h.originalLength,s=h.modifiedStart+h.modifiedLength}const r=i.originalLength>0,a=i.modifiedLength>0;let l=0,c=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let h=1;;h++){const u=i.originalStart-h,g=i.modifiedStart-h;if(uc&&(c=m,l=h)}i.originalStart-=l,i.modifiedStart-=l;const d=[null];if(t>0&&this.ChangesOverlap(e[t-1],e[t],d)){e[t-1]=d[0],e.splice(t,1),t++;continue}}if(this._hasStrings)for(let t=1,i=e.length;t0&&g>l&&(l=g,c=h,d=u)}return l>0?[c,d]:null}_contiguousSequenceScore(e,t,i){let n=0;for(let s=0;s=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(e,t,i,n){const s=this._OriginalRegionIsBoundary(e,t)?1:0,r=this._ModifiedRegionIsBoundary(i,n)?1:0;return s+r}ConcatenateChanges(e,t){const i=[];if(e.length===0||t.length===0)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],i)){const n=new Array(e.length+t.length-1);return vu.Copy(e,0,n,0,e.length-1),n[e.length-1]=i[0],vu.Copy(t,1,n,e.length,t.length-1),n}else{const n=new Array(e.length+t.length);return vu.Copy(e,0,n,0,e.length),vu.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,i){if(bu.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),bu.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const n=e.originalStart;let s=e.originalLength;const r=e.modifiedStart;let a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(s=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),i[0]=new Yl(n,s,r,a),!0}else return i[0]=null,!1}ClipDiagonalBound(e,t,i,n){if(e>=0&&e255?255:o|0}function Cu(o){return o<0?0:o>4294967295?4294967295:o|0}class Yz{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=Cu(e);const i=this.values,n=this.prefixSum,s=t.length;return s===0?!1:(this.values=new Uint32Array(i.length+s),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+s),this.values.set(t,e),e-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=Cu(e),t=Cu(t),this.values[e]===t?!1:(this.values[e]=t,e-1=i.length)return!1;const s=i.length-e;return t>=s&&(t=s),t===0?!1:(this.values=new Uint32Array(i.length-t),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=Cu(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let i=t;i<=e;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,i=this.values.length-1,n=0,s=0,r=0;for(;t<=i;)if(n=t+(i-t)/2|0,s=this.prefixSum[n],r=s-this.values[n],e=s)t=n+1;else break;return new QF(n,e-r)}}class Xz{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();const t=this._indexBySum[e],i=t>0?this._prefixSum[t-1]:0;return new QF(t,e-i)}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=V1(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+i;for(let s=0;s=0&&e<256?this._asciiMap[e]=i:this._map.set(e,i)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class lC{constructor(){this._actual=new Af(0)}add(e){this._actual.set(e,1)}has(e){return this._actual.get(e)===1}clear(){return this._actual.clear()}}class Jz{constructor(e,t,i){const n=new Uint8Array(e*t);for(let s=0,r=e*t;st&&(t=l),a>i&&(i=a),c>i&&(i=c)}t++,i++;const n=new Jz(i,t,0);for(let s=0,r=e.length;s=this._maxCharCode?0:this._states.get(e,t)}}let dy=null;function tU(){return dy===null&&(dy=new eU([[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]])),dy}let np=null;function iU(){if(np===null){np=new Af(0);const o=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let t=0;tn);if(n>0){const a=t.charCodeAt(n-1),l=t.charCodeAt(r);(a===40&&l===41||a===91&&l===93||a===123&&l===125)&&r--}return{range:{startLineNumber:i,startColumn:n+1,endLineNumber:i,endColumn:r+2},url:t.substring(n,r+1)}}static computeLinks(e,t=tU()){const i=iU(),n=[];for(let s=1,r=e.getLineCount();s<=r;s++){const a=e.getLineContent(s),l=a.length;let c=0,d=0,h=0,u=1,g=!1,p=!1,m=!1,_=!1;for(;c=0?(n+=i?1:-1,n<0?n=e.length-1:n%=e.length,e[n]):null}}Cx.INSTANCE=new Cx;class sU extends Af{constructor(e){super(0);for(let t=0,i=e.length;t(e.hasOwnProperty(t)||(e[t]=o(t)),e[t])}const _o=oU(o=>new sU(o)),rU=999;class Ed{constructor(e,t,i,n){this.searchString=e,this.isRegex=t,this.matchCase=i,this.wordSeparators=n}parseSearchRequest(){if(this.searchString==="")return null;let e;this.isRegex?e=aU(this.searchString):e=this.searchString.indexOf(` `)>=0;let t=null;try{t=yF(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch{return null}if(!t)return null;let i=!this.isRegex&&!e;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new UH(t,this.wordSeparators?_o(this.wordSeparators):null,i?this.searchString:null)}}function aU(o){if(!o||o.length===0)return!1;for(let e=0,t=o.length;e=t)break;const n=o.charCodeAt(e);if(n===110||n===114||n===87)return!0}}return!1}function Pd(o,e,t){if(!t)return new Vm(o,null);const i=[];for(let n=0,s=e.length;n>0);t[s]>=e?n=s-1:t[s+1]>=e?(i=s,n=s):i=s+1}return i+1}}class Qb{static findMatches(e,t,i,n,s){const r=t.parseSearchRequest();return r?r.regex.multiline?this._doFindMatchesMultiline(e,i,new Yu(r.wordSeparators,r.regex),n,s):this._doFindMatchesLineByLine(e,i,r,n,s):[]}static _getMultilineMatchRange(e,t,i,n,s,r){let a,l=0;n?(l=n.findLineFeedCountBeforeOffset(s),a=t+s+l):a=t+s;let c;if(n){const g=n.findLineFeedCountBeforeOffset(s+r.length)-l;c=a+r.length+g}else c=a+r.length;const d=e.getPositionAt(a),h=e.getPositionAt(c);return new y(d.lineNumber,d.column,h.lineNumber,h.column)}static _doFindMatchesMultiline(e,t,i,n,s){const r=e.getOffsetAt(t.getStartPosition()),a=e.getValueInRange(t,1),l=e.getEOL()===`\r `?new HM(a):null,c=[];let d=0,h;for(i.reset(0);h=i.next(a);)if(c[d++]=Pd(this._getMultilineMatchRange(e,r,a,l,h.index,h[0]),h,n),d>=s)return c;return c}static _doFindMatchesLineByLine(e,t,i,n,s){const r=[];let a=0;if(t.startLineNumber===t.endLineNumber){const c=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return a=this._findMatchesInLine(i,c,t.startLineNumber,t.startColumn-1,a,r,n,s),r}const l=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);a=this._findMatchesInLine(i,l,t.startLineNumber,t.startColumn-1,a,r,n,s);for(let c=t.startLineNumber+1;c=l))return s;return s}const d=new Yu(e.wordSeparators,e.regex);let h;d.reset(0);do if(h=d.next(t),h&&(r[s++]=Pd(new y(i,h.index+1+n,i,h.index+1+h[0].length+n),h,a),s>=l))return s;while(h);return s}static findNextMatch(e,t,i,n){const s=t.parseSearchRequest();if(!s)return null;const r=new Yu(s.wordSeparators,s.regex);return s.regex.multiline?this._doFindNextMatchMultiline(e,i,r,n):this._doFindNextMatchLineByLine(e,i,r,n)}static _doFindNextMatchMultiline(e,t,i,n){const s=new W(t.lineNumber,1),r=e.getOffsetAt(s),a=e.getLineCount(),l=e.getValueInRange(new y(s.lineNumber,s.column,a,e.getLineMaxColumn(a)),1),c=e.getEOL()===`\r `?new HM(l):null;i.reset(t.column-1);const d=i.next(l);return d?Pd(this._getMultilineMatchRange(e,r,l,c,d.index,d[0]),d,n):t.lineNumber!==1||t.column!==1?this._doFindNextMatchMultiline(e,new W(1,1),i,n):null}static _doFindNextMatchLineByLine(e,t,i,n){const s=e.getLineCount(),r=t.lineNumber,a=e.getLineContent(r),l=this._findFirstMatchInLine(i,a,r,t.column,n);if(l)return l;for(let c=1;c<=s;c++){const d=(r+c-1)%s,h=e.getLineContent(d+1),u=this._findFirstMatchInLine(i,h,d+1,1,n);if(u)return u}return null}static _findFirstMatchInLine(e,t,i,n,s){e.reset(n-1);const r=e.next(t);return r?Pd(new y(i,r.index+1,i,r.index+1+r[0].length),r,s):null}static findPreviousMatch(e,t,i,n){const s=t.parseSearchRequest();if(!s)return null;const r=new Yu(s.wordSeparators,s.regex);return s.regex.multiline?this._doFindPreviousMatchMultiline(e,i,r,n):this._doFindPreviousMatchLineByLine(e,i,r,n)}static _doFindPreviousMatchMultiline(e,t,i,n){const s=this._doFindMatchesMultiline(e,new y(1,1,t.lineNumber,t.column),i,n,10*rU);if(s.length>0)return s[s.length-1];const r=e.getLineCount();return t.lineNumber!==r||t.column!==e.getLineMaxColumn(r)?this._doFindPreviousMatchMultiline(e,new W(r,e.getLineMaxColumn(r)),i,n):null}static _doFindPreviousMatchLineByLine(e,t,i,n){const s=e.getLineCount(),r=t.lineNumber,a=e.getLineContent(r).substring(0,t.column-1),l=this._findLastMatchInLine(i,a,r,n);if(l)return l;for(let c=1;c<=s;c++){const d=(s+r-c-1)%s,h=e.getLineContent(d+1),u=this._findLastMatchInLine(i,h,d+1,n);if(u)return u}return null}static _findLastMatchInLine(e,t,i,n){let s=null,r;for(e.reset(0);r=e.next(t);)s=Pd(new y(i,r.index+1,i,r.index+1+r[0].length),r,n);return s}}function lU(o,e,t,i,n){if(i===0)return!0;const s=e.charCodeAt(i-1);if(o.get(s)!==0||s===13||s===10)return!0;if(n>0){const r=e.charCodeAt(i);if(o.get(r)!==0)return!0}return!1}function cU(o,e,t,i,n){if(i+n===t)return!0;const s=e.charCodeAt(i+n);if(o.get(s)!==0||s===13||s===10)return!0;if(n>0){const r=e.charCodeAt(i+n-1);if(o.get(r)!==0)return!0}return!1}function yT(o,e,t,i,n){return lU(o,e,t,i,n)&&cU(o,e,t,i,n)}class Yu{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===t||(i=this._searchRegex.exec(e),!i))return null;const n=i.index,s=i[0].length;if(n===this._prevMatchStartIndex&&s===this._prevMatchLength){if(s===0){nC(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=n,this._prevMatchLength=s,!this._wordSeparators||yT(this._wordSeparators,e,t,n,s))return i}while(i);return null}}class LT{static computeUnicodeHighlights(e,t,i){const n=i?i.startLineNumber:1,s=i?i.endLineNumber:e.getLineCount(),r=new zM(t),a=r.getCandidateCodePoints();let l;a==="allNonBasicAscii"?l=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):l=new RegExp(`${dU(Array.from(a))}`,"g");const c=new Yu(null,l),d=[];let h=!1,u,g=0,p=0,m=0;e:for(let _=n,v=s;_<=v;_++){const b=e.getLineContent(_),C=b.length;c.reset(0);do if(u=c.next(b),u){let w=u.index,L=u.index+u[0].length;if(w>0){const k=b.charCodeAt(w-1);Ei(k)&&w--}if(L+1=k){h=!0;break e}d.push(new y(_,w+1,_,L+1))}}while(u)}return{ranges:d,hasMore:h,ambiguousCharacterCount:g,invisibleCharacterCount:p,nonBasicAsciiCharacterCount:m}}static computeUnicodeHighlightReason(e,t){const i=new zM(t);switch(i.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const s=e.codePointAt(0),r=i.ambiguousCharacters.getPrimaryConfusable(s),a=$o.getLocales().filter(l=>!$o.getInstance(new Set([...t.allowedLocales,l])).isAmbiguous(s));return{kind:0,confusableWith:String.fromCodePoint(r),notAmbiguousInLocales:a}}case 1:return{kind:2}}}}function dU(o,e){return`[${Ks(o.map(i=>String.fromCodePoint(i)).join(""))}]`}class zM{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=$o.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of _a.codePoints)UM(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const i=e.codePointAt(0);if(this.allowedCodePoints.has(i))return 0;if(this.options.nonBasicASCII)return 1;let n=!1,s=!1;if(t)for(const r of t){const a=r.codePointAt(0),l=ob(r);n=n||l,!l&&!this.ambiguousCharacters.isAmbiguous(a)&&!_a.isInvisibleCharacter(a)&&(s=!0)}return!n&&s?0:this.options.invisibleCharacters&&!UM(e)&&_a.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(i)?3:0}}function UM(o){return o===" "||o===` `||o===" "}class JF{constructor(e,t){this.changes=e,this.hitTimeout=t}}class Yg{constructor(e,t,i){this.originalRange=e,this.modifiedRange=t,this.innerChanges=i}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}}class cw{constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}}let co=class Ep{static joinMany(e){if(e.length===0)return[];let t=e[0];for(let i=1;i=a.startLineNumber?r=new Ep(r.startLineNumber,Math.max(r.endLineNumberExclusive,a.endLineNumberExclusive)):(i.push(r),r=a)}return r!==null&&i.push(r),i}constructor(e,t){if(e>t)throw new Ma(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&enew cw(new y(g.originalStartLineNumber,g.originalStartColumn,g.originalEndLineNumber,g.originalEndColumn),new y(g.modifiedStartLineNumber,g.modifiedStartColumn,g.modifiedEndLineNumber,g.modifiedEndColumn))));l&&(l.modifiedRange.endLineNumberExclusive===u.modifiedRange.startLineNumber||l.originalRange.endLineNumberExclusive===u.originalRange.startLineNumber)&&(u=new Yg(l.originalRange.join(u.originalRange),l.modifiedRange.join(u.modifiedRange),l.innerChanges&&u.innerChanges?l.innerChanges.concat(u.innerChanges):void 0),a.pop()),a.push(u),l=u}return _T(()=>NF(a,(c,d)=>d.originalRange.startLineNumber-c.originalRange.endLineNumberExclusive===d.modifiedRange.startLineNumber-c.modifiedRange.endLineNumberExclusive&&c.originalRange.endLineNumberExclusive(e===10?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return e===-1?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),this._charCodes[e]===10?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return e===-1?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),this._charCodes[e]===10?1:this._columns[e]+1)}}class Sg{constructor(e,t,i,n,s,r,a,l){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=i,this.originalEndColumn=n,this.modifiedStartLineNumber=s,this.modifiedStartColumn=r,this.modifiedEndLineNumber=a,this.modifiedEndColumn=l}static createFromDiffChange(e,t,i){const n=t.getStartLineNumber(e.originalStart),s=t.getStartColumn(e.originalStart),r=t.getEndLineNumber(e.originalStart+e.originalLength-1),a=t.getEndColumn(e.originalStart+e.originalLength-1),l=i.getStartLineNumber(e.modifiedStart),c=i.getStartColumn(e.modifiedStart),d=i.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),h=i.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new Sg(n,s,r,a,l,c,d,h)}}function fU(o){if(o.length<=1)return o;const e=[o[0]];let t=e[0];for(let i=1,n=o.length;i0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&s()){const g=i.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),p=n.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(g.getElements().length>0&&p.getElements().length>0){let m=e5(g,p,s,!0).changes;a&&(m=fU(m)),u=[];for(let _=0,v=m.length;_1&&m>1;){const _=u.charCodeAt(p-2),v=g.charCodeAt(m-2);if(_!==v)break;p--,m--}(p>1||m>1)&&this._pushTrimWhitespaceCharChange(n,s+1,1,p,r+1,1,m)}{let p=Sx(u,1),m=Sx(g,1);const _=u.length+1,v=g.length+1;for(;p<_&&m!0;const e=Date.now();return()=>Date.now()-et))return new ti(e,t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new Ma(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new ti(this.start+e,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}containsRange(e){return this.start<=e.start&&e.endExclusive<=this.endExclusive}join(e){return new ti(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const t=Math.max(this.start,e.start),i=Math.min(this.endExclusive,e.endExclusive);if(t<=i)return new ti(t,i)}}class Cl{static trivial(e,t){return new Cl([new jo(new ti(0,e.length),new ti(0,t.length))],!1)}static trivialTimedOut(e,t){return new Cl([new jo(new ti(0,e.length),new ti(0,t.length))],!0)}constructor(e,t){this.diffs=e,this.hitTimeout=t}}class jo{constructor(e,t){this.seq1Range=e,this.seq2Range=t}reverse(){return new jo(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new jo(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}}class Hm{isValid(){return!0}}Hm.instance=new Hm;class mU{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new Ma("timeout must be positive")}isValid(){if(!(Date.now()-this.startTime0&&m>0&&r.get(p-1,m-1)===3&&(b+=a.get(p-1,m-1)),b+=n?n(p,m):1):b=-1;const C=Math.max(_,v,b);if(C===b){const w=p>0&&m>0?a.get(p-1,m-1):0;a.set(p,m,w+1),r.set(p,m,3)}else C===_?(a.set(p,m,0),r.set(p,m,1)):C===v&&(a.set(p,m,0),r.set(p,m,2));s.set(p,m,C)}const l=[];let c=e.length,d=t.length;function h(p,m){(p+1!==c||m+1!==d)&&l.push(new jo(new ti(p+1,c),new ti(m+1,d))),c=p,d=m}let u=e.length-1,g=t.length-1;for(;u>=0&&g>=0;)r.get(u,g)===3?(h(u,g),u--,g--):r.get(u,g)===1?u--:g--;return h(-1,-1),l.reverse(),new Cl(l,!1)}}function KM(o,e,t){let i=t;return i=vU(o,e,i),i=CU(o,e,i),i}function bU(o,e,t){const i=[];for(const n of t){const s=i[i.length-1];if(!s){i.push(n);continue}n.seq1Range.start-s.seq1Range.endExclusive<=2||n.seq2Range.start-s.seq2Range.endExclusive<=2?i[i.length-1]=new jo(s.seq1Range.join(n.seq1Range),s.seq2Range.join(n.seq2Range)):i.push(n)}return i}function vU(o,e,t){const i=[];t.length>0&&i.push(t[0]);for(let n=1;n0?t[i-1].seq2Range.endExclusive:-1,r=i+10?t[i-1].seq1Range.endExclusive:-1,r=i+1n&&t.getElement(o.seq2Range.start-r)===t.getElement(o.seq2Range.endExclusive-r)&&r<20;)r++;r--;let a=0;for(;o.seq2Range.start+ac&&(c=p,l=d)}return l!==0?new jo(o.seq1Range.delta(l),o.seq2Range.delta(l)):o}class wU{compute(e,t,i=Hm.instance){if(e.length===0||t.length===0)return Cl.trivial(e,t);function n(g,p){for(;g=this.negativeArr.length){const i=this.negativeArr;this.negativeArr=new Int32Array(i.length*2),this.negativeArr.set(i)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const i=this.positiveArr;this.positiveArr=new Int32Array(i.length*2),this.positiveArr.set(i)}this.positiveArr[e]=t}}}class yU{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}class LU{constructor(){this.dynamicProgrammingDiffing=new _U,this.myersDiffingAlgorithm=new wU}computeDiff(e,t,i){const n=i.maxComputationTimeMs===0?Hm.instance:new mU(i.maxComputationTimeMs),s=!i.ignoreTrimWhitespace,r=new Map;function a(w){let L=r.get(w);return L===void 0&&(L=r.size,r.set(w,L)),L}const l=e.map(w=>a(w.trim())),c=t.map(w=>a(w.trim())),d=new ZM(l,e),h=new ZM(c,t),u=(()=>d.length+h.length<1500?this.dynamicProgrammingDiffing.compute(d,h,n,(w,L)=>e[w]===t[L]?t[L].length===0?.1:1+Math.log(1+t[L].length):.99):this.myersDiffingAlgorithm.compute(d,h))();let g=u.diffs,p=u.hitTimeout;g=KM(d,h,g);const m=[],_=w=>{if(s)for(let L=0;Lw.seq1Range.start-v===w.seq2Range.start-b);const L=w.seq1Range.start-v;_(L),v=w.seq1Range.endExclusive,b=w.seq2Range.endExclusive;const E=this.refineDiff(e,t,w,n,s);E.hitTimeout&&(p=!0);for(const D of E.mappings)m.push(D)}_(e.length-v);const C=kU(m,e,t);return new JF(C,p)}refineDiff(e,t,i,n,s){const r=new XM(e,i.seq1Range,s),a=new XM(t,i.seq2Range,s),l=r.length+a.length<500?this.dynamicProgrammingDiffing.compute(r,a,n):this.myersDiffingAlgorithm.compute(r,a,n);let c=l.diffs;return c=KM(r,a,c),c=DU(r,a,c),c=bU(r,a,c),{mappings:c.map(h=>new cw(r.translateRange(h.seq1Range),a.translateRange(h.seq2Range))),hitTimeout:l.hitTimeout}}}function DU(o,e,t){const i=[];let n;function s(){if(!n)return;const a=n.s1Range.length-n.deleted;n.s2Range.length-n.added,Math.max(n.deleted,n.added)+(n.count-1)>a&&i.push(new jo(n.s1Range,n.s2Range)),n=void 0}for(const a of t){let l=function(g,p){var m,_,v,b;if(!n||!n.s1Range.containsRange(g)||!n.s2Range.containsRange(p))if(n&&!(n.s1Range.endExclusive0||e.length>0;){const i=o[0],n=e[0];let s;i&&(!n||i.seq1Range.start0&&t[t.length-1].seq1Range.endExclusive>=s.seq1Range.start?t[t.length-1]=t[t.length-1].join(s):t.push(s)}return t}function kU(o,e,t){const i=[];for(const n of EU(o.map(s=>IU(s,e,t)),(s,r)=>s.originalRange.overlapOrTouch(r.originalRange)||s.modifiedRange.overlapOrTouch(r.modifiedRange))){const s=n[0],r=n[n.length-1];i.push(new Yg(s.originalRange.join(r.originalRange),s.modifiedRange.join(r.modifiedRange),n.map(a=>a.innerChanges[0])))}return _T(()=>NF(i,(n,s)=>s.originalRange.startLineNumber-n.originalRange.endLineNumberExclusive===s.modifiedRange.startLineNumber-n.modifiedRange.endLineNumberExclusive&&n.originalRange.endLineNumberExclusive=t[o.modifiedRange.startLineNumber-1].length&&o.originalRange.startColumn-1>=e[o.originalRange.startLineNumber-1].length&&(i=1),o.modifiedRange.endColumn===1&&o.originalRange.endColumn===1&&o.originalRange.startLineNumber+i<=o.originalRange.endLineNumber&&o.modifiedRange.startLineNumber+i<=o.modifiedRange.endLineNumber&&(n=-1);const s=new co(o.originalRange.startLineNumber+i,o.originalRange.endLineNumber+1+n),r=new co(o.modifiedRange.startLineNumber+i,o.modifiedRange.endLineNumber+1+n);return new Yg(s,r,[o])}function*EU(o,e){let t,i;for(const n of o)i!==void 0&&e(i,n)?t.push(n):(t&&(yield t),t=[n]),i=n;t&&(yield t)}class ZM{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){const t=e===0?0:YM(this.lines[e-1]),i=e===this.lines.length?0:YM(this.lines[e]);return 1e3-(t+i)}}function YM(o){let e=0;for(;e0&&t.endExclusive>=e.length&&(t=new ti(t.start-1,t.endExclusive),n=!0),this.lineRange=t;for(let s=this.lineRange.start;sString.fromCharCode(e)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=JM(e>0?this.elements[e-1]:-1),i=JM(ee?i=s:t=s+1}const n=t===0?0:this.firstCharOffsetByLineMinusOne[t-1];return new W(this.lineRange.start+t+1,e-n+1+this.offsetByLine[t])}translateRange(e){return y.fromPositions(this.translateOffset(e.start),this.translateOffset(e.endExclusive))}findWordContaining(e){if(e<0||e>=this.elements.length||!uy(this.elements[e]))return;let t=e;for(;t>0&&uy(this.elements[t-1]);)t--;let i=e;for(;i=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57}const TU={[0]:0,[1]:0,[2]:0,[3]:10,[4]:2,[5]:3,[6]:10,[7]:10};function QM(o){return TU[o]}function JM(o){return o===10?7:o===13?6:NU(o)?5:o>=97&&o<=122?0:o>=65&&o<=90?1:o>=48&&o<=57?2:o===-1?3:4}function NU(o){return o===32||o===9}const eA={smart:new uU,experimental:new LU};var bd=globalThis&&globalThis.__awaiter||function(o,e,t,i){function n(s){return s instanceof t?s:new t(function(r){r(s)})}return new(t||(t=Promise))(function(s,r){function a(d){try{c(i.next(d))}catch(h){r(h)}}function l(d){try{c(i.throw(d))}catch(h){r(h)}}function c(d){d.done?s(d.value):n(d.value).then(a,l)}c((i=i.apply(o,e||[])).next())})};class MU extends Qz{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(e){return this._lines[e-1]}getWordAtPosition(e,t){const i=Mm(e.column,q4(t),this._lines[e.lineNumber-1],0);return i?new y(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn):null}words(e){const t=this._lines,i=this._wordenize.bind(this);let n=0,s="",r=0,a=[];return{*[Symbol.iterator](){for(;;)if(rthis._lines.length)t=this._lines.length,i=this._lines[t-1].length+1,n=!0;else{const s=this._lines[t-1].length+1;i<1?(i=1,n=!0):i>s&&(i=s,n=!0)}return n?{lineNumber:t,column:i}:e}}class Sc{constructor(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){const e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}acceptNewModel(e){this._models[e.url]=new MU(ve.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}computeUnicodeHighlights(e,t,i){return bd(this,void 0,void 0,function*(){const n=this._getModel(e);return n?LT.computeUnicodeHighlights(n,t,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(e,t,i,n){return bd(this,void 0,void 0,function*(){const s=this._getModel(e),r=this._getModel(t);return!s||!r?null:Sc.computeDiff(s,r,i,n)})}static computeDiff(e,t,i,n){const s=n==="experimental"?eA.experimental:eA.smart,r=e.getLinesContent(),a=t.getLinesContent(),l=s.computeDiff(r,a,i);return{identical:l.changes.length>0?!1:this._modelsAreIdentical(e,t),quitEarly:l.hitTimeout,changes:l.changes.map(d=>{var h;return[d.originalRange.startLineNumber,d.originalRange.endLineNumberExclusive,d.modifiedRange.startLineNumber,d.modifiedRange.endLineNumberExclusive,(h=d.innerChanges)===null||h===void 0?void 0:h.map(u=>[u.originalRange.startLineNumber,u.originalRange.startColumn,u.originalRange.endLineNumber,u.originalRange.endColumn,u.modifiedRange.startLineNumber,u.modifiedRange.startColumn,u.modifiedRange.endLineNumber,u.modifiedRange.endColumn])]})}}static _modelsAreIdentical(e,t){const i=e.getLineCount(),n=t.getLineCount();if(i!==n)return!1;for(let s=1;s<=i;s++){const r=e.getLineContent(s),a=t.getLineContent(s);if(r!==a)return!1}return!0}computeMoreMinimalEdits(e,t,i){return bd(this,void 0,void 0,function*(){const n=this._getModel(e);if(!n)return t;const s=[];let r;t=t.slice(0).sort((a,l)=>{if(a.range&&l.range)return y.compareRangesUsingStarts(a.range,l.range);const c=a.range?0:1,d=l.range?0:1;return c-d});for(let{range:a,text:l,eol:c}of t){if(typeof c=="number"&&(r=c),y.isEmpty(a)&&!l)continue;const d=n.getValueInRange(a);if(l=l.replace(/\r\n|\n|\r/g,n.eol),d===l)continue;if(Math.max(l.length,d.length)>Sc._diffLimit){s.push({range:a,text:l});continue}const h=Zz(d,l,i),u=n.offsetAt(y.lift(a).getStartPosition());for(const g of h){const p=n.positionAt(u+g.originalStart),m=n.positionAt(u+g.originalStart+g.originalLength),_={text:l.substr(g.modifiedStart,g.modifiedLength),range:{startLineNumber:p.lineNumber,startColumn:p.column,endLineNumber:m.lineNumber,endColumn:m.column}};n.getValueInRange(_.range)!==_.text&&s.push(_)}}return typeof r=="number"&&s.push({eol:r,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),s})}computeLinks(e){return bd(this,void 0,void 0,function*(){const t=this._getModel(e);return t?nU(t):null})}textualSuggest(e,t,i,n){return bd(this,void 0,void 0,function*(){const s=new ss(!0),r=new RegExp(i,n),a=new Set;e:for(const l of e){const c=this._getModel(l);if(c){for(const d of c.words(r))if(!(d===t||!isNaN(Number(d)))&&(a.add(d),a.size>Sc._suggestionsLimit))break e}}return{words:Array.from(a),duration:s.elapsed()}})}computeWordRanges(e,t,i,n){return bd(this,void 0,void 0,function*(){const s=this._getModel(e);if(!s)return Object.create(null);const r=new RegExp(i,n),a=Object.create(null);for(let l=t.startLineNumber;lthis._host.fhr(a,l)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(r,t),Promise.resolve(YE(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(i){return Promise.reject(i)}}}Sc._diffLimit=1e5;Sc._suggestionsLimit=1e4;typeof importScripts=="function"&&(globalThis.monaco=vF());const DT=et("textResourceConfigurationService"),t5=et("textResourcePropertiesService"),yo=et("logService");var wn;(function(o){o[o.Off=0]="Off",o[o.Trace=1]="Trace",o[o.Debug=2]="Debug",o[o.Info=3]="Info",o[o.Warning=4]="Warning",o[o.Error=5]="Error"})(wn||(wn={}));const i5=wn.Info;class n5 extends U{constructor(){super(...arguments),this.level=i5,this._onDidChangeLogLevel=this._register(new P),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return this.level!==wn.Off&&this.level<=e}}class AU extends n5{constructor(e=i5,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.checkLogLevel(wn.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",e,...t):console.log(e,...t))}debug(e,...t){this.checkLogLevel(wn.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",e,...t):console.log(e,...t))}info(e,...t){this.checkLogLevel(wn.Info)&&(this.useColors?console.log("%c INFO","color: #33f",e,...t):console.log(e,...t))}error(e,...t){this.checkLogLevel(wn.Error)&&(this.useColors?console.log("%c ERR","color: #f33",e,...t):console.error(e,...t))}dispose(){}}class RU extends n5{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(const t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(const i of this.loggers)i.trace(e,...t)}debug(e,...t){for(const i of this.loggers)i.debug(e,...t)}info(e,...t){for(const i of this.loggers)i.info(e,...t)}error(e,...t){for(const i of this.loggers)i.error(e,...t)}dispose(){for(const e of this.loggers)e.dispose()}}function PU(o){switch(o){case wn.Trace:return"trace";case wn.Debug:return"debug";case wn.Info:return"info";case wn.Warning:return"warn";case wn.Error:return"error";case wn.Off:return"off"}}new de("logLevel",PU(wn.Info));const he=et("ILanguageFeaturesService");var OU=globalThis&&globalThis.__decorate||function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},sp=globalThis&&globalThis.__param||function(o,e){return function(t,i){e(t,i,o)}},dC=globalThis&&globalThis.__awaiter||function(o,e,t,i){function n(s){return s instanceof t?s:new t(function(r){r(s)})}return new(t||(t=Promise))(function(s,r){function a(d){try{c(i.next(d))}catch(h){r(h)}}function l(d){try{c(i.throw(d))}catch(h){r(h)}}function c(d){d.done?s(d.value):n(d.value).then(a,l)}c((i=i.apply(o,e||[])).next())})};const tA=60*1e3,iA=5*60*1e3;function Od(o,e){const t=o.getModel(e);return!(!t||t.isTooLargeForSyncing())}let yx=class extends U{constructor(e,t,i,n,s){super(),this._modelService=e,this._workerManager=this._register(new BU(this._modelService,n)),this._logService=i,this._register(s.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:(r,a)=>Od(this._modelService,r.uri)?this._workerManager.withWorker().then(l=>l.computeLinks(r.uri)).then(l=>l&&{links:l}):Promise.resolve({links:[]})})),this._register(s.completionProvider.register("*",new FU(this._workerManager,t,this._modelService,n)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return Od(this._modelService,e)}computedUnicodeHighlights(e,t,i){return this._workerManager.withWorker().then(n=>n.computedUnicodeHighlights(e,t,i))}computeDiff(e,t,i,n){return dC(this,void 0,void 0,function*(){const s=yield this._workerManager.withWorker().then(a=>a.computeDiff(e,t,i,n));return s?{identical:s.identical,quitEarly:s.quitEarly,changes:s.changes.map(a=>{var l;return new Yg(new co(a[0],a[1]),new co(a[2],a[3]),(l=a[4])===null||l===void 0?void 0:l.map(c=>new cw(new y(c[0],c[1],c[2],c[3]),new y(c[4],c[5],c[6],c[7]))))})}:null})}computeMoreMinimalEdits(e,t,i=!1){if(yn(t)){if(!Od(this._modelService,e))return Promise.resolve(t);const n=ss.create(!0),s=this._workerManager.withWorker().then(r=>r.computeMoreMinimalEdits(e,t,i));return s.finally(()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),n.elapsed())),Promise.race([s,Fc(1e3).then(()=>t)])}else return Promise.resolve(void 0)}canNavigateValueSet(e){return Od(this._modelService,e)}navigateValueSet(e,t,i){return this._workerManager.withWorker().then(n=>n.navigateValueSet(e,t,i))}canComputeWordRanges(e){return Od(this._modelService,e)}computeWordRanges(e,t){return this._workerManager.withWorker().then(i=>i.computeWordRanges(e,t))}};yx=OU([sp(0,Zt),sp(1,DT),sp(2,yo),sp(3,zt),sp(4,he)],yx);class FU{constructor(e,t,i,n){this.languageConfigurationService=n,this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=i}provideCompletionItems(e,t){return dC(this,void 0,void 0,function*(){const i=this._configurationService.getValue(e.uri,t,"editor");if(!i.wordBasedSuggestions)return;const n=[];if(i.wordBasedSuggestionsMode==="currentDocument")Od(this._modelService,e.uri)&&n.push(e.uri);else for(const h of this._modelService.getModels())Od(this._modelService,h.uri)&&(h===e?n.unshift(h.uri):(i.wordBasedSuggestionsMode==="allDocuments"||h.getLanguageId()===e.getLanguageId())&&n.push(h.uri));if(n.length===0)return;const s=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),r=e.getWordAtPosition(t),a=r?new y(t.lineNumber,r.startColumn,t.lineNumber,r.endColumn):y.fromPositions(t),l=a.setEndPosition(t.lineNumber,t.column),d=yield(yield this._workerManager.withWorker()).textualSuggest(n,r==null?void 0:r.word,s);if(d)return{duration:d.duration,suggestions:d.words.map(h=>({kind:18,label:h,insertText:h,range:{insert:l,replace:a}}))}})}}class BU extends U{constructor(e,t){super(),this.languageConfigurationService=t,this._modelService=e,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new cb).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(iA/2)),this._register(this._modelService.onModelRemoved(n=>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>iA&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||(this._editorWorkerClient=new s5(this._modelService,!1,"editorWorkerService",this.languageConfigurationService)),Promise.resolve(this._editorWorkerClient)}}class WU extends U{constructor(e,t,i){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!i){const n=new cb;n.cancelAndSet(()=>this._checkStopModelSync(),Math.round(tA/2)),this._register(n)}}dispose(){for(const e in this._syncedModels)pt(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t){for(const i of e){const n=i.toString();this._syncedModels[n]||this._beginModelSync(i,t),this._syncedModels[n]&&(this._syncedModelsLastUsedTime[n]=new Date().getTime())}}_checkStopModelSync(){const e=new Date().getTime(),t=[];for(const i in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[i]>tA&&t.push(i);for(const i of t)this._stopModelSync(i)}_beginModelSync(e,t){const i=this._modelService.getModel(e);if(!i||!t&&i.isTooLargeForSyncing())return;const n=e.toString();this._proxy.acceptNewModel({url:i.uri.toString(),lines:i.getLinesContent(),EOL:i.getEOL(),versionId:i.getVersionId()});const s=new Z;s.add(i.onDidChangeContent(r=>{this._proxy.acceptModelChanged(n.toString(),r)})),s.add(i.onWillDispose(()=>{this._stopModelSync(n)})),s.add(Oe(()=>{this._proxy.acceptRemovedModel(n)})),this._syncedModels[n]=s}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],pt(t)}}class nA{constructor(e){this._instance=e,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}}class gy{constructor(e){this._workerClient=e}fhr(e,t){return this._workerClient.fhr(e,t)}}class s5 extends U{constructor(e,t,i,n){super(),this.languageConfigurationService=n,this._disposed=!1,this._modelService=e,this._keepIdleModels=t,this._workerFactory=new rw(i),this._worker=null,this._modelManager=null}fhr(e,t){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new Vz(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new gy(this)))}catch(e){vx(e),this._worker=new nA(new Sc(new gy(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,e=>(vx(e),this._worker=new nA(new Sc(new gy(this),null)),this._getOrCreateWorker().getProxyObject()))}_getOrCreateModelManager(e){return this._modelManager||(this._modelManager=this._register(new WU(e,this._modelService,this._keepIdleModels))),this._modelManager}_withSyncedResources(e,t=!1){return dC(this,void 0,void 0,function*(){return this._disposed?Promise.reject(mV()):this._getProxy().then(i=>(this._getOrCreateModelManager(i).ensureSyncedResources(e,t),i))})}computedUnicodeHighlights(e,t,i){return this._withSyncedResources([e]).then(n=>n.computeUnicodeHighlights(e.toString(),t,i))}computeDiff(e,t,i,n){return this._withSyncedResources([e,t],!0).then(s=>s.computeDiff(e.toString(),t.toString(),i,n))}computeMoreMinimalEdits(e,t,i){return this._withSyncedResources([e]).then(n=>n.computeMoreMinimalEdits(e.toString(),t,i))}computeLinks(e){return this._withSyncedResources([e]).then(t=>t.computeLinks(e.toString()))}textualSuggest(e,t,i){return dC(this,void 0,void 0,function*(){const n=yield this._withSyncedResources(e),s=i.source,r=YS(i);return n.textualSuggest(e.map(a=>a.toString()),t,s,r)})}computeWordRanges(e,t){return this._withSyncedResources([e]).then(i=>{const n=this._modelService.getModel(e);if(!n)return Promise.resolve(null);const s=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),r=s.source,a=YS(s);return i.computeWordRanges(e.toString(),t,r,a)})}navigateValueSet(e,t,i){return this._withSyncedResources([e]).then(n=>{const s=this._modelService.getModel(e);if(!s)return null;const r=this.languageConfigurationService.getLanguageConfiguration(s.getLanguageId()).getWordDefinition(),a=r.source,l=YS(r);return n.navigateValueSet(e.toString(),t,i,a,l)})}dispose(){super.dispose(),this._disposed=!0}}function VU(o,e,t){return new HU(o,e,t)}class HU extends s5{constructor(e,t,i){super(e,i.keepIdleModels||!1,i.label,t),this._foreignModuleId=i.moduleId,this._foreignModuleCreateData=i.createData||null,this._foreignModuleHost=i.host||null,this._foreignProxy=null}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!="function")return Promise.reject(new Error("Missing method "+e+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(i){return Promise.reject(i)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then(e=>{const t=this._foreignModuleHost?YE(this._foreignModuleHost):[];return e.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,t).then(i=>{this._foreignModuleCreateData=null;const n=(a,l)=>e.fmr(a,l),s=(a,l)=>function(){const c=Array.prototype.slice.call(arguments,0);return l(a,c)},r={};for(const a of i)r[a]=s(a,n);return r})})),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(e){return this._withSyncedResources(e).then(t=>this.getProxy())}}class dn{static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!==0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let i="mtk"+this.getForeground(e);const n=this.getFontStyle(e);return n&1&&(i+=" mtki"),n&2&&(i+=" mtkb"),n&4&&(i+=" mtku"),n&8&&(i+=" mtks"),i}static getInlineStyleFromMetadata(e,t){const i=this.getForeground(e),n=this.getFontStyle(e);let s=`color: ${t[i]};`;n&1&&(s+="font-style: italic;"),n&2&&(s+="font-weight: bold;");let r="";return n&4&&(r+=" underline"),n&8&&(r+=" line-through"),r&&(s+=`text-decoration:${r};`),s}static getPresentationFromMetadata(e){const t=this.getForeground(e),i=this.getFontStyle(e);return{foreground:t,italic:!!(i&1),bold:!!(i&2),underline:!!(i&4),strikethrough:!!(i&8)}}}class Ti{static createEmpty(e,t){const i=Ti.defaultTokenMetadata,n=new Uint32Array(2);return n[0]=e.length,n[1]=i,new Ti(n,e,t)}constructor(e,t,i){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this._languageIdCodec=i}equals(e){return e instanceof Ti?this.slicedEquals(e,0,this._tokensCount):!1}slicedEquals(e,t,i){if(this._text!==e._text||this._tokensCount!==e._tokensCount)return!1;const n=t<<1,s=n+(i<<1);for(let r=n;r0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[(e<<1)+1]}getLanguageId(e){const t=this._tokens[(e<<1)+1],i=dn.getLanguageId(t);return this._languageIdCodec.decodeLanguageId(i)}getStandardTokenType(e){const t=this._tokens[(e<<1)+1];return dn.getTokenType(t)}getForeground(e){const t=this._tokens[(e<<1)+1];return dn.getForeground(t)}getClassName(e){const t=this._tokens[(e<<1)+1];return dn.getClassNameFromMetadata(t)}getInlineStyle(e,t){const i=this._tokens[(e<<1)+1];return dn.getInlineStyleFromMetadata(i,t)}getPresentation(e){const t=this._tokens[(e<<1)+1];return dn.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return Ti.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,i){return new xT(this,e,t,i)}static convertToEndOffset(e,t){const n=(e.length>>>1)-1;for(let s=0;s>>1)-1;for(;it&&(n=s)}return i}withInserted(e){if(e.length===0)return this;let t=0,i=0,n="";const s=new Array;let r=0;for(;;){const a=tr){n+=this._text.substring(r,l.offset);const c=this._tokens[(t<<1)+1];s.push(n.length,c),r=l.offset}n+=l.text,s.push(n.length,l.tokenMetadata),i++}else break}return new Ti(new Uint32Array(s),n,this._languageIdCodec)}}Ti.defaultTokenMetadata=(0<<11|1<<15|2<<24)>>>0;class xT{constructor(e,t,i,n){this._source=e,this._startOffset=t,this._endOffset=i,this._deltaOffset=n,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this._tokensCount=0;for(let s=this._firstTokenIndex,r=e.getCount();s=i);s++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(e){return e instanceof xT?this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){const t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}class _s{constructor(e,t,i,n){this.startColumn=e,this.endColumn=t,this.className=i,this.type=n,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(e,t){const i=e.length,n=t.length;if(i!==n)return!1;for(let s=0;s=s||(a[l++]=new _s(Math.max(1,c.startColumn-n+1),Math.min(r+1,c.endColumn-n+1),c.className,c.type));return a}static filter(e,t,i,n){if(e.length===0)return[];const s=[];let r=0;for(let a=0,l=e.length;at||d.isEmpty()&&(c.type===0||c.type===3))continue;const h=d.startLineNumber===t?d.startColumn:i,u=d.endLineNumber===t?d.endColumn:n;s[r++]=new _s(h,u,c.inlineClassName,c.type)}return s}static _typeCompare(e,t){const i=[2,0,1,3];return i[e]-i[t]}static compare(e,t){if(e.startColumn!==t.startColumn)return e.startColumn-t.startColumn;if(e.endColumn!==t.endColumn)return e.endColumn-t.endColumn;const i=_s._typeCompare(e.type,t.type);return i!==0?i:e.className!==t.className?e.className0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(n,0,e),this.classNames.splice(n,0,t),this.metadata.splice(n,0,i);break}this.count++}}class zU{static normalize(e,t){if(t.length===0)return[];const i=[],n=new hC;let s=0;for(let r=0,a=t.length;r1){const m=e.charCodeAt(c-2);Ei(m)&&c--}if(d>1){const m=e.charCodeAt(d-2);Ei(m)&&d--}const g=c-1,p=d-2;s=n.consumeLowerThan(g,s,i),n.count===0&&(s=g),n.insert(p,h,u)}return n.consumeLowerThan(1073741824,s,i),i}}class Bi{constructor(e,t,i,n){this.endIndex=e,this.type=t,this.metadata=i,this.containsRTL=n,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}}class o5{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}}class nd{constructor(e,t,i,n,s,r,a,l,c,d,h,u,g,p,m,_,v,b,C){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.continuesWithWrappedLine=n,this.isBasicASCII=s,this.containsRTL=r,this.fauxIndentLength=a,this.lineTokens=l,this.lineDecorations=c.sort(_s.compare),this.tabSize=d,this.startVisibleColumn=h,this.spaceWidth=u,this.stopRenderingLineAfter=m,this.renderWhitespace=_==="all"?4:_==="boundary"?1:_==="selection"?2:_==="trailing"?3:0,this.renderControlCharacters=v,this.fontLigatures=b,this.selectionsOnLine=C&&C.sort((E,D)=>E.startOffset>>16}static getCharIndex(e){return(e&65535)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,i,n){const s=(t<<16|i<<0)>>>0;this._data[e-1]=s,this._horizontalOffset[e-1]=n}getHorizontalOffset(e){return this._horizontalOffset.length===0?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return this.length===0?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(e){const t=this.charOffsetToPartData(e-1),i=Yr.getPartIndex(t),n=Yr.getCharIndex(t);return new kT(i,n)}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(e,t,i){if(this.length===0)return 0;const n=(e<<16|i<<0)>>>0;let s=0,r=this.length-1;for(;s+1>>1,_=this._data[m];if(_===n)return m;_>n?r=m:s=m}if(s===r)return s;const a=this._data[s],l=this._data[r];if(a===n)return s;if(l===n)return r;const c=Yr.getPartIndex(a),d=Yr.getCharIndex(a),h=Yr.getPartIndex(l);let u;c!==h?u=t:u=Yr.getCharIndex(l);const g=i-d,p=u-i;return g<=p?s:r}}class Lx{constructor(e,t,i){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=i}}function db(o,e){if(o.lineContent.length===0){if(o.lineDecorations.length>0){e.appendString("");let t=0,i=0,n=0;for(const r of o.lineDecorations)(r.type===1||r.type===2)&&(e.appendString(''),r.type===1&&(n|=1,t++),r.type===2&&(n|=2,i++));e.appendString("");const s=new Yr(1,t+i);return s.setColumnInfo(1,t,0,0),new Lx(s,!1,n)}return e.appendString(""),new Lx(new Yr(0,0),!1,0)}return XU(jU(o),e)}class UU{constructor(e,t,i,n){this.characterMapping=e,this.html=t,this.containsRTL=i,this.containsForeignElements=n}}function dw(o){const e=new Mf(1e4),t=db(o,e);return new UU(t.characterMapping,e.build(),t.containsRTL,t.containsForeignElements)}class $U{constructor(e,t,i,n,s,r,a,l,c,d,h,u,g,p,m,_){this.fontIsMonospace=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.len=n,this.isOverflowing=s,this.overflowingCharCount=r,this.parts=a,this.containsForeignElements=l,this.fauxIndentLength=c,this.tabSize=d,this.startVisibleColumn=h,this.containsRTL=u,this.spaceWidth=g,this.renderSpaceCharCode=p,this.renderWhitespace=m,this.renderControlCharacters=_}}function jU(o){const e=o.lineContent;let t,i,n;o.stopRenderingLineAfter!==-1&&o.stopRenderingLineAfter0){for(let a=0,l=o.lineDecorations.length;a0&&(s[r++]=new Bi(i,"",0,!1));let a=i;for(let l=0,c=t.getCount();l=n){const g=e?jg(o.substring(a,n)):!1;s[r++]=new Bi(n,h,0,g);break}const u=e?jg(o.substring(a,d)):!1;s[r++]=new Bi(d,h,0,u),a=d}return s}function qU(o,e,t){let i=0;const n=[];let s=0;if(t)for(let r=0,a=e.length;r=50&&(n[s++]=new Bi(g+1,d,h,u),p=g+1,g=-1);p!==c&&(n[s++]=new Bi(c,d,h,u))}else n[s++]=l;i=c}else for(let r=0,a=e.length;r50){const h=l.type,u=l.metadata,g=l.containsRTL,p=Math.ceil(d/50);for(let m=1;m=8234&&o<=8238||o>=8294&&o<=8297||o>=8206&&o<=8207||o===1564}function GU(o,e){const t=[];let i=new Bi(0,"",0,!1),n=0;for(const s of e){const r=s.endIndex;for(;ni.endIndex&&(i=new Bi(n,s.type,s.metadata,s.containsRTL),t.push(i)),i=new Bi(n+1,"mtkcontrol",s.metadata,!1),t.push(i))}n>i.endIndex&&(i=new Bi(r,s.type,s.metadata,s.containsRTL),t.push(i))}return t}function ZU(o,e,t,i){const n=o.continuesWithWrappedLine,s=o.fauxIndentLength,r=o.tabSize,a=o.startVisibleColumn,l=o.useMonospaceOptimizations,c=o.selectionsOnLine,d=o.renderWhitespace===1,h=o.renderWhitespace===3,u=o.renderSpaceWidth!==o.spaceWidth,g=[];let p=0,m=0,_=i[m].type,v=i[m].containsRTL,b=i[m].endIndex;const C=i.length;let w=!1,L=Mn(e),E;L===-1?(w=!0,L=t,E=t):E=Sr(e);let D=!1,x=0,k=c&&c[x],O=a%r;for(let F=s;F=k.endOffset&&(x++,k=c&&c[x]);let ne;if(FE)ne=!0;else if(z===9)ne=!0;else if(z===32)if(d)if(D)ne=!0;else{const ge=F+1F),ne&&h&&(ne=w||F>E),ne&&v&&F>=L&&F<=E&&(ne=!1),D){if(!ne||!l&&O>=r){if(u){const ge=p>0?g[p-1].endIndex:s;for(let De=ge+1;De<=F;De++)g[p++]=new Bi(De,"mtkw",1,!1)}else g[p++]=new Bi(F,"mtkw",1,!1);O=O%r}}else(F===b||ne&&F>s)&&(g[p++]=new Bi(F,_,0,v),O=O%r);for(z===9?O=r:Pc(z)?O+=2:O++,D=ne;F===b&&(m++,m0?e.charCodeAt(t-1):0,z=t>1?e.charCodeAt(t-2):0;F===32&&z!==32&&z!==9||(R=!0)}else R=!0;if(R)if(u){const F=p>0?g[p-1].endIndex:s;for(let z=F+1;z<=t;z++)g[p++]=new Bi(z,"mtkw",1,!1)}else g[p++]=new Bi(t,"mtkw",1,!1);else g[p++]=new Bi(t,_,0,v);return g}function YU(o,e,t,i){i.sort(_s.compare);const n=zU.normalize(o,i),s=n.length;let r=0;const a=[];let l=0,c=0;for(let h=0,u=t.length;hc&&(c=b.startOffset,a[l++]=new Bi(c,m,_,v)),b.endOffset+1<=p)c=b.endOffset+1,a[l++]=new Bi(c,m+" "+b.className,_|b.metadata,v),r++;else{c=p,a[l++]=new Bi(c,m+" "+b.className,_|b.metadata,v);break}}p>c&&(c=p,a[l++]=new Bi(c,m,_,v))}const d=t[t.length-1].endIndex;if(r'):e.appendString("");for(let k=0,O=c.length;k=d&&(Je+=me)}}for(De&&(e.appendString(' style="width:'),e.appendString(String(p*ze)),e.appendString('px"')),e.appendASCIICharCode(62);w1?e.appendCharCode(8594):e.appendCharCode(65515);for(let me=2;me<=Xe;me++)e.appendCharCode(160)}else Je=2,Xe=1,e.appendCharCode(m),e.appendCharCode(8204);E+=Je,D+=Xe,w>=d&&(L+=Xe)}}else for(e.appendASCIICharCode(62);w=d&&(L+=Je)}Re?x++:x=0,w>=r&&!C&&R.isPseudoAfter()&&(C=!0,b.setColumnInfo(w+1,k,E,D)),e.appendString("")}return C||b.setColumnInfo(r+1,c.length-1,E,D),a&&(e.appendString(''),e.appendString(f("showMore","Show more ({0})",JU(l))),e.appendString("")),e.appendString(""),new Lx(b,g,n)}function QU(o){return o.toString(16).toUpperCase().padStart(4,"0")}function JU(o){return o<1024?f("overflow.chars","{0} chars",o):o<1024*1024?`${(o/1024).toFixed(1)} KB`:`${(o/1024/1024).toFixed(1)} MB`}class oA{constructor(e,t,i,n){this._viewportBrand=void 0,this.top=e|0,this.left=t|0,this.width=i|0,this.height=n|0}}class e${constructor(e,t){this.tabSize=e,this.data=t}}class IT{constructor(e,t,i,n,s,r,a){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=i,this.maxColumn=n,this.startVisibleColumn=s,this.tokens=r,this.inlineDecorations=a}}class Gs{constructor(e,t,i,n,s,r,a,l,c,d){this.minColumn=e,this.maxColumn=t,this.content=i,this.continuesWithWrappedLine=n,this.isBasicASCII=Gs.isBasicASCII(i,r),this.containsRTL=Gs.containsRTL(i,this.isBasicASCII,s),this.tokens=a,this.inlineDecorations=l,this.tabSize=c,this.startVisibleColumn=d}static isBasicASCII(e,t){return t?ob(e):!0}static containsRTL(e,t,i){return!t&&i?jg(e):!1}}class nm{constructor(e,t,i){this.range=e,this.inlineClassName=t,this.type=i}}class t${constructor(e,t,i,n){this.startOffset=e,this.endOffset=t,this.inlineClassName=i,this.inlineClassNameAffectsLetterSpacing=n}toInlineDecoration(e){return new nm(new y(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class a5{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}}class l5{constructor(e,t,i){this.color=e,this.zIndex=t,this.data=i}static cmp(e,t){return e.zIndex===t.zIndex?e.colort.color?1:0:e.zIndex-t.zIndex}}function i$(o){return Array.isArray(o)}function n$(o){return!i$(o)}function c5(o){return typeof o=="string"}function rA(o){return!c5(o)}function Wu(o){return!o}function yc(o,e){return o.ignoreCase&&e?e.toLowerCase():e}function aA(o){return o.replace(/[&<>'"_]/g,"-")}function s$(o,e){console.log(`${o.languageId}: ${e}`)}function Rt(o,e){return new Error(`${o.languageId}: ${e}`)}function ic(o,e,t,i,n){const s=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;let r=null;return e.replace(s,function(a,l,c,d,h,u,g,p,m){return Wu(c)?Wu(d)?!Wu(h)&&h0;){const i=o.tokenizer[t];if(i)return i;const n=t.lastIndexOf(".");n<0?t=null:t=t.substr(0,n)}return null}function o$(o,e){let t=e;for(;t&&t.length>0;){if(o.stateNames[t])return!0;const n=t.lastIndexOf(".");n<0?t=null:t=t.substr(0,n)}return!1}var r$=globalThis&&globalThis.__decorate||function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},a$=globalThis&&globalThis.__param||function(o,e){return function(t,i){e(t,i,o)}};const d5=5;class zm{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new yg(e,t);let i=yg.getStackElementId(e);i.length>0&&(i+="|"),i+=t;let n=this._entries[i];return n||(n=new yg(e,t),this._entries[i]=n,n)}}zm._INSTANCE=new zm(d5);class yg{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t="";for(;e!==null;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(e){return yg._equals(this,e)}push(e){return zm.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return zm.create(this.parent,e)}}class Xu{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new Xu(this.languageId,this.state)}}class nc{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(t!==null)return new sm(e,t);if(e!==null&&e.depth>=this._maxCacheDepth)return new sm(e,t);const i=yg.getStackElementId(e);let n=this._entries[i];return n||(n=new sm(e,null),this._entries[i]=n,n)}}nc._INSTANCE=new nc(d5);class sm{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:nc.create(this.stack,this.embeddedLanguageData)}equals(e){return!(e instanceof sm)||!this.stack.equals(e.stack)?!1:this.embeddedLanguageData===null&&e.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||e.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(e.embeddedLanguageData)}}class l${constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new Rm(e,t,this._languageId)))}nestedLanguageTokenize(e,t,i,n){const s=i.languageId,r=i.state,a=Kt.get(s);if(!a)return this.enterLanguage(s),this.emit(n,""),r;const l=a.tokenize(e,t,r);if(n!==0)for(const c of l.tokens)this._tokens.push(new Rm(c.offset+n,c.type,c.language));else this._tokens=this._tokens.concat(l.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,l.endState}finalize(e){return new sT(this._tokens,e)}}class uC{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){const i=this._theme.match(this._currentLanguageId,t)|1024;this._lastTokenMetadata!==i&&(this._lastTokenMetadata=i,this._tokens.push(e),this._tokens.push(i))}static _merge(e,t,i){const n=e!==null?e.length:0,s=t.length,r=i!==null?i.length:0;if(n===0&&s===0&&r===0)return new Uint32Array(0);if(n===0&&s===0)return i;if(s===0&&r===0)return e;const a=new Uint32Array(n+s+r);e!==null&&a.set(e);for(let l=0;l{if(r)return;let l=!1;for(let c=0,d=a.changedLanguages.length;c{a.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))})}dispose(){this._tokenizationRegistryListener.dispose()}getLoadStatus(){const e=[];for(const t in this._embeddedLanguages){const i=Kt.get(t);if(i){if(i instanceof h5){const n=i.getLoadStatus();n.loaded===!1&&e.push(n.promise)}continue}Kt.isResolved(t)||e.push(Kt.getOrCreate(t))}return e.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(t=>{})}}getInitialState(){const e=zm.create(null,this._lexer.start);return nc.create(e,null)}tokenize(e,t,i){if(e.length>=this._maxTokenizationLineLength)return CT(this._languageId,i);const n=new l$,s=this._tokenize(e,t,i,n);return n.finalize(s)}tokenizeEncoded(e,t,i){if(e.length>=this._maxTokenizationLineLength)return sw(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),i);const n=new uC(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),s=this._tokenize(e,t,i,n);return n.finalize(s)}_tokenize(e,t,i,n){return i.embeddedLanguageData?this._nestedTokenize(e,t,i,0,n):this._myTokenize(e,t,i,0,n)}_findLeavingNestedLanguageOffset(e,t){let i=this._lexer.tokenizer[t.stack.state];if(!i&&(i=Jb(this._lexer,t.stack.state),!i))throw Rt(this._lexer,"tokenizer state is not defined: "+t.stack.state);let n=-1,s=!1;for(const r of i){if(!rA(r.action)||r.action.nextEmbedded!=="@pop")continue;s=!0;let a=r.regex;const l=r.regex.source;if(l.substr(0,4)==="^(?:"&&l.substr(l.length-1,1)===")"){const d=(a.ignoreCase?"i":"")+(a.unicode?"u":"");a=new RegExp(l.substr(4,l.length-5),d)}const c=e.search(a);c===-1||c!==0&&r.matchOnlyAtLineStart||(n===-1||c0&&s.nestedLanguageTokenize(a,!1,i.embeddedLanguageData,n);const l=e.substring(r);return this._myTokenize(l,t,i,n+r,s)}_safeRuleName(e){return e?e.name:"(unknown)"}_myTokenize(e,t,i,n,s){s.enterLanguage(this._languageId);const r=e.length,a=t&&this._lexer.includeLF?e+` `:e,l=a.length;let c=i.embeddedLanguageData,d=i.stack,h=0,u=null,g=!0;for(;g||h=l)break;g=!1;let k=this._lexer.tokenizer[v];if(!k&&(k=Jb(this._lexer,v),!k))throw Rt(this._lexer,"tokenizer state is not defined: "+v);const O=a.substr(h);for(const R of k)if((h===0||!R.matchOnlyAtLineStart)&&(b=O.match(R.regex),b)){C=b[0],w=R.action;break}}if(b||(b=[""],C=""),w||(h=this._lexer.maxStack)throw Rt(this._lexer,"maximum tokenizer stack size reached: ["+d.state+","+d.parent.state+",...]");d=d.push(v)}else if(w.next==="@pop"){if(d.depth<=1)throw Rt(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(L));d=d.pop()}else if(w.next==="@popall")d=d.popall();else{let k=ic(this._lexer,w.next,C,b,v);if(k[0]==="@"&&(k=k.substr(1)),Jb(this._lexer,k))d=d.push(k);else throw Rt(this._lexer,"trying to set a next state '"+k+"' that is undefined in rule: "+this._safeRuleName(L))}}w.log&&typeof w.log=="string"&&s$(this._lexer,this._lexer.languageId+": "+ic(this._lexer,w.log,C,b,v))}if(D===null)throw Rt(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(L));const x=k=>{const O=this._languageService.getLanguageIdByLanguageName(k)||this._languageService.getLanguageIdByMimeType(k)||k,R=this._getNestedEmbeddedLanguageData(O);if(h0)throw Rt(this._lexer,"groups cannot be nested: "+this._safeRuleName(L));if(b.length!==D.length+1)throw Rt(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(L));let k=0;for(let O=1;Oo});class ET{static colorizeElement(e,t,i,n){n=n||{};const s=n.theme||"vs",r=n.mimeType||i.getAttribute("lang")||i.getAttribute("data-lang");if(!r)return console.error("Mode not detected"),Promise.resolve();const a=t.getLanguageIdByMimeType(r)||r;e.setTheme(s);const l=i.firstChild?i.firstChild.nodeValue:"";i.className+=" "+s;const c=d=>{var h;const u=(h=py==null?void 0:py.createHTML(d))!==null&&h!==void 0?h:d;i.innerHTML=u};return this.colorize(t,l||"",a,n).then(c,d=>console.error(d))}static colorize(e,t,i,n){return d$(this,void 0,void 0,function*(){const s=e.languageIdCodec;let r=4;n&&typeof n.tabSize=="number"&&(r=n.tabSize),hT(t)&&(t=t.substr(1));const a=ya(t);if(!e.isRegisteredLanguageId(i))return lA(a,r,s);const l=yield Kt.getOrCreate(i);return l?h$(a,r,l,s):lA(a,r,s)})}static colorizeLine(e,t,i,n,s=4){const r=Gs.isBasicASCII(e,t),a=Gs.containsRTL(e,r,i);return dw(new nd(!1,!0,e,!1,r,a,0,n,[],s,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(e,t,i=4){const n=e.getLineContent(t);e.tokenization.forceTokenization(t);const r=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(n,e.mightContainNonBasicASCII(),e.mightContainRTL(),r,i)}}function h$(o,e,t,i){return new Promise((n,s)=>{const r=()=>{const a=u$(o,e,t,i);if(t instanceof Um){const l=t.getLoadStatus();if(l.loaded===!1){l.promise.then(r,s);return}}n(a)};r()})}function lA(o,e,t){let i=[];const s=new Uint32Array(2);s[0]=0,s[1]=33587200;for(let r=0,a=o.length;r")}return i.join("")}function u$(o,e,t,i){let n=[],s=t.getInitialState();for(let r=0,a=o.length;r"),s=c.endState}return n.join("")}const TT={clipboard:{writeText:Cr||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:Cr||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},keyboard:(()=>Cr||pT()?0:navigator.keyboard||Dl?1:2)(),touch:"ontouchstart"in window||navigator.maxTouchPoints>0,pointerEvents:window.PointerEvent&&("ontouchstart"in window||window.navigator.maxTouchPoints>0||navigator.maxTouchPoints>0)};function Dx(o,e){if(typeof o=="number"){if(o===0)return null;const t=(o&65535)>>>0,i=(o&4294901760)>>>16;return i!==0?new my([e0(t,e),e0(i,e)]):new my([e0(t,e)])}else{const t=[];for(let i=0;i1?t-1:0),n=1;n/gm),O$=kl(/^data-[\-\w.\u00B7-\uFFFF]/),F$=kl(/^aria-[\-\w]+$/),B$=kl(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),W$=kl(/^(?:\w+script|data):/i),V$=kl(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Tp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};function Or(o){if(Array.isArray(o)){for(var e=0,t=Array(o.length);e"u"?null:window},z$=function(e,t){if((typeof e>"u"?"undefined":Tp(e))!=="object"||typeof e.createPolicy!="function")return null;var i=null,n="data-tt-policy-suffix";t.currentScript&&t.currentScript.hasAttribute(n)&&(i=t.currentScript.getAttribute(n));var s="dompurify"+(i?"#"+i:"");try{return e.createPolicy(s,{createHTML:function(a){return a}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}};function g5(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:H$(),e=function(G){return g5(G)};if(e.version="2.3.1",e.removed=[],!o||!o.document||o.document.nodeType!==9)return e.isSupported=!1,e;var t=o.document,i=o.document,n=o.DocumentFragment,s=o.HTMLTemplateElement,r=o.Node,a=o.Element,l=o.NodeFilter,c=o.NamedNodeMap,d=c===void 0?o.NamedNodeMap||o.MozNamedAttrMap:c,h=o.Text,u=o.Comment,g=o.DOMParser,p=o.trustedTypes,m=a.prototype,_=t0(m,"cloneNode"),v=t0(m,"nextSibling"),b=t0(m,"childNodes"),C=t0(m,"parentNode");if(typeof s=="function"){var w=i.createElement("template");w.content&&w.content.ownerDocument&&(i=w.content.ownerDocument)}var L=z$(p,t),E=L&&mu?L.createHTML(""):"",D=i,x=D.implementation,k=D.createNodeIterator,O=D.createDocumentFragment,R=D.getElementsByTagName,F=t.importNode,z={};try{z=vd(i).documentMode?i.documentMode:{}}catch{}var ne={};e.isSupported=typeof C=="function"&&x&&typeof x.createHTMLDocument<"u"&&z!==9;var ge=R$,De=P$,Re=O$,ze=F$,ke=W$,Je=V$,Xe=B$,me=null,we=Ct({},[].concat(Or(fA),Or(_y),Or(by),Or(vy),Or(pA))),yt=null,Ds=Ct({},[].concat(Or(mA),Or(Cy),Or(_A),Or(i0))),$i=null,Qo=null,Wl=!0,gd=!0,Jo=!1,Ke=!1,Vl=!1,Yf=!1,Xf=!1,Hl=!1,pu=!1,Hb=!0,mu=!1,zb=!0,X=!0,j=!1,$={},N=null,A=Ct({},["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"]),V=null,B=Ct({},["audio","video","img","source","image","track"]),Q=null,le=Ct({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ce="http://www.w3.org/1998/Math/MathML",xe="http://www.w3.org/2000/svg",Ue="http://www.w3.org/1999/xhtml",We=Ue,Et=!1,bt=null,Ne=i.createElement("form"),Li=function(G){bt&&bt===G||((!G||(typeof G>"u"?"undefined":Tp(G))!=="object")&&(G={}),G=vd(G),me="ALLOWED_TAGS"in G?Ct({},G.ALLOWED_TAGS):we,yt="ALLOWED_ATTR"in G?Ct({},G.ALLOWED_ATTR):Ds,Q="ADD_URI_SAFE_ATTR"in G?Ct(vd(le),G.ADD_URI_SAFE_ATTR):le,V="ADD_DATA_URI_TAGS"in G?Ct(vd(B),G.ADD_DATA_URI_TAGS):B,N="FORBID_CONTENTS"in G?Ct({},G.FORBID_CONTENTS):A,$i="FORBID_TAGS"in G?Ct({},G.FORBID_TAGS):{},Qo="FORBID_ATTR"in G?Ct({},G.FORBID_ATTR):{},$="USE_PROFILES"in G?G.USE_PROFILES:!1,Wl=G.ALLOW_ARIA_ATTR!==!1,gd=G.ALLOW_DATA_ATTR!==!1,Jo=G.ALLOW_UNKNOWN_PROTOCOLS||!1,Ke=G.SAFE_FOR_TEMPLATES||!1,Vl=G.WHOLE_DOCUMENT||!1,Hl=G.RETURN_DOM||!1,pu=G.RETURN_DOM_FRAGMENT||!1,Hb=G.RETURN_DOM_IMPORT!==!1,mu=G.RETURN_TRUSTED_TYPE||!1,Xf=G.FORCE_BODY||!1,zb=G.SANITIZE_DOM!==!1,X=G.KEEP_CONTENT!==!1,j=G.IN_PLACE||!1,Xe=G.ALLOWED_URI_REGEXP||Xe,We=G.NAMESPACE||Ue,Ke&&(gd=!1),pu&&(Hl=!0),$&&(me=Ct({},[].concat(Or(pA))),yt=[],$.html===!0&&(Ct(me,fA),Ct(yt,mA)),$.svg===!0&&(Ct(me,_y),Ct(yt,Cy),Ct(yt,i0)),$.svgFilters===!0&&(Ct(me,by),Ct(yt,Cy),Ct(yt,i0)),$.mathMl===!0&&(Ct(me,vy),Ct(yt,_A),Ct(yt,i0))),G.ADD_TAGS&&(me===we&&(me=vd(me)),Ct(me,G.ADD_TAGS)),G.ADD_ATTR&&(yt===Ds&&(yt=vd(yt)),Ct(yt,G.ADD_ATTR)),G.ADD_URI_SAFE_ATTR&&Ct(Q,G.ADD_URI_SAFE_ATTR),G.FORBID_CONTENTS&&(N===A&&(N=vd(N)),Ct(N,G.FORBID_CONTENTS)),X&&(me["#text"]=!0),Vl&&Ct(me,["html","head","body"]),me.table&&(Ct(me,["tbody"]),delete $i.tbody),Ss&&Ss(G),bt=G)},Yt=Ct({},["mi","mo","mn","ms","mtext"]),Js=Ct({},["foreignobject","desc","title","annotation-xml"]),ni=Ct({},_y);Ct(ni,by),Ct(ni,M$);var ji=Ct({},vy);Ct(ji,A$);var fd=function(G){var Se=C(G);(!Se||!Se.tagName)&&(Se={namespaceURI:Ue,tagName:"template"});var $e=Td(G.tagName),si=Td(Se.tagName);if(G.namespaceURI===xe)return Se.namespaceURI===Ue?$e==="svg":Se.namespaceURI===Ce?$e==="svg"&&(si==="annotation-xml"||Yt[si]):!!ni[$e];if(G.namespaceURI===Ce)return Se.namespaceURI===Ue?$e==="math":Se.namespaceURI===xe?$e==="math"&&Js[si]:!!ji[$e];if(G.namespaceURI===Ue){if(Se.namespaceURI===xe&&!Js[si]||Se.namespaceURI===Ce&&!Yt[si])return!1;var Gn=Ct({},["title","style","font","a","script"]);return!ji[$e]&&(Gn[$e]||!ni[$e])}return!1},xs=function(G){rp(e.removed,{element:G});try{G.parentNode.removeChild(G)}catch{try{G.outerHTML=E}catch{G.remove()}}},Pr=function(G,Se){try{rp(e.removed,{attribute:Se.getAttributeNode(G),from:Se})}catch{rp(e.removed,{attribute:null,from:Se})}if(Se.removeAttribute(G),G==="is"&&!yt[G])if(Hl||pu)try{xs(Se)}catch{}else try{Se.setAttribute(G,"")}catch{}},zl=function(G){var Se=void 0,$e=void 0;if(Xf)G=""+G;else{var si=uA(G,/^[\r\n\t ]+/);$e=si&&si[0]}var Gn=L?L.createHTML(G):G;if(We===Ue)try{Se=new g().parseFromString(Gn,"text/html")}catch{}if(!Se||!Se.documentElement){Se=x.createDocument(We,"template",null);try{Se.documentElement.innerHTML=Et?"":Gn}catch{}}var Zn=Se.body||Se.documentElement;return G&&$e&&Zn.insertBefore(i.createTextNode($e),Zn.childNodes[0]||null),We===Ue?R.call(Se,Vl?"html":"body")[0]:Vl?Se.documentElement:Zn},pd=function(G){return k.call(G.ownerDocument||G,G,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT,null,!1)},md=function(G){return G instanceof h||G instanceof u?!1:typeof G.nodeName!="string"||typeof G.textContent!="string"||typeof G.removeChild!="function"||!(G.attributes instanceof d)||typeof G.removeAttribute!="function"||typeof G.setAttribute!="function"||typeof G.namespaceURI!="string"||typeof G.insertBefore!="function"},_d=function(G){return(typeof r>"u"?"undefined":Tp(r))==="object"?G instanceof r:G&&(typeof G>"u"?"undefined":Tp(G))==="object"&&typeof G.nodeType=="number"&&typeof G.nodeName=="string"},eo=function(G,Se,$e){ne[G]&&I$(ne[G],function(si){si.call(e,Se,$e,bt)})},Ub=function(G){var Se=void 0;if(eo("beforeSanitizeElements",G,null),md(G)||uA(G.nodeName,/[\u0080-\uFFFF]/))return xs(G),!0;var $e=Td(G.nodeName);if(eo("uponSanitizeElement",G,{tagName:$e,allowedTags:me}),!_d(G.firstElementChild)&&(!_d(G.content)||!_d(G.content.firstElementChild))&&Va(/<[/\w]/g,G.innerHTML)&&Va(/<[/\w]/g,G.textContent)||$e==="select"&&Va(/